Hi everyone,
I am attempting to generate an Ad Hoc provisioning profile for my iOS app that includes MusicKit capabilities, but the generated .mobileprovision file consistently lacks the required entitlement, despite the configuration appearing correct in the developer portal.
The Issue:
I have enabled MusicKit under the "App Services" tab for my App ID. I have saved this configuration, verified it is checked in the UI, and then regenerated and downloaded my provisioning profile.
However, when I inspect the internal contents of the .mobileprovision file, the Entitlements dictionary does not contain the com.apple.developer.music-kit key. It only contains the standard keys (Team ID, App ID, etc.).
Steps Taken:
Created a brand new App ID to rule out legacy data issues.
Explicitly enabled "MusicKit" under the App Services tab for this new identifier.
Created a fresh Ad Hoc Distribution profile linked to this new ID.
Downloaded the profile and inspected the file structure: the MusicKit entitlement is completely absent.
Attempted toggling the service off and on, saving, and regenerating the profile multiple times.
Has anyone experienced a specific bug where "App Services" (like MusicKit) fail to propagate to the Provisioning Profile generator? Is there a secondary "Capability" (e.g., Media Library) that must also be enabled to trigger the inclusion of the MusicKit entitlement?
Any guidance would be appreciated.
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
I'm building a content filtering app using NEURLFilterManager and NEURLFilterControlProvider (introduced in iOS 26). The app uses a PIR server for privacy-preserving URL filtering.
Everything works with development-signed builds, but App Store export validation rejects:
Entitlement value "url-filter-provider" for com.apple.developer.networking.networkextension — "not supported on iOS"
I have "Network Extensions" enabled on my App IDs in the developer portal, but the provisioning profiles don't seem to include url-filter-provider, and I don't see a URL filter option in the Capability Requests tab.
What I've tried:
Entitlement values: url-filter-provider, url-filter — both rejected at export
Extension points: com.apple.networkextension.url-filter, com.apple.networkextension.url-filter-control — both rejected
Regenerating provisioning profiles after enabling Network Extensions capability
My setup:
iOS 26, Xcode 26
Main app bundle: com.pledgelock.app
URL filter extension bundle: com.pledgelock.app.url-filter
PIR server deployed and functional
Is there a specific request or approval process needed for the
url-filter-provider entitlement? The WWDC25 session "Filter and
tunnel network traffic with NetworkExtension" mentions this
entitlement but I can't find documentation on how to get it approved
for distribution.
Any guidance appreciated. Thanks!
In the Developer portal, I'm attempting to add the "DriverKit UserClient Access" to an App ID that is assigned to a DEXT that we are developing. Once I have filled out the form and clicked "Submit" the screen goes bank and stays blank even after a long delay. The original Capability Request tab's entry for "DriverKit UserClient Access" never changes from "No Requests". I have tried this on two successive days, with the same result.
My provisioning profile isn't installing when I double-click it on my MacBook.
Also no profile on this path ~/Library/MobileDevice/Provisioning Profiles. just empty folder
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Certificate Details
Certificate Name
Expro International Group Ltd
Certificate Type
iOS Distribution
Expiration Date
2029/02/11
Created By
Thavaseelan Kudarsamy
Enabled Capabilities
iCloud, In-App Purchase, Personal VPN, Push Notifications
App ID
ESTSMobile (com.exprogroup.estsmobile)
This profile is not installing.
I double-click it, and it doesn't install. I drag it to the provisioning profile folder, and it gets deleted immediately. It's an Apple Developer problem. I've already wiped my Mac clean twice and reinstalled everything, and I'm still having this problem.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Health and Fitness
Provisioning Profiles
I am trying to notarize my app but it rejected with this error after 5 days of being in progress.
{
"logFormatVersion": 1,
"jobId": "8291ad9e-4c8e-4974-8753-af1a78e5a4a2",
"status": "Rejected",
"statusSummary": "Team is not yet configured for notarization. Please contact Developer Programs Support at developer.apple.com under the topic Development and Technical / Other Development or Technical Questions.",
"statusCode": 7000,
"archiveFilename": "SkanVirtualAssistant-1.0.0.dmg",
"uploadDate": "2026-02-05T03:13:41.280Z",
"sha256": "eb95cc25a382e5ce36fc2b7e195c20a1a09cfbfb71a057e754306ad400300d38",
"ticketContents": null,
"issues": null
}
Can anyone help with this? I have an urgent product launch deadline in a week! I have contacted developer program support but have received no response.
I am trying to sign my Mac app to use Network Extensions capability. But every time I create a profile it displays that to me:
on the other hand on the website it displays this to me:
Not accepted yet (all are still processing, none are rejected)
387af103-42d3-4d95-ae22-0289f90a8559 — In Progress
2d836594-9fb2-41a5-990c-7ea4e0870af0 — In Progress
e61ba9e3-5ff1-4856-8e9d-39c08445ff63 — In Progress
1defdeec-50b4-45c5-b32d-53ca6e4538bb — In Progress
34e60b80-20c3-4ea7-93a7-2bb9e7c6f05c — In Progress
09222b71-eae1-4c5c-aca4-368f697b2a39 — In Progress
eb5327e8-161e-4185-9920-3facf60b7b4b — In Progress
784fc210-d0bf-4924-b0a6-eb8bbac0f2c8 — In Progress
74bc8f31-b1b0-4bed-9142-0c03100a062a — In Progress
4739620c-894a-4283-a43b-df57b29a1771 — In Progress
have created new certificate as well same result.
waiting for apple support to give any answers.
Topic:
Code Signing
SubTopic:
Notarization
The process has been stuck "In Progress" for 8 days now. We had a scheduled New Year Offer for our software that would run based around this important new update, and obviously we missed it because of this crazy issue. Notarization used to take a few seconds. Now it does not work, neither on my newly set up Mac, nor in my old (completely unchanged) one.
My company and finances are totally frozen at this point due to this issue. PLEASE help, look into my actual account and do what is needed!
Topic:
Code Signing
SubTopic:
Notarization
When completing signing on Xcode, it shows the following error message "No certificate for team '' matching 'Developer ID Application' found"
I have already followed the steps to generate a certificate from keychain and made a new certificate on developer portal, along with its associated provisioning profile.
Viewing "Manage Certificate" window shows the newly created certificate, but Xcode seems to not be able to locate it.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode
Signing Certificates
Code Signing
I'm experiencing a persistent issue where all my notarization submissions remain stuck in "In Progress" indefinitely. This is my first time notarizing an app.
Environment:
macOS 26.2 (Tahoe)
Using xcrun notarytool submit
Team ID: Y7T24GD249
App: Electron-based desktop application (~400MB)
Stuck submissions (oldest to newest):
51412777-848c-4be1-a952-5ff32d6653f9 - Feb 4, 4:39 PM UTC (48+ hours)
9c4f94a1-d59a-4607-adf1-94c82fb4254b - Feb 4, 11:23 PM UTC
1c593512-ef55-4801-ba60-8b1bbc5a6f66 - Feb 4, 11:30 PM UTC
de66e5cf-143c-40ec-ba62-2f07609044b4 - Feb 5, 1:39 PM UTC
964b2196-ad2e-4503-b15f-dc7f6a996ef0 - Feb 5, 2:25 PM UTC
c8fdcccf-46cd-4609-bc33-faaa8fad696f - Feb 6, 5:11 PM UTC
What I've tried:
Verified Developer ID Application certificate is valid
Checked code signatures with codesign -vvv --deep --strict
Submitted both .zip and .dmg formats
Checked Apple System Status (shows operational)
notarytool log returns "Record not found" for all submissions
Is there a known issue affecting first-time notarization, or could my account be flagged? Any help would be greatly appreciated.
Topic:
Code Signing
SubTopic:
Notarization
I have been updating some NSXPCConnection code in my macOS 26 app (not sandboxed) to use XPCSession and friends instead. And it is working well and the experience has been generally good.
But I have run into a problem when using XPCSession.setPeerRequirement() which I really want to use.
It works well when I use something simple like XPCPeerRequirement.isFromSameTeam() but I want to check some more requirements and also use the code from multiple apps (but same team). That is, I want to check for multiple identifiers and team ID and version (and perhaps also in the future that the certificate is a Developer ID).
And previously I would use SecRequirementCreateWithString with an entitlement string conceptually like this:
var entitlement = "anchor apple generic and ("
entitlement += "identifier idA"
entitlement += " or identifier idB"
entitlement += ")"
entitlement += " and certificate leaf[subject.OU] = TeamID"
entitlement += #" and info [CFBundleShortVersionString] >= "1.0""#
and it works just as it should when creating and using that SecRequirement so I don't think that there is anything particularly wrong with the entitlement.
And I had hoped that I could use the same string with XPCPeerRequirement.hasEntitlement(entitlement) but it doesn't work (I get a general "Peer forbidden" error).
So I think that I don't really understand what sort of entitlement that hasEntitlement() wants. And also I don't really understand the other ways available to create a XPCPeerRequirement. I have also tried to use a XPCDictionary with XPCPeerRequirement(lightweightCodeRequirements:) but I can't get that to work either (and it seems a bit wrong to have to drop down to use e.g. xpc_object_t with new modern API:s).
So my question is: is it possible to create a XPCPeerRequirement with an entitlement like above and, in that case, how? Or is there some other work-around to use XPCSession.setPeerRequirement() with a more complex requirement, e.g. is there a way to combine multiple XPCPeerRequirements into one?
Thank you for reading this.
/Peter
Notarization submission has been stuck in "In Progress" status for over 15 hours with no resolution.
Hi there, I am trying to roll out distribution to paid users who are unable to receive anything from me for quite some time now, and I've read that notarization is quick. But I've found myself to be under quite a delay. Wondering if I could please get some help.
Submission Details:
ID: e3dff14c-16ab-41a7-a81c-0d1774c66588
Submitted: 2026-02-08T16:42:07.377Z
File: Resonant-0.1.0-arm64.dmg (~200MB)
Status: In Progress (stuck)
Evidence:
Upload completed successfully within minutes
Delay is entirely server-side processing
Same app structure notarized successfully on Feb 5 (submission f5f4c241)
Multiple other submissions stuck since Feb 5 (see history below)
Stuck Submissions (all "In Progress" for days):
e3dff14c (Feb 8, 16:42 UTC) - 15+ hours
3e6bdcb5 (Feb 8, 16:11 UTC) - 16+ hours
37fd1b9f (Feb 8, 12:53 UTC) - 20+ hours
f21a1d9b (Feb 8, 12:31 UTC) - 20+ hours (different app, Clippa.zip)
417244e8 (Feb 8, 06:18 UTC) - 26+ hours
891f370f (Feb 7, 11:44 UTC) - 2+ days
1debba51 (Feb 7, 05:44 UTC) - 2+ days
6a06b87f (Feb 6, 14:16 UTC) - 3+ days
9867261c (Feb 6, 13:44 UTC) - 3+ days
1a7c3967 (Feb 6, 12:58 UTC) - 3+ days
Last Successful Notarization:
f5f4c241 (Feb 5, 18:24 UTC) - Accepted in normal timeframe
Impact:
Unable to distribute production release. This is blocking critical bug fixes from reaching users.
Expected Behavior:
Notarization should complete within 2-10 minutes as documented and as experienced prior to Feb 5.
Request:
Please investigate why submissions are not being processed and either:
Clear the backlog and process pending submissions
Provide guidance on how to proceed with distribution
I'm currently observing a problem similar to this thread https://developer.apple.com/forums/thread/737334
The difference is that this is happening after updating a system extension.
Basically same error, sysextd complains it can not check that the system extension is notarized: macOS Error 3 + Error code=-67050.
I think macOS (Sequoia 15.3.2 or 15.7.2 if it matters) is wrong in this case for the following reasons:
when using spctl assess -t install, the system extension is reported to be correctly notarized.
when restarting the Mac, the updated system extension is correctly checked and staged.
if I run spctl assess before sysextd tries to check the system extension, it works.
I'm currently thinking of 2 reasons why the check does not work:
sysextd is somehow trying to work with a cached assessment that has become invalid after the system extension was updated.
macOS needs way more time between the update of the files and the request to update the staged extension. I tried adding a 5-second delay. This does not seem to work or at least reliably.
I tried just touching the system extension, no positive result. Unfortunately, in macOS Sequoia, it is not possible anymore to reset-default using spctl and see if it solves the issue, at least the next time the update is performed.
[Q] Is there some magic operation that would help macOS correctly check the notarization of an updated system extension?
In Xcode, under Signing & Capabilities (Release) for our bundle ID
the selected provisioning profile does include the entitlement:
com.apple.developer.payment-pass-provisioning
However, when we upload a new build to TestFlight, the Build Metadata →
Entitlements section for the same bundle ID does not include
com.apple.developer.payment-pass-provisioning.
Because of this, PKAddPaymentPassViewController does not open in TestFlight
builds.
This suggests that while the entitlement is enabled for the App ID and
visible in Xcode, it may not yet be propagated to App Store Connect’s
signing service for TestFlight/App Store builds.
Please Note: The Wallet Entitlements team had confirmed
that they had granted entitlements for our team and the apple IDs
Xcode : 26.0.1
Profile being used: Distribution Profile
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Wallet
Entitlements
Provisioning Profiles
TestFlight
We are experiencing notarization submissions that remain in the “In Progress” state for an extended period (over 24 hours), with no status transition and no submission log available.
This is occurring in an automated CI environment using the Notary REST API (non-interactive submission and polling). Re-submitting the same package only results in additional submissions also stuck in “In Progress”.
There does not appear to be any API mechanism to cancel, clear, or expire these submissions once they are created.
We have already opened an Apple Developer Support case regarding this issue (Case ID: 102818066745 & 102819008943), but have not yet received clarification on what is causing these long-running “In Progress” states.
This issue is impacting our production release pipeline, as we are unable to reliably complete notarization for signed packages within an expected timeframe.
Based on other reports in this forum (including thread 811968), this behavior appears similar to cases where notarization requests were delayed due to backend backlog or in-depth analysis.
We would appreciate clarification on the following:
Is it expected behavior for notarization submissions to remain in “In Progress” for such a long period without logs?
Is client-side timeout and re-submission the recommended handling for CI workflows?
Are there known service-side conditions (e.g. analysis backlog) that could explain this behavior?
Any guidance from Apple DTS or others who have encountered this would be greatly appreciated.
Topic:
Code Signing
SubTopic:
Notarization
Okay, I just pushed a release and notarized. Works great on my test laptop (macOS 26.2) and my test desktop (macOS 14.x)
But it seems to fail for a friend who's running macOS 15.
I've been using the same GitHub actions successfully for months.
How can notarization work for macOS 14 and 26, but not for macOS 15?
I think everything looks okay as far as the signing?
I've checked codesign -dvv
Executable=/Applications/Avogadro2.app/Contents/MacOS/Avogadro2
Identifier=cc.avogadro
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20500 size=11607 flags=0x10000(runtime) hashes=352+7 location=embedded
Signature size=8986
Authority=Developer ID Application: Geoffrey Hutchison (…..)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Feb 5, 2026 at 8:47:21 PM
Info.plist entries=24
TeamIdentifier=…..
Runtime Version=15.5.0
Sealed Resources version=2 rules=13 files=3306
Internal requirements count=1 size=172
And from spctl -a -vv
/Applications/Avogadro2.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Geoffrey Hutchison (….)
To ship a product outside of the Mac App Store, you must notarise it. The notary service issues a notarised ticket, and the ultimate consumer of that ticket is Gatekeeper. However, Gatekeeper does not just check the ticket; it also applies a variety of other checks, and it’s possible for those checks to fail even if your notarised ticket is just fine. To avoid such problems showing up in the field, test your product’s compatibility with Gatekeeper before shipping it.
To do this:
Set up a fresh machine, one that’s never seen your product before. If your product supports macOS 10.15.x, x < 4, the best OS version to test with is 10.15.3 [1].
Download your product in a way that quarantines it (for example, using Safari).
Disconnect the machine from the network. It might make sense to skip this step. See the discussion below.
Install and use your product as your users would.
If the product is signed, notarised, and stapled correctly, everything should work. If not, you’ll need to investigate what’s making Gatekeeper unhappy, fix that, and then retest. For detailed advice on that topic, see Resolving Trusted Execution Problems.
Run this test on a fresh machine each time. This is necessary because Gatekeeper caches information about your product and it’s not easy to reset that cache. Your best option is to do this testing on a virtual machine (VM). Take a snapshot of the VM before the first test, and then restore to that snapshot when you want to retest.
Also, by using a VM you can disable networking in step 3 without disrupting other work on your machine.
The reason why you should disable networking in step 3 is to test that you’ve correctly stapled the notarised ticket on to your product. If, for some reason, you’re unable to do that stapling, it’s fine to skip step 3. However, be aware that this may cause problems for a user if they try to deploy your product to a Mac that does not have access to the wider Internet. For more background on this, see The Pros and Cons of Stapling.
[1] macOS 10.15.4 fixes a bug that made Gatekeeper unnecessarily strict (r. 57278824), so by testing on 10.15.3 you’re exercising the worst case.
The process described above is by far the best way to test your Gatekeeper compatibility because it accurately tests how your users run your product. However, you can also run a quick, albeit less accurate test, using various command-line tools. The exact process depends on the type of product you’re trying to check:
App — Run syspolicy_check like this:
% syspolicy_check distribution WaffleVarnish.app
This tool was introduced in macOS 14. On older systems, use the older spctl tool. Run it like this:
% spctl -a -t exec -vvv WaffleVarnish.app
Be aware, however, that this check is much less accurate.
Disk image — Run spctl like this:
% spctl -a -t open -vvv --context context:primary-signature WaffleVarnish.dmg
Installer package — Run spctl like this:
% spctl -a -t install -vvv WaffleVarnish.pkg
Other code — Run codesign like this:
% codesign -vvvv -R="notarized" --check-notarization WaffleVarnish.bundle
This command requires macOS 10.15 or later.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Revision history:
2024-12-05 Added instructions for using syspolicy_check. Made other minor editorial changes.
2023-10-20 Added links to Resolving Trusted Execution Problems and The Pros and Cons of Stapling. Made other minor editorial changes.
2021-02-26 Fixed the formatting.
2020-04-17 Added the section discussing spctl.
2020-03-25 First version.
I'm submitting my first macOS app (a native
SwiftUI menu bar app, signed with Developer ID
Application certificate, Hardened Runtime
enabled) for notarization using xcrun
notarytool submit with keychain profile
authentication.
All 9 of my submissions have been stuck at "In
Progress" for up to 16 hours. None have
transitioned to "Accepted" or "Invalid." Logs
are unavailable for all of them (notarytool
log returns "Submission log is not yet
available").
Environment
macOS: 26.2 (25C56)
Xcode: 26.1.1 (17B100)
notarytool: 1.1.0 (39)
App: Native SwiftUI, universal binary
(x86_64 + arm64), ~2.2 MB DMG
Bundle ID: com.gro.ask
Team ID: 4KT56S2BX6
What I've verified
Code signing is valid:
$ codesign --verify --deep --strict GroAsk.app
passes with no errors
$ codesign -dvvv GroAsk.app
Authority=Developer ID Application: Jack Wu
(4KT56S2BX6)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
CodeDirectory flags=0x10000(runtime) #
Hardened Runtime enabled
Runtime Version=26.1.0
Format=app bundle with Mach-O universal
(x86_64 arm64)
Entitlements are minimal:
com.apple.security.app-sandbox
com.apple.security.network.client
Uploads succeed — each submission receives a
valid submission ID and the file uploads to
Apple's servers without error.
Submission history
Created (UTC): 04:40
ID: eeb12389-...
File: GroAsk-1.6.0.dmg
Status: Invalid (Hardened Runtime missing —
since fixed)
────────────────────────────────────────
Created (UTC): 04:42
ID: 6e537a32-...
File: GroAsk-1.6.0.dmg
Status: In Progress (16+ hrs)
────────────────────────────────────────
Created (UTC): 07:52
ID: 5ee41736-...
File: GroAsk-1.6.0.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 08:19
ID: f5c6b9a5-...
File: GroAsk-1.6.0.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 08:27
ID: 0f1c8333-...
File: GroAsk-1.6.0.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 08:29
ID: 77fd9cd4-...
File: GroAsk-1.6.0.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 08:51
ID: db9da93e-...
File: GroAsk-1.6.1.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 09:05
ID: 3c43c09f-...
File: GroAsk.zip
Status: In Progress
────────────────────────────────────────
Created (UTC): 12:01
ID: b2267a74-...
File: GroAsk-1.6.3.dmg
Status: In Progress
────────────────────────────────────────
Created (UTC): 12:15
ID: ae41e45c-...
File: GroAsk.zip
Status: In Progress
The very first submission (eeb12389) came back
as Invalid within minutes because Hardened
Runtime wasn't enabled on the binary. I fixed
the build configuration and confirmed
flags=0x10000(runtime) is present on all
subsequent builds. However, every submission
after that fix has been stuck at "In Progress"
with no state transition.
What I've tried
Submitting both .dmg and .zip formats — same
result
Verified notarytool log — returns
"Submission log is not yet available" for all
stuck submissions
Apple Developer System Status page shows the
Notary Service as "Available"
I've also emailed Apple Developer Support
but have not received a response yet
Questions
Is this the expected behavior for a
first-time notarization account? I've seen
other threads mentioning that new accounts may
be held for "in-depth analysis," but 16+
hours with zero feedback seems excessive.
2. Is there any manual configuration Apple
needs to do on their end to unblock my team
for notarization?
3. Should I stop submitting and wait, or is
there something else I can try?
Any guidance from DTS would be greatly
appreciated. This is blocking the release of
my app.