Dealing with provisioning profiles and certificates can sometimes be a challenging process. Here's three handy tips to help you successfully sign your iOS apps.
1. Save the build configuration in App Center after you've pushed signing changes to your project
In App Center, the build configuration of any branch stores two values of your Xcode project: the CODE_SIGN_STYLE and DEVELOPMENT_TEAM (set in the project.pbxproj file in your .xcodeproj folder). Whenever you change between manual and automatic signing or switch the development team, make sure you save the build configuration on App Center after pushing the changes, or your build will likely fail with a signing error.
2. Easily drag and drop the correct provisioning profile when using automatic signing
In Xcode, in the General tab of your target under Signing, click the info icon next to Xcode Managed Profile. You’ll then see a popover with profile information. Click and drag the “PROV” icon on the top left to a desired location (as shown below).
3. Take note of App Center's currently supported options when using manual and automatic signing
App Center fully supports manual iOS app signing, so you can use any type of profile or certificate. Simply verify that the provisioning profile and certificate you upload to App Center match what you’ve specified in your project, and you’re all set.
If you've enabled automatically manage signing in Xcode, App Center supports app signing with developer certificates and profiles (not with distribution). When uploading to App Center, you’ll need to use the auto-generated provisioning profile from Xcode.
Still running into trouble?
To troubleshoot and get build signing up and running, we suggest the following steps:
Set up manual signing in your Xcode project and make sure it’s working locally.
Once that's verified, commit and push the changes to your repository.
Prepare the provisioning profile and certificate selected in the Xcode target and upload them to the App Center build configuration.
Most importantly: make sure you’ve pushed the latest state of your project before saving the new certificate and profile to the build configuration.