iOS app resigning refers to re-signing an iOS app, mainly applied in the following scenarios:
2. Relationship Between iOS Resigning and Developer Accounts
iOS resigning is usually done using Xcode, which requires an Apple Developer account or an enterprise certificate for signing.
1)Enterprise Certificate Signing
2)Personal Developer Certificate Signing
Developers can register for an Apple Developer account, which can bind up to 100 iOS/iPad devices.
○If UDT is connected to an iOS version below 15.0, the screen mirroring function will be restricted by Apple's system.
○Resigning the screen mirroring component app is necessary (recommended to use devices with iOS 15.0 or above).
○Scenario 1: If the app is signed with a personal certificate and already bound to the tested device's UDID, resigning is unnecessary.
○Scenario 2: If the app is signed with a personal certificate but not bound to the tested device's UDID, resigning of personal application is required.
○Scenario 3: If the app is signed with an enterprise certificate, resigning is not needed. After installation, go to Settings > General > Profiles to trust the signature.
Important: If an enterprise-signed package is resigned with a personal certificate, it may fail to run.
4. How to Perform iOS Resigning in UDT?
4.1 Preparing a Developer Account and P12 File
Prerequisites: A personal Apple Developer account is required.
Step 1: Generate a New Certificate in Xcode
1. Open Xcode on a Mac.
2. Go to Preferences, log in to a personal developer account.
3. Select "Apple Development" to generate a new certificate.
Step 2: Export the Certificate as a .p12 File
1. Open Keychain Access.
2. Export the newly generated certificate as a .p12 file, ensuring that:
Both the certificate and private key are exported together and remember the password set for the .p12 file during export.
Step 3: Generate and Download the MobileProvision File
1. Log in to the Apple Developer website: Apple Developer
2. Navigate to Certificates, Identifiers & Profiles.
3. We can see that this account has bound to multiple devices.
-There are 6 tabs on the left side, only three of them are useful Certificates: This page mainly shows the certificates bound to the developer account.
-Devices: This page shows the iPhone/iPad devices bound to the Developer Account, this page can also be used to bind iPhone/iPad devices.
-Profiles: This page shows the mobileprovision files bound to the Developer Account.
4. Under Profiles, click the "+" button.
5. Select iOS App Development, then click Continue.
6. Under App ID, choose the default option and click Continue.
7. Click Download to get the mobileprovision file.
4.2 Adding the Certificate in UDT
1. Log in to the UDT Consoleand select a project. UDT site: udt
2. Navigate to iOS App Resigning.
3. Upload the required files:.
-p12 certificate file (input the password set during export).
-MobileProvision file (downloaded from the Apple Developer website).
Note:
4.3 Resigning and Installing on Cloud Devices
On the target device in the test environment, click "Re-Signature" to complete the process.
5. How to Resign Components?
For devices running iOS < 15.0, screen mirroring features are restricted by Apple's system, requiring component resigning.
Steps to Resign Components
1. Find the working directory using the following method:
2. Identify the following files in the directory:
3. Resign these files using a developer account and replace them in the folder.
4. Restart the client application.
Upcoming Improvements:
Future versions will include automated component resigning, removing the need for manual operations. Stay tuned!
Start Your Free Trial on UDT
UDT is a comprehensive mobile testing platform for large-scale automation on a cloud-based device farm, featuring local access tools for efficient device management by development teams. It supports seamless integration with common automated testing frameworks while offering customization services to extend these frameworks according to specific project requirements.
1. Register to get your UDT account
2. Create a new project in your account
3. Contact us to get free real devices in your project
Also, we are glad to have a meeting with you: Schedule a Meeting with Us
Learn more about UDT platform: WeTest-All Test in WeTest
UDT Demo: WeTest-All Test in WeTest