I've recently upgraded to the RC candidates of macOS 26 and Xcode 26. The app I'm building has a helper tool using SMAppService. When I run the app and helper tool in macOS 15 or macOS 26, all works as expected. When it runs on macOS 13 or 14, which previously worked. The helper now crashes on launch with the following reason:
Termination Reason: CODESIGNING 4 Launch Constraint Violation
I found this developer session which seems to address this, but the plist I've added doesn't seem to satisfy the constraint.
https://developer.apple.com/videos/play/wwdc2023/10266/
Here are the contents of my new plist:
Are there any gotchas here that I might be missing?
Thanks!
Demystify code signing and its importance in app development. Get help troubleshooting code signing issues and ensure your app is properly signed for distribution.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
This post is a ‘child’ of Resolving errSecInternalComponent errors during code signing. If you found your way here directly, I recommend that you start at the top.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Fixing an untrusted code-signing certificate
If your code-signing identity is set up correctly, selecting its certificate in Keychain Access should display a green checkmark with the text “This certificate is valid”. If it does not, you need to fix that before trying to sign code. There are three common causes of an untrusted certificate:
Expired
Missing issuer
Trust settings overrides
Check for an expired certificate
If your code-signing identity’s certificate has expired, Keychain Access shows a red cross with the text “… certificate is expired”. If you try to sign with it, codesign will fail like so:
% codesign -s "Apple Development" -f "MyTrue"
error: The specified item could not be found in the keychain.
If you use security to list your code-signing identities, it will show the CSSMERR_TP_CERT_EXPIRED status:
% security find-identity -p codesigning
Policy: Code Signing
Matching identities
1) 4E587951B705280CBB8086325CD134D4CDA04977 "Apple Development: …" (CSSMERR_TP_CERT_EXPIRED)
1 identities found
Valid identities only
0 valid identities found
The most likely cause of this problem is that… yep… your certificate has expired. To confirm that, select the certificate in Keychain Access and look at the Expires field. Or double click the certificate, expand the Details section, and look at the Not Valid Before and Not Valid After fields.
If your code-signing identity’s certificate has expired, you’ll need to renew it. For information on how to do that, see Developer Account Help.
If your certificate hasn’t expired, check that your Mac’s clock is set correctly.
Check for a missing issuer
In the X.509 public key infrastructure (PKI), every certificate has an issuer, who signed the certificate with their private key. These issuers form a chain of trust from the certificate to a trusted anchor. In most cases the trusted anchor is a root certificate, a certificate that’s self signed. Certificates between the leaf and the root are known as intermediate certificates, or intermediates for short.
Your code-signing identity’s certificate is issued by Apple. The exact chain of trust depends on the type of certificate and the date that it was issued. For example, in 2022 Apple Development certificates are issued by the Apple Worldwide Developer Relations Certification Authority — G3 intermediate, which in turn was issued by the Apple Root CA certificate authority.
If there’s a missing issuer in the chain of trust between your code-signing identity’s certificate and a trusted anchor, Keychain Access shows a red cross with the text “… certificate is not trusted”. If you try to sign with it, codesign will fail like so:
% codesign -s "Apple Development" -f "MyTrue"
MyTrue: replacing existing signature
Warning: unable to build chain to self-signed root for signer "Apple Development: …"
MyTrue: errSecInternalComponent
The message unable to build chain to self-signed root for signer is key.
If you use security to list your identities, it will not show up in the Valid identities only list but there’s no explanation as to why:
% security find-identity -p codesigning
Policy: Code Signing
Matching identities
1) 4E587951B705280CBB8086325CD134D4CDA04977 "Apple Development: …"
1 identities found
Valid identities only
0 valid identities found
IMPORTANT These symptoms can have multiple potential causes. The most common cause is a missing issuer, as discussed in this section. Another potential cause is a trust settings override, as discussed in the next section.
There are steps you can take to investigate this further but, because this problem is most commonly caused by a missing intermediate, try taking a shortcut by assuming that’s the problem. If that fixes things, you’re all set. If not, you have at least ruled out this problem.
Apple publishes its intermediates on the Apple PKI page. The simplest way to resolve this problem is to download all of the certificates in the Apple Intermediate Certificates list and use Keychain Access to add them to your keychain. Having extra intermediates installed is generally not a problem.
If you want to apply a more targeted fix:
In Keychain Access, find your code-signing identity’s certificate and double click it.
If the Details section is collapsed, expand it.
Look at the Issuer Name section. Note the value in the Common Name field and, if present, the Organizational Unit field. For example, for an Apple Development certificate that’s likely to be Apple Worldwide Developer Relations Certification Authority and G3, respectively.
Go to the Apple PKI and download the corresponding intermediate. To continue the above example, the right intermediate is labelled Worldwide Developer Relations - G3.
Use Keychain Access to add the intermediate to your keychain.
Sometimes it’s not obvious which intermediate to choose in step 4. If you’re uncertain, download all the intermediates and preview each one using Quick Look in the Finder. Look in the Subject Name section for a certificate whose Common Name and Organizational Unit field matches the values from step 3.
Finally, double check the chain of trust:
In Keychain Access, select your code-signing identity’s certificate and choose Keychain Access > Certificate Assistant > Evaluate.
In the resulting Certificate Assistant window, make sure that Generic (certificate chain validation only) is selected and click Continue.
It might seem like selecting Code Signing here would make more sense. If you do that, however, things don’t work as you might expect. Specifically, in this case Certificate Assistant is smart enough to temporarily download a missing intermediate certificate in order to resolve the chain of trust, and that’ll prevent you from seeing any problems with your chain of trust.
The resulting UI shows a list of certificates that form the chain of trust. The first item is your code-signing identity’s certificate and the last is an Apple root certificate. Double click the first item.
Keychain Access presents the standard the certificate trust sheet, showing the chain of trust from the root to the leaf. You should expect to see three items in that list:
An Apple root certificate
An Apple intermediate
Your code-signing identity’s certificate
If so, that’s your chain of trust built correctly.
Select each certificate in that list. The UI should show a green checkmark with the text “This certificate is valid”. If you see anything else, check your trust settings as described in the next section.
Check for a trust settings override
macOS allows you to customise trust settings. For example, you might tell the system to trust a particular certificate when verifying a signed email but not when connecting to a TLS server.
The code-signing certificates issued by Apple are trusted by default. They don’t require you to customise any trust settings. Moreover, customising trust settings might cause problems.
If code signing fails with the message unable to build chain to self-signed root for signer, first determine the chain of trust per the previous section then make sure that none of these certificates have customised trust settings. Specifically, for each certificate in the chain:
Find the certificate in Keychain Access.
Note that there may be multiple instances of the certificate in different keychains. If that’s the case, follow these steps for each copy of the certificate.
Double click the certificate to open it in a window.
If the Trust section is collapsed, expand it.
Ensure that all the popups are set to their default values (Use System Defaults for the first, “no value specified” for the rest).
If they are, move on to the next certificate.
If not, set the popups to the default values and close the window. Closing the window may require authentication to save the trust settings.
Another way to explore trust settings is with the dump-trust-settings subcommand of the security tool. On a stock macOS system you should see this:
% security dump-trust-settings
SecTrustSettingsCopyCertificates: No Trust Settings were found.
% security dump-trust-settings -d
SecTrustSettingsCopyCertificates: No Trust Settings were found.
That is, there are no user or admin trust settings overrides. If you run these commands and see custom trust settings, investigate their origins.
IMPORTANT If you’re working in a managed environment, you might see custom trust settings associated with that environment. For example, on my personal Mac I see this:
% security dump-trust-settings -d
Number of trusted certs = 1
Cert 2: QuinnNetCA
Number of trust settings : 10
…
because my home network infrastructure uses a custom certificate authority and I’ve configured my Mac to trust its root certificate (QuinnNetCA). Critically, this custom trust settings are nothing to do with code signing. If you dump trust settings and see an override you can’t explain, and specifically one related to code-signing certificate, use Keychain Access to remove it.
Revision History
2025-09-29 Added information about the dump-trust-settings command to Check for a trust settings override. Made other minor editorial changes.
2022-08-10 First posted.
I am trying to sign a enterprise app with provisioning profile which shows the tap to pay entitlement on Dev portal, but when downloaded on Xcode, it says the profile is missing the tap to pay capability and entitlement
The capability was enabled by apple already, it was working fine until the provisioning profile got renewed.
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Provisioning Profiles
Signing Certificates
Tap to Pay on iPhone
Hi folks,
I'm trying to generate a provisioning profile that includes both Healthkit and MusicKit entitlements.
The healthKit pieces if fine, and included in the profile. However, despite selecting Musickit under services in the ID setup, the entitlement doesn't seem to be included in the profile.
Other steps taken: Setup the app in App Store Connect, generated a media ID and Key. Tried both automatic and manual signing.
Are there specifics tricks to getting this one to work?
I tried building a macOS app with Electron, but I ran into problems during notarization.
I used notarytool to upload my DMG and got status: Invalid.
xcrun notarytool log output
{
"logFormatVersion": 1,
"jobId": "680bf475-a5f4-4675-9083-aa755d492b18",
"status": "Invalid",
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"archiveFilename": "BODYPARK-v3.6.0-mac.app.zip",
"uploadDate": "2025-09-25T02:50:41.523Z",
"sha256": "e61074b9bba6d03696f2d8b0b13870daafc283960e61ab5002d688e4e82ef6f6",
"ticketContents": null,
"issues": [
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature of the binary is invalid.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature does not include a secure timestamp.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087733",
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature of the binary is invalid.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
"architecture": "arm64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature does not include a secure timestamp.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087733",
"architecture": "arm64"
}
]
}
I checked the signature of my .app file:
codesign -v -vvv --deep --strict /Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (GPU).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (GPU).app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Plugin).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Plugin).app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXFFmpeg.framework/Versions/Current/.
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXFFmpeg.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXSoundTouch.framework/Versions/Current/.
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXSoundTouch.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper.app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper.app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Renderer).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Renderer).app
/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac: valid on disk
/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac: satisfies its Designated Requirement
It looks like local signing succeeded, but notarization is failing. I’m a beginner with macOS signing/notarization. Could you please help me figure out what I’m doing wrong and how to fix this? I’d really appreciate any guidance.
The problem is described in full with log output in #16844
We are having an issue with TCC prompting users for access to the app group container despite signing with entitlements following all guidelines.
This is a regression from the Feb 2025 Changes discussed in App Groups: macOS vs iOS: Working Towards Harmony
The problem can only be reproduced with Xcode 16.0 and later.
The entitlements for the app include access for the group container with
[Key] com.apple.security.application-groups
[Value]
[Array]
[String] G69SCX94XU.duck
The documentation notes the group name can be arbitrary, e.g. <team identifier>.<group name>. Cyberduck uses G69SCX94XU.duck by default. Interestingly enough the alert is not shown when a group name matching the bundle identifier is used, e.g. G69SCX94XU.ch.sudo.cyberduck.
Hi, I'm trying to integrate with Tap to Pay feature under Stripe. For this reason i need to add com.apple.developer.proximity-reader.payment.acceptance entitlement to my Identifier. I can see it under Provisioning Profile -> Enabled Capabilities.
But after downloading this profile in Xcode I don't see this entitlement.
What could be the reason for this discrapency?
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Entitlements
Provisioning Profiles
Tap to Pay on iPhone
Hi - appreciate your help in advance!
Building a simple habit tracking app.
I got approval for FamilyControls distribution.
After creating a new provisioning profile with those capabilities enabled, when I try and build in xcode (16.4) using that Profile I get an error stating:
"Provisioning profile "CreateMoreFamilyControlsv2" doesn't include the com.apple.developer.deviceactivity and com.apple.developer.deviceactivity.reporting entitlements"
I've confirmed bundle identifier matches, Team etc
Similarly when i do automatic signing see 3rd screenshot.
Not sure what to do at this point, I've heard deviceActivity is automatically applied when family controls is approved but still running into this issue.
Hi,
I just released a new version of an app that was transferred from another developer account.
The previous version of this app used the App Groups feature to store some important data, and I would like to retrieve that data.
In the new version, I’m using the same bundle identifier and the same App Group ID (which has already been deleted from the original developer account). I also added the App Groups entitlement in the project settings and set the same App Group ID. However, I still cannot access the data in the App Group.
From the documentation and issues I’ve found, it seems that an app should still have permission to access the same App Group after being transferred.
Did I miss something?
Thanks!
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Files and Storage
iOS
Entitlements
Provisioning Profiles
I have two certificates in my Accounts>Manage Certificates section. One is active, the other is greyed out with a status of "Not in Keychain". I only have ONE certificate in the developer account online.
Timeline:
Had an issue with fastlane codesigning and was trying to resolve that. In that attempt I deleted my related Certificates from my keychain
Xcode showed them as disabled (greyed out) and not in Keychain.
Look up how to resolve, need to revoke certificates in Developer account online. I go and revoke those certificates. Nothing changes
I create new certificate and try to add it to xcode>account>certificate managment>"Apple Development". Get an error saying I can't add a new can't do that because a certificate is already pending.
I waited a day because I assumed like somethings with apple, updates are not immediate.
I come back the next day and am able to add a new certificate. However, the previous one that is greyed out and reads "Not in Keychain" under Status, is still there.
How do I remove that "Not in Keychain" certificate? I emailed developer support and they directed me here.
I have certificates in my xcode>settings>account>manage certificates that I cannot get rid of. I know that they are linked to certificates in developer.apple.com but I've removed them from there and they persist in xcode.
I have one that says "Not in Keychain", which is true. I deleted all the keychains related to these accounts in an attempt to fix something.
I also have ones that say things like "Missing Private key"
Our setup is that we have one main account "Company Inc." which I am setup to be an Admin in. I created a certificate under my credentials and added it to my keychain and showed up properly in xcode but I still have the other ones.
HOW DO I REMOVE THEM :sob:
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Developer ID
I tried to create a new IOS provisioning profile and re-apply it to the app using Xcode to build it, but I got into trouble.
The build is good, but it bounces when running the app.
I would appreciate it if you could let me know what to do.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hello,
My project fails to build/run on a physical device or archive, due to a persistent provisioning error.
Exact Error: Provisioning profile "iOS Team Provisioning Profile: com.huiwan.Ohra-Journal" doesn't include the BGTaskSchedulerPermittedIdentifiers entitlement.
I have already performed extensive troubleshooting, and all local configurations appear to be correct:
Capabilities: "Background Modes" with the "Background processing" option is enabled in the target's "Signing & Capabilities" tab.
Info.plist: The Permitted background task scheduler identifiers key is present in the target's Info.plist, and it contains the correct task identifier (com.huiwan.ohra-journal.refresh).
Entitlements File: The .entitlements file is correctly configured by Xcode.
Full Reset: I have tried a complete reset procedure, including deleting ~/Library/Developer/Xcode/DerivedData and ~/Library/MobileDevice/Provisioning Profiles/, restarting Xcode, and letting the automatic signing system regenerate the profile from scratch. The issue persists.
Despite all these correct local settings, the provisioning profile automatically generated by Xcode is consistently missing the required entitlement. This strongly suggests a server-side issue with the provisioning service for my App ID (com.huiwan.Ohra-Journal).
I filed a bug report on the Feedback Assistant (FB20268285) a week ago but have not received a response. This issue is completely blocking my development and ability to submit the app.
Could you please investigate the status of my App ID and the provisioning services associated with it?
Thank you.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode Server
Xcode
Signing Certificates
Developer ID
Hello,
Recently our team requested the "Notification (NSE) filtering" capability. Our request was rejected but we sent a new request with a more detailed explanation of our need.
However if we go check the status of the request in the Capability Requests tab the status is "No requests". We sent the new request yesterday.
Is it even possible to request a capability after a rejected request? We really need the capability and the absence of it is blocking our progress.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
I am a complete novice and I find that I cannot restore or delete the “Apple Development” certificate (I only use it for signing).
From what I understand, you need to be in a program to manage certificates, but I have no intention of distributing any applications and, from my point of view, it makes no sense to pay.
Am I wrong or am I doing something wrong?
Notes:
This happened after I installed Tahoe on a new installation.
I was able to restore it using a copy of the keychains folder I had from Sequoia.
Xcode (Apple Accounts - Manage Certificates) now shows me two certificates, indicating that one is not in the keychain and cannot be deleted.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hello everyone,
I’ve been stuck for weeks on an issue with Family Controls + Device Activity entitlements in my iOS app, and Apple Developer Support has not provided a solution so far. I’m hoping someone here who has successfully implemented Family Controls + Device Activity can point me in the right direction.
About the App
• The app is a Digital Wellbeing app called Breakloop.
• It lets users select apps they want to block, requires them to complete a positive affirmation before opening those apps, and can re-block apps after a set time (e.g., 10 minutes).
• This functionality exactly matches the purpose of Family Controls and Device Activity APIs.
What Works So Far
• Family Controls capability is enabled in the main app target in Xcode.
• We have valid Apple Developer certificates (Apple Development) and a team account.
• The main app builds and runs fine when using Family Controls alone.
• We have App IDs for:
• bl.Breakloop (main app)
• bl.Breakloop.BreakloopMonitorExtension
• bl.Breakloop.BreakloopShieldConfigurationExtension
The Problem
The provisioning profiles for the extension targets (BreakloopMonitorExtension and BreakloopShieldConfigurationExtension) do not include the com.apple.developer.device-activity entitlement even though:
• The App IDs in the Developer Portal have Family Controls (Development) enabled.
• The extensions have the correct entitlements file with both:
com.apple.developer.family-controls
com.apple.developer.device-activity
• Xcode Signing & Capabilities points to the correct provisioning profile + certificate.
Because the provisioning profiles don’t include the entitlement, the build fails with:
Provisioning profile doesn't include the com.apple.developer.device-activity entitlement.
What Apple Support Said
Apple Support told me:
• “Family Controls grants access to Device Activity.”
• They cannot enable it manually or guarantee that profiles will include the entitlement.
• They sent links to the documentation but no further assistance.
What I Need Help With
1. Has anyone successfully built extensions using Family Controls + Device Activity?
2. Do I need to request any additional approval for Device Activity, or should it appear automatically once Family Controls is enabled?
3. Is there a known Xcode or Apple Developer Portal configuration issue that causes the entitlement to be missing in provisioning profiles?
4. Any working example of a project setup that uses Family Controls + Device Activity in extensions would be extremely helpful.
Extra Info
• We use the latest Xcode + iOS SDK.
• Tried recreating certificates, profiles, and App IDs multiple times.
• Followed Apple’s docs for Family Controls + Device Activity exactly.
I would greatly appreciate any guidance, especially from someone who has this working with iOS app extensions.
Thank you!
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Entitlements
Family Controls
Device Activity
Screen Time
I’m running into an issue where the com.apple.developer.storekit entitlement is not being included in provisioning profiles, even though my App ID is properly configured for In-App Purchase.
Entitlements file: explicitly includes
<key>com.apple.developer.storekit</key>
<true/>
Capability: In-App Purchase is enabled in the Apple Developer Portal and shows as “Enabled.”
What I’ve tried:
Automatic signing in Xcode → profiles generated, but missing com.apple.developer.storekit
Manual signing → deleted and recreated provisioning profiles multiple times; entitlement still missing.
Waited several hours for possible propagation.
Verified that my in-app purchase products are set up correctly.
Error message:
Provisioning profile "iOS Team Provisioning Profile: zu.inniu" doesn't include the com.apple.developer.storekit entitlement
Question:
Has anyone else encountered this? Is there a step I might be missing to get StoreKit entitlements included in provisioning profiles, or could this be a backend issue that needs escalation through Apple DTS?
This is blocking me from building my app for physical devices, so any guidance would be greatly appreciated.
Thanks in advance!
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Entitlements
In-App Purchase
I am able to sign my application when logged in to the machine, however when build is running in CI (Jenkins), I get this:
"Warning: unable to build chain to self-signed root for signer.."
We just renewed or certificates, so I am not sure about previous procedure, but it used to work without temporary keychain and stuff, I believe.
What should be the recommended way to sign an application on CI?
What keychain should we use? system? temporary? other method?
Thanks,
Itay
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hi, hoping someone can help here.
I recently updated my Mac to macOS 15 (Tahoe) and am using Xcode 15+ (possibly 16). I’m working on a Flutter app and testing on a real iPhone device.
Here's the situation:
I’m using the free Apple Developer account.
My signing certificate and provisioning profile both show as valid and active in Keychain and says "signing..." in Xcode.
When I build and run the app from Xcode, it works completely fine on a simulator.
But when I try to run the same project from VS Code using flutter run, whether on an simulator phone or my personal iphone, I get a code signing error, specifically:
Failed to codesign Flutter.framework with identity...
I believe the app is set to use the correct Team ID because it says my name and (team) (my team ID isBDKUKWVRBY), and I can see my certificate in Keychain under "My Certificates".
What I’ve already tried:
flutter clean
pod install / pod update
Manually selecting my team in Xcode Signing settings
Restarting my machine and VS Code
Confirming the same project builds on other machines
Verified provisioning profile is assigned to the project in Xcode
deleting and recreating a certificate
I have even had AI inside VS code take a shot at it and that couldn't fix either
My question:
Why would VS Code / Flutter not be able to use the same certificate and signing setup that works in Xcode? Is this an issue with Flutter tooling on macOS 15, or do I need to reconfigure signing differently now?
Any suggestions or fixes would be greatly appreciated!
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hi,
My understanding from this information:
"
https://developer.apple.com/support/certificates/
iOS Distribution Certificate (in-house, internal-use apps)
Users will no longer be able to run apps that have been signed with this certificate. You must distribute a new version of your app that is signed with a new certificate.
"
is that even if I re-sign the app with a new Provisioning Profile based on a new Distribution Certificate the apps will stop working. I need to re-build my apps with a new Distribution certificate+Provisioning profile, when distributing in-house, right?
I can see that the apps continue to function when I re-sign them with a new Provisioning Profile, but according to the information above they will stop working the day (day after) the Distribution certificate they were built with expires.
/Rikard