Xcode 8 shows error that provisioning profile doesn't include signing certificate
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.
Introduction
Xcode 8 introduced several improvements and features aimed at enhancing developers' productivity. However, it also brought a number of changes in the code-signing process that may lead to common issues. One frequent error developers encounter is: "Provisioning profile doesn't include signing certificate". This article aims to delve into this error, understand its root causes, and provide solutions.
Understanding Code Signing
What Is Code Signing?
Code signing is a security process that ensures the authenticity and integrity of an application. By signing an app, developers verify they are authorized to distribute the app and that it hasn't been tampered with since it was signed. This is crucial for iOS apps, given Apple's strict App Store policies.
Components Involved
- Provisioning Profile: Contains information about the app ID, certificates, and devices it's authorized to run on.
- Signing Certificate: A digital identity used to sign the app. It's tied to the Apple Developer account.
- App ID: A unique identifier for the application.
- Devices: The list of devices a development provisioning profile permits running the app on.
The Error Described
Message: "Provisioning Profile Doesn't Include Signing Certificate"
This error typically indicates a mismatch between the provisioning profile (used by Xcode) and the signing certificate(s) associated with it. The mismatch might be due to several reasons, including expired certificates, incorrect profiles, or wrong project settings.
Possible Causes and Solutions
1. Expired or Missing Signing Certificate
If the signing certificate expired or was deleted, the provisioning profile would not recognize it.
Solution:
- Check your Developer Portal: Access your Apple Developer account and verify that your certificates are active.
- Renew or create new certificates: Use the Keychain Access on macOS to request new certificates if needed. Ensure you export the private key and store it safely.
- Update the provisioning profile to use the correct certificate.
2. Incorrect Provisioning Profile
The profile might not be associated with the correct certificate.
Solution:
- In Xcode, navigate to
Preferences > Accounts > [Your Account]. - Click on
View Details...and ensure the provisioning profiles listed include the correct certificate. - Refresh the provisioning profiles in the portal and download any updates.
3. Xcode Project Settings
Xcode 8 might have incorrect targets or identity settings configured.
Solution:
- In your Xcode project, go to the
Generaltab for your target. - Ensure the
Teamsetting corresponds with your Apple Developer account. - Check that the
Signing (Debug/Release)sections use the correct provisioning profile and certificate.
4. Device Restrictions
The attached device might be excluded from the current provisioning profile.
Solution:
- Confirm that the device is added to your Developer account.
- Ensure the provisioning profile includes this device.
Example Configuration
Here's a step-by-step example of setting up the correct configuration:
- Create a New App ID if you're starting a new project.
- Generate a New Certificate:
- Use the developer portal to create a new certificate.
- Download and add it to your Keychain Access.
- Create a New Provisioning Profile:
- Choose the new App ID.
- Associate the newly created certificate and include all desired devices.
- Configure Xcode:
- In the
Signing & Capabilitiessection, select the new provisioning profile. - Ensure the team and certificate are correctly set.
Summary Table
Here's a summary of the key factors and solutions:
| Key Issue | Description | Solution Steps |
| Expired Certificate | The signing certificate has expired or is missing. | Renew or recreate the certificate through Keychain. |
| Incorrect Provisioning Profile | Profile does not use the correct certificate. | Update the profile in Xcode and Developer Portal. |
| Xcode Project Misconfiguration | Incorrect targets or identity settings in Xcode. | Verify settings in the Xcode project's General tab. |
| Device Not in Profile | Device is not included in the current provisioning profile. | Add the device to your Developer account and profile. |
Conclusion
While encountering the "Provisioning profile doesn't include signing certificate" error in Xcode 8 can be frustrating, it primarily revolves around ensuring all parts of the code-signing process are in alignment. By understanding code signing's components and following the solutions provided, developers can resolve this error and ensure a smooth app development process.
Related reading
- Xcode 8 the aps-environment entitlement is missing from the app's signature on submit
- Xcode 9 - Fixed Width Constraints May Cause Clipping and Other Localization Warnings
- Xcode 9 error iPhone has denied the launch request
- Xcode 9 GM - WKWebView NSCoding support was broken in previous versions
- Xcode Canvas for SwiftUI previews does not show up
- Xcode Could not launch. Only reports Security as error
- Xcode 9 Module compiled with Swift 3.1 cannot be imported in Swift 4.0
- Xcode 9 Swift Language Version SWIFT_VERSION
.png&w=3840&q=75)
Tackling System Design Interview Problems
A short course that equips you with the skills to approach system design interviews methodically.
Start the free courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.