I started updating an older project to build in Xcode 8. I very quickly ran into these error messages:
– <Product_Name> requires a provisioning profile. Select a provisioning profile for the “Debug” build configuration in the project editor. – “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly. – Code signing is required for product type ‘Application’ in SDK ‘iOS 10.0’
The center message was quickly corrected in project “Build Settings” tab by setting “Use Legacy Swift Language Version” to YES.
As I began to work on the signing and provisioning profile messages, this message began to appear:
Provisioning profile “iOS Team Provisioning Profile: <profile_name>” is Xcode managed, but signing settings require a manually managed profile.
I searched for variations on this string, but turned up nothing. (That’s when I knew I needed to write a blog post about it.)
As it turned out, there is a release note about Xcode and manual settings:
The signing system has been rewritten to include a new mode for automatically managing signing assets, in addition to a dedicated manual mode where the profiles for the target must be explicitly selected. When automatically managing signing assets, Xcode will create signing certificates, update app IDs, and create provisioning profiles. For manual mode, only custom created profiles can be selected and Xcode will not modify or create any signing assets.
Xcode now encodes profiles in the target using the PROVISIONING_PROFILE_SPECIFIER build setting. This setting allows specifying both the team ID and the name or identifier of the profile. (23992778)
After searching and trying out different things, I found that having the signing identity set to a specific identity instead of “Automatic” is what required the manual provisioning profile.
But in the end, a StackOverflow article gave me what I really needed: The “General” tab of the project now has entries for signing. If you just set them to “automatic” the signing-related problems cleared up.
Let me know if that helped you.