How it works
The resign process is performed on a Mac machine within the Customer's environs.
The Keychain on the signing Mac should include:
- The enterprise certificate used to resign the instrumented application,
- Mobileprovision file matching the enterprise certificate.
Perfecto will provide the user with a script, to run on the Mac machine, that executes the following steps (see diagram above):
step 1: Upload the application file (*.ipa
file) to Perfecto's instrumentation service.
step 2: Download the instrumented application file (*.ipa file) from Perfecto's instrumentation service.
step 3: Resign the instrumented application file with the customer's certificate.
Requirements for the Mac machine
OS - El Capitan or higher
XCode 8.3.3 or later
and above - with "requests" module installed.
To install "requests" module run the following command:
Code Block language bash theme Midnight
pip3 install requests
Open to internet connection
(to access Perfecto services)
Keychain on Mac should contain the required enterprise certificate (no duplicate names- verify only a single entry with this name in the keychain list)
Mobileprovision file matching the enterprise certificate
*.ipa file of the application (which should be instrumented)
Download the Python Script
Run Perfecto's resign script on the Mac machine
Run the script with the Python service.
Code Block language py theme Midnight title Example Script Activation
python3 customInstrumentWrapper.py -i inputIPA.ipa -o outputIPA.ipa -t token.txt -p provision.mobileprovision -c "certificate name" -u LAB.perfectomobile.com -v <labVersionNum> -ih -is
Script name: customInstrumentWrapper.py
- Required Parameters:
-i (IPA) -
Original ipa File to Instrument
-o (OUTPUT_FILE) - Name for the
Instrumented ipa File
-p PROVISIONING_PROFILE - Mobile Provisioning Profile File to use
-c CERTIFICATE_NAME - Name of the Certificate to use, as saved in the Keychain
-t TOKEN - Text file Containing a
Valid Security Token
-u URL - Perfecto Lab URL
-v VERSION - Perfecto Lab Version
Instrumentation Flags, at least one of the following is required:
-ih - Enables Hybrid Instrumentation
-is - Enables Sensors Instrumentation
-ent – (Optional) Entitlements File. Add a prepared
profile in place of the
section generated by the script, based on the information provided.
During execution - the script reports its progress through the steps indicated above.
Upon completion, the fully instrumented and
signed ipa file is generated.
- Using multiple certificates to sign the application is not supported.
- For troubleshooting,