The resign process is performed on a Mac machine within the Customer's environs.
The Keychain on the signing Mac should include:
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.
OS - El Capitan or higher
XCode 8.3.3 or later
Python 3.6 and above - with "requests" module installed.
To install "requests" module run the following command:
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)
Keychain password
Mobileprovision file matching the enterprise certificate
*.ipa file of the application (which should be instrumented)
Go to GitHub to download the Python script: customInstrumentWrapper.py
Run the script with the Python service.
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
-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
Optional Parameters
-ent – (Optional) Entitlements File. Add a prepared entitlements plist profile in place of the generic entitlements 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.