I need to archive my app for submission to iTunes Connect.
When archiving, I get:
Code Signing Error: Provisioning profile "XC iOS: *" is Xcode managed, but signing settings require a manually managed profile.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.0'
The two screenshots are taken from the same computer, same workspace.
I can't use "Automatic" because it would change the provisioning profile to a different one, then after uploading to iTunes Connect I would get:
Potential Loss of Keychain Access - The previous version of software has an application-identifier value of ['YBDK7H6MLG.com.ef.english24-7'] and the new version of software being submitted has an application-identifier of ['GEEM4BQ58H.com.ef.english24-7']. This will result in a loss of keychain access.
How do I make a release targeting iOS 11 without losing keychain access?
Thanks to all for helping.
Xcode 9 does not accept Xcode-generated Provisioning Profile (with "XC iOS" in the name). So the solution is to clone the Xcode-generated Provisioning Profile in a new one with a different name.
Ask your Team Agent to make you "Admin" in the team in order to manage provisioning profiles
Create a new Provisioning Profile or Edit an existing one with:
Change the App ID to the one from Xcode:
Change the Certificate to the correct one (not necessarily the latest):
Click Generate
Click Download
Double-click it on your computer
Select it for your signing:
Archive
When exporting, check that your application-identifier and keychain-access-groups are correct:
Xcode 9 insists that the profile is "Xcode generated and doesn't support manual signing" simply because the profile has "XC" in its name.
The key fix here is to rename the profile to a name without "XC" in it.
After renaming the quickest way to use it is: choose your target > General > Signing (scheme name) > select Download Profile..., there select the newly renamed one.
Repeat for all targets where needed. Done.