A tool that helps iOS developers to manage local provisioning profiles. Written in Rust.
-
You need to install Rust Compiler either by downloading from official site or using rustup (which is preferable).
-
You have two options:
- Manual
git clone https://github.com/zummenix/mprovision
cd mprovision
cargo build --release
The result binary will be ./target/release/mprovision
and you can place it in your PATH
.
Alternatively, you can run install.sh
script that runs cargo install
command internally.
- Automatic
cargo install --git https://github.com/zummenix/mprovision
Type mprovision help
in your terminal to see the list of subcommands and options.
Most of subcommands work on ~/Library/MobileDevice/Provisioning Profiles
directory by default but you can specify a
full path using a --source
argument.
It's very simple: mprovision list
- The
list
subcommand accepts an optional argument-t
or--text
that allows you to filter the list of provisioning profiles by some text. - The
remove
subcommand allows you to remove one or more profiles by their uuids or bundle ids.
WARNING: the
remove
subcommand is relatively dangerous since it removes profiles from the system completely.
The show
subcommand followed by uuid of a provisioning profile allows you to see details
in xml format.
The list
subcommand accepts an optional argument -d
or --expire-in-days
followed by a number of days and shows the
list of profiles that will expire. For example the mprovision list -d 0
command will show profiles that have already
been expired.
The clean
subcommand removes expired provisioning profiles.
NOTE: you can see provisioning profiles that will be removed using the
mprovision list -d 0
command.
I expect that main bottleneck will be your machine's disk and cpu. When you run this tool for the first time, performance probably will be not so good as subsequent times.
For comparison, on my machine with ssd and 4 cpu cores I see the following results:
$ time mprovision list -t any
...
Found 4 of 789
mprovision list -t any 1.94s user 0.03s system 667% cpu 0.295 total
As you can see the execution time for almost 1000 profiles is reasonable.
MIT