We are trying to notarize a MacOS app on our paid developer business account for the past 3 weeks. After many hours of processing, we received the following error:
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,
Has anyone else experienced this issue and if so, how was it resolved?
We have reached out to support to ask them to enable this configuration and received no reply.
Any advice or 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
Created
Hi, I have an app built in Unity that I am trying to sign an notarize for distribution. I can successfully codesign the app and it runs properly. But after successfully notarizing the app, the app stops opening.
My process is as follows:
# codesign the app. omitting "--deep" "--option runtime" or both will result in notarization failing
codesign --force --deep --verify --verbose --option runtime --sign "Developer ID Application: ORG NAME (ZZZZZZZZZ)" path/to/app.app
# create notarization submission zip
/usr/bin/ditto -c -k --keepParent path/to/app.app path/to/app.zip
# submit for notarization
xcrun notarytool submit --wait path/to/app.zip -v --apple-id apple@id.com --password "aaaa-aaaa-aaaa-aaaa" --team-id "ZZZZZZZZZ"
Notarization seems to succeed. Running:
spctl -a -vvv -t install path/to/app.app
-returns:
path/to/app.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: JOHN DOE (ZZZZZZZZZ)
The Problem:
Before code signature, the app runs normally
After code signature, the app runs normally
After notarization, the app hangs indefinitely on opening. It stays in the Dock until force quit. The app does not create its main window. There are no Gatekeeper warnings or pop-up windows.
Additional Information:
The second time I attempt to open the application I get a pop-up warning me that the app was force-quit while opening windows.
This happens whether or not I have used xcrun stapler to staple the notarization to the app
This happens whether I run the app from the terminal, by double clicking on the .app package, or by running the Unix Executable within Contents/MacOS/
Any idea how I can debug this and figure out what's going wrong? Any help would be greatly appreciated.
Hi,
My certificates expired and I created new ones.
But now Xcode shows me in Apple Accounts status of Mac App Distribution that the Missing Private...
Howto fix the missing private key?
I need to sign a .pkg for upload with Transporter.
Further I generated a CSR for App License Delivery ALD certificates.
https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request/
And with App Store Connected I created new certificates.
In Xcode I had to remove the Apple Account and add it again, after altering currency. This procedure was described somewhere because Xcode was not able to connect my account. This is fixed now.
Hi, I'm running into a weird notarization issue and wanted to see if anyone else has seen something similar.
I have one main macOS app that keeps doing the following:
The notarization sits in "In Progress" for a few days
Then it flips to "Rejected" with error code 7000
The notarytool log shows no issues and no ticket info
At the same time, smaller test apps on the same Apple Developer account notarize. They do take around 2-3 days though.
So it doesn't seem like an account or certificate problem. It looks like something about this specific app causes it to go into a long review and then fail with that vague 7000 error.
The app is fairly large (Python + Qt, lots of bundled libraries), so I'm wondering if that triggers deeper scanning or some kind of policy check.
Has anyone else seen:
Multi day notarization jobs?
Error 7000 that only affects one particular app?
Rejections with no "issues" listed?
If so, did you find a way around it?
Also for context, my Apple Developer account was created recently
I have contacted Apple Support already but no response yet and it's been 6 days.
Thanks!
Topic:
Code Signing
SubTopic:
Notarization
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 a developer with the following roles:
Apple Developer Team = admin
Using expo & EAS to build & sign = developer
We are running a new project so credentials need to be sync'd up. With EAS i can either upload a p12 or use the automatic app signing credentials.
I have successfully run this in other projects including another where I am the account owner/holder.
For this new project, however, I am not the owner. When I try to "register bundle identifier" it results in:
Error: Apple 403 detected - Access forbidden.
This request is forbidden for security reasons - You currently don't have access to this membership resource.
> eas credentials
✔ Select platform › iOS
✔ Which build profile do you want to configure? › preview
✔ Using build profile: preview
If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the missing values manually and we can only run minimal validation on them.
✔ Do you want to log in to your Apple account? … yes
› Log in to your Apple Developer account to continue
✔ Apple ID: … myemail@gmail.com
› Restoring session /Users/me/.app-store/auth/myemail@gmail.com/cookie
✔ Select a Team › My Project Team - Company/Organization (XXXXX)
› Provider My Project Team LLC (XXXXX)
✔ Logged in Local session
iOS Credentials
Project @team/my-app
Bundle Identifier com.teambundle.dev
No credentials set up yet!
✔ What do you want to do? › Build Credentials: Manage everything needed to build your project
iOS Credentials
Project @team/my-app
Bundle Identifier com.teambundle.dev
No credentials set up yet!
✔ What do you want to do? › All: Set up all the required credentials to build your project
✖ Failed to register bundle identifier com.teambundle.dev
Error: Apple 403 detected - Access forbidden.
This request is forbidden for security reasons - You currently don't have access to this membership resource. Contact your team's Account Holder, MY MANAGER, or an Admin.
Cryptic error? [Learn ](https://github.com/expo/fyi/blob/main/cryptic-error-eas.md)
Why am I getting a 403?
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hi everyone,
I'm hoping someone can share their experience or offer advice on entitlement request timelines.
I previously had two bundle IDs approved for an app I'm testing via TestFlight - both were approved within a few days. I recently submitted a request for a third bundle ID (JMSHRM8W5J), and after realizing I may not have included enough detail, I submitted a follow-up request (XS2QYC59UU) with more context.
It's now been almost three weeks, which is significantly longer than my earlier approvals - though I recognize some of that time included the holidays.
A few questions for the community:
Has anyone experienced longer wait times for additional entitlements on an existing project (with approved entitlements)?
Did submitting a second request help or potentially slow things down?
Is there anything I should include in a request to improve chances of quick approval?
Any insight would be appreciated. Thanks!
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Family Controls
Device Activity
Managed Settings
Screen Time
Hi!
I've been scratching my brain for a few days now to no avail.
I have a Perl project that I need to embed within my app. Perl includes a pp command (https://metacpan.org/pod/pp) which takes the runtime binary and then slaps the Perl code at the end of the binary itself which in brings some woes in a sense that the binary then needs to be "fixed" (https://github.com/rschupp/PAR-Packer/tree/master/contrib/pp_osx_codesign_fix) by removing the linker-provided signature and fixing LINKEDIT and LC_SYMTAB header sections of the binary.
Nevertheless, I've successfully gotten the binary built, fixed up and codesigned it via codesign -s '$CS' mytool (where $CS is the codesigning identity). I can verify the signature as valid using codesign -v --display mytool:
Identifier=mytool
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=24396 flags=0x0(none) hashes=757+2 location=embedded
Signature size=4820
Signed Time=5. 1. 2026 at 8:54:53 PM
Info.plist=not bound
TeamIdentifier=XXXXXXX
Sealed Resources=none
Internal requirements count=1 size=188
It runs without any issues in Terminal, which is great.
As I need to incorporate this binary in my app which is sandboxed, given my experience with other binaries that I'm including in the app, I need to codesign the binary with entitlements com.apple.security.app-sandbox and com.apple.security.inherit. So, I run:
codesign -s '$CS' --force --entitlements ./MyTool.entitlements --identifier com.charliemonroe.mytool mytool
... where the entitlements file contains only the two entitlements mentioned above.
Now I add the binary to the Xcode project, add it to the copy resources phase and I can confirm that it's within the bundle and that it's codesigned:
codesign -vvvv --display MyApp.app/Contents/Resources/mytool
Identifier=com.xxx.xxx.xxx
Format=Mach-O thin (arm64)
CodeDirectory v=20500 size=24590 flags=0x10000(runtime) hashes=757+7 location=embedded
VersionPlatform=1
VersionMin=1703936
VersionSDK=1704448
Hash type=sha256 size=32
CandidateCDHash sha256=0a9f93af81e8e5cb286c3df6e638b2f78ab83a9e
CandidateCDHashFull sha256=0a9f93af81e8e5cb286c3df6e638b2f78ab83a9edf463ce45d1cd3f89a6a4a00
Hash choices=sha256
CMSDigest=0a9f93af81e8e5cb286c3df6e638b2f78ab83a9edf463ce45d1cd3f89a6a4a00
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=32768
Executable Segment flags=0x1
Page size=16384
CDHash=0a9f93af81e8e5cb286c3df6e638b2f78ab83a9e
Signature size=4800
Authority=Apple Development: XXXXXX (XXXXXX)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=9. 1. 2026 at 5:12:22 PM
Info.plist=not bound
TeamIdentifier=XXXXX
Runtime Version=26.2.0
Sealed Resources=none
Internal requirements count=1 size=196
codesign --display --entitlements :- MyApp.app/Contents/Resources/mytool
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>com.apple.security.app-sandbox</key><true/><key>com.apple.security.inherit</key><true/></dict></plist>
All seems to be in order! But not to Gatekeeper... Attempting to run this using the following code:
let process = Process()
process.executableURL = Bundle.main.url(forResource: "mytool", withExtension: nil)!
process.arguments = arguments
try process.run()
process.waitUntilExit()
Results in failure:
process.terminationStatus == 255
Console shows the following issues:
default 17:12:40.686604+0100 secinitd mytool[88240]: root path for bundle "<private>" of main executable "<private>"
default 17:12:40.691701+0100 secinitd mytool[88240]: AppSandbox request successful
error 17:12:40.698116+0100 kernel exec of /Users/charliemonroe/Library/Containers/com.charliemonroe.MyApp/Data/tmp/par-636861726c69656d6f6e726f65/cache-9c78515c29320789b5a543075f2fa0f8072735ae/mytool denied since it was quarantined by MyApp and created without user consent, qtn-flags was 0x00000086
Quarantine, hum? So I ran:
xattr -l MyApp.app/Contents/Resources/mytool
None listed.
It is a signed binary within a signed app. There are other binaries that are included within the app and run just fine exactly this way (most of them built externally using C/C++ and then codesigned exectly as per above), so I really don't think it's an issue with the app's sandbox setup...
Is there anyone who would be able to help with this? Thank you in advance!
I have two Macs, desktop and laptop. Since they both belong to me, they both sign in with the same Apple account. I find that if I sign and notarize an app on one, the other must be powered off. Otherwise, notarization will fail.
Is this intentional? If so, what is the rationale? Is there a way to fix or avoid it?
Both systems run macOS Tahoe with the latest updates. Both are set up the same way for signing using the same certificates. The build process is identical on each.
Topic:
Code Signing
SubTopic:
Notarization
I am using the xcrun notarytool submit --apple-id xxxxx@gmail.com --password xxxxx--team-id xxxxxx --output-format json --wait --no-progress /my/dmg/file
to notarize my DMG file. But it always gives me back the error,
Error: HTTP status code: 403. A required agreement is missing or has expired. This request requires an in-effect agreement that has not been signed or has expired. Ensure your team has signed the necessary legal agreements and that they are not expired.
I did log in my developer account and found no place to sign any agreement. Actually in the morning when I logged in the developer account, it indeed pop up the agreement for me to sign and I did sign it. But now it seems I don't have any more agreements to sign. So, any ideas about what I should do?
Topic:
Code Signing
SubTopic:
Notarization
Hello,
we have a product package which is structured like this:
/ Installer.pkg
/ Distribution
/ Main Component.pkg
/ Scripts
/ preinstall
/ postinstall
/ helper [ Mach-O executable ]
/ Payload
/ Application Bundle.app
/ Another Component.pkg
...
The helper is our custom CLI helper tool which we build and sign and plan to use it in pre/post install scripts.
I'd like to ask if we need to independently notarize and staple the helper executable or just the top level pkg notarization is sufficient in this case?
We already independently notarize and staple the Application Bundle.app so it has ticket attached. But that's because of customers who often rip-open the package and pick only the bundle. We don't plan to have helper executable used outside of installation process.
Thank you,
o/
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
I have been waiting well over 24 hours for my notarization to occur, and nothing - no "we might take a while if it is your first app" or any mention of that in the docs.
So why is it taking this long? What's the hold up???
If this is part of the process, Apple should officially document it, so developers aren't left resubmitting and wondering. This is not a good first experience with the developer program.
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2026-01-07T05:22:34.038Z
name: URSAMajorSpaceStationSST206_v1.0.0.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-06T01:55:05.144Z
name: URSAMajorSpaceStationSST206_v1.0.0.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T20:55:50.624Z
name: test.zip
status: Invalid
--------------------------------------------------
createdDate: 2026-01-05T20:32:52.944Z
name: URSAMajorSpaceStationSST206.vst3.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T19:37:15.426Z
name: URSAMajorSpaceStationSST206.component.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T18:37:43.101Z
name: URSAMajorSpaceStationSST206.component.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
I have recently enrolled in the Apple Developer to get my app notarized, and submitted an Archive for notarization, but it is taking forever. It has almost been a whole day, but the status is still in progress, whereas I have seen other developers say that the same takes 10-15 mins to an hour for them. Am I doing anything wrong? Please guide me through this.
Topic:
Code Signing
SubTopic:
Notarization
Hey there!
Thanks so much for all the great posts about this topic!
I'm fairly new to Mac development since a few months back, and I've been really impressed with Apple's developer tools and ecosystem so far. It's been an exciting journey building for macOS!
However, I've hit a bit of a roadblock with the notarization process via direct download and would really appreciate some guidance from you more experienced developers. I understand that Apple has built a well-designed automated system to maintain high security for users, but I'm wondering:
What's the normal timeframe for notarization to complete?
What are usually the most common reasons if it takes longer than expected?
Is there anyone at Apple who can help if the process gets stuck?
I'm really excited to launch my app and continue developing for this amazing platform, so any tips from experienced Apple developers would be hugely appreciated!
Thanks in advance! 🙏
Topic:
Code Signing
SubTopic:
Notarization
I've submitted my app four times, each time waiting a few hours for something to happen, then reducing the file size of my *.dmg and trying again. The first two seemed to have completed after 36 hours, but I no longer have that specific signed binary (and its a much smaller binary now anyway). The latest two are still "In Progress" and its almost been 48 hours.
I know my process isn't wrong, and my app isn't somehow incorrectly built or being denied because two were accepted. The outage page shows green for the notary tool (https://developer.apple.com/system-status/) so I'm not sure what the hold up is.
I am submitting .dmg notarization requests from Sequoia 15.7.3 using xcrun submit. My developer certificate was created in the last two weeks and is valid. I have had some successful notarizations already so I know that my configuration is correct. However, for the last 48 hours all of my submissions are stuck at 'in progress'. Is there an issue with the notarization service on Apple's side?
Topic:
Code Signing
SubTopic:
Notarization
When attempting to access the (Certificates Identifiers & Profiles) page, I receive the message "Unable to find a team with the given Team ID to which you belong". Even while set as a developer or as an admin I still receive the same message above.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
App Store Connect
Xcode
Signing Certificates
Developer Program
Code signing uses various different identifier types, and I’ve seen a lot of folks confused as to which is which. This post is my attempt to clear up that confusion.
If you have questions or comments, put them in a new thread, using the same topic area and tags as this post.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Code Signing Identifiers Explained
An identifier is a short string that uniquely identifies a resource. Apple’s code-signing infrastructure uses identifiers for various different resource types. These identifiers typically use one of a small selection of formats, so it’s not always clear what type of identifier you’re looking at. This post lists the common identifiers used by code signing, shows the expected format, and gives references to further reading.
Unless otherwise noted, any information about iOS applies to iOS, iPadOS, tvOS, visionOS, and watchOS.
Formats
The code-signing identifiers discussed here use one of two formats:
10-character This is composed of 10 ASCII characters. For example, Team IDs use this format, as illustrated by the Team ID of one of Apple’s test teams: Z7P62XVNWC.
Reverse-DNS This is composed of labels separated by a dot. For example, bundle IDs use this format, as illustrated by the bundle ID of the test app associated with this post: com.example.tn3NNNapp.
The Domain Name System has strict rules about domain names, in terms of overall length, label length, text encoding, and case sensitivity. The reverse-DNS identifiers used by code signing may or may not have similar limits. When in doubt, consult the documentation for the specific identifier type.
Reverse-DNS names are just a convenient way to format a string. You don’t have to control the corresponding DNS name. You can, for example, use com.<SomeCompany>.my-app as your bundle ID regardless of whether you control the <SomeCompany>.com domain name. To securely associate your app with a domain, use associated domains. For more on that, see Supporting associated domains.
IMPORTANT Don’t use com.apple. in your reverse-DNS identifiers. That can yield unexpected results.
Identifiers
The following table summarises the identifiers covered below:
Name | Format | Example | Notes
---- | ------ | ------- | -----
Team ID | 10-character | `Z7P62XVNWC` | Identifies a developer team
User ID | 10-character | `UT376R4K29` | Identifies a developer
Team Member ID | 10-character | `EW7W773AA7` | Identifies a developer in a team
Bundle ID | reverse-DNS | `com.example.tn3NNNapp` | Identifies an app
App ID prefix | 10-character | `Z7P62XVNWC` | Part of an App ID
| | `VYRRC68ZE6` |
App ID | mixed | `Z7P62XVNWC.com.example.tn3NNNNapp` | Connects an app and its provisioning profile
| | `VYRRC68ZE6.com.example.tn3NNNNappB` |
Code-signing identifier | reverse-DNS | `com.example.tn3NNNapp` | Identifies code to macOS
| | `tn3NNNtool` |
App group ID | reverse DNS | `group.tn3NNNapp.shared` | Identifies an app group
| reverse DNS | `Z7P62XVNWC.tn3NNNapp.shared` | Identifies an macOS-style app group
As you can see, there’s no clear way to distinguish a Team ID, User ID, Team Member ID, and an App ID prefix. You have to determine that based on the context. In contrast, you choose your own bundle ID and app group ID values, so choose values that make it easier to keep things straight.
Team ID
When you set up a team on the Developer website, it generates a unique Team ID for that team. This uses the 10-character format. For example, Z7P62XVNWC is the Team ID for an Apple test team.
When the Developer website issues a certificate to a team, or a user within a team, it sets the Subject Name > Organisational Unit field to the Team ID.
When the Developer website issues a certificate to a team, as opposed to a user in that team, it embeds the Team ID in the Subject > Common Name field. For example, a Developer ID Application certificate for the Team ID Z7P62XVNWC has the name Developer ID Application: <TeamName> (Z7P62XVNWC).
### User ID
When you first sign in to the Developer website, it generates a unique User ID for your Apple Account. This User ID uses the 10-character format. For example, UT376R4K29 is the User ID for an Apple test user.
When the Developer website issues a certificate to a user, it sets the Subject Name > User ID field to that user’s User ID. It uses the same value for that user in all teams.
Team Member ID
When you join a team on the Developer website, it generates a unique Team Member ID to track your association with that team. This uses the 10-character format. For example, EW7W773AA7 is the Team Member ID for User ID UT376R4K29 in Team ID Z7P62XVNWC.
When the Developer website issues a certificate to a user on a team, it embeds the Team Member ID in the Subject > Common Name field. For example, an Apple Development certificate for User ID UT376R4K29 on Team ID Z7P62XVNWC has the name Apple Development: <UserName> (EW7W773AA7).
IMPORTANT This naming system is a common source of confusion. Developers see this ID and wonder why it doesn’t match their Team ID. The advantage of this naming scheme is that each certificate gets a unique name even if the team has multiple members with the same name. The John Smiths of this world appreciate this very much.
Bundle ID
A bundle ID is a reverse-DNS identifier that identifies a single app throughout Apple’s ecosystem. For example, the test app associated with this post has a bundle ID of com.example.tn3NNNapp.
If two apps have the same bundle ID, they are considered to be the same app.
Bundle IDs have strict limits on their format. For the details, see CFBundleIdentifier.
If your macOS code consumes bundle IDs — for example, you’re creating a security product that checks the identity of code — be warned that not all bundle IDs conform to the documented format. And non-bundled code, like a command-line tool or dynamic library, typically doesn’t have a bundle ID. Moreover, malicious code might use arbitrary bytes as the bundle ID, bytes that don’t parse as either ASCII or UTF-8.
WARNING On macOS, don’t assume that a bundle ID follows the documented format, is UTF-8, or is even text at all. Do not assume that a bundle ID that starts with com.apple. represents Apple code.
A better way to identify code on macOS is with its designated requirement, as explained in TN3127 Inside Code Signing: Requirements.
On iOS this isn’t a problem because the Developer website checks the bundle ID format when you register your App ID.
App ID prefix
An App ID prefix forms part of an App ID (see below). It’s a 10-character identifier that’s either:
The Team ID of the app’s team
A unique App ID prefix
Note Historically a unique App ID prefix was called a Bundle Seed ID.
A unique App ID prefix is a 10-character identifier generated by Apple and allocated to your team, different from your Team ID. For example, Team ID Z7P62XVNWC has been allocated the unique App ID prefix of VYRRC68ZE6. Unique App ID prefixes are effectively deprecated:
You can’t create a new App ID prefix. So, unless your team is very old, you don’t have to worry about unique App ID prefixes at all.
If a unique App ID prefix is available to your team, it’s possible to create a new App ID with that prefix.
But doing so prevents that app from sharing state with other apps from your team.
Unique app ID prefixes are not supported on macOS.
If your app uses a unique App ID prefix, you can request that it be migrated to use your Team ID by contacting Apple > Developer > Contact Us. If you app has embedded app extensions that also use your unique App ID prefix, include all those App IDs in your migration request.
WARNING Before migrating from a unique App ID prefix, read App ID Prefix Change and Keychain Access.
App ID
An App ID ties your app to its provisioning profile. Specifically:
You allocate an App ID on the Developer website.
You sign your app with an entitlement that claims your App ID.
When you launch the app, the system looks for a profile that authorises that claim.
App IDs are critical on iOS. On macOS, App IDs are only necessary when your app claims a restricted entitlement. See TN3125 Inside Code Signing: Provisioning Profiles for more about this.
App IDs have the format <Prefix>.<BundleOrWildcard>, where:
<Prefix> is the App ID prefix, discussed above.
<BundleOrWildcard> is either a bundle ID, for an explicit App ID, or a wildcard, for a wildcard App ID. The wildcard follows bundle ID conventions except that it must end with a star (*).
For example:
Z7P62XVNWC.com.example.tn3NNNNapp is an explicit App ID for Team ID Z7P62XVNWC.
Z7P62XVNWC.com.example.* is a wildcard App ID for Team ID Z7P62XVNWC.
VYRRC68ZE6.com.example.tn3NNNNappB is an explicit App ID with the unique App ID prefix of VYRRC68ZE6.
Provisioning profiles created for an explicit App ID authorise the claim of just that App ID. Provisioning profiles created for a wildcard App ID authorise the claim of any App IDs whose bundle ID matches the wildcard, where the star (*) matches zero or more arbitrary characters.
Wildcard App IDs are helpful for quick tests. Most production apps claim an explicit App ID, because various features rely on that. For example, in-app purchase requires an explicit App ID.
Code-signing identifier
A code-signing identifier is a string chosen by the code’s signer to uniquely identify their code.
IMPORTANT Don’t confuse this with a code-signing identity, which is a digital identity used for code signing. For more about code-signing identities, see TN3161 Inside Code Signing: Certificates.
Code-signing identifiers exist on iOS but they don’t do anything useful. On iOS, all third-party code must be bundled, and the system ensures that the code’s code-signing identifier matches its bundle ID.
On macOS, code-signing identifiers play an important role in code-signing requirements. For more on that topic, see TN3127 Inside Code Signing: Requirements.
When signing code, see Creating distribution-signed code for macOS for advice on how to select a code-signing identifier.
If your macOS code consumes code-signing identifiers — for example, you’re creating a security product that checks the identity of code — be warned that these identifiers look like bundle IDs but they are not the same as bundle IDs. While bundled code typically uses the bundled ID as the code-signing identifier, macOS doesn’t enforce that convention. And non-bundled code, like a command-line tool or dynamic library, often uses the file name as the code-signing identifier. Moreover, malicious code might use arbitrary bytes as the code-signing identifier, bytes that don’t parse as either ASCII or UTF-8.
WARNING On macOS, don’t assume that a code-signing identifier is a well-formed bundle ID, UTF-8, or even text at all. Don’t assume that a code-signing identifier that starts with com.apple. represents Apple code.
A better way to identify code on macOS is with its designated requirement, as explained in TN3127 Inside Code Signing: Requirements.
App Group ID
An app group ID identifies an app group, that is, a mechanism to share state between multiple apps from the same team. For more about app groups, see App Groups Entitlement and App Groups: macOS vs iOS: Working Towards Harmony.
App group IDs use two different forms of reverse-DNS identifiers:
iOS-style This has the format group.<GroupName>, for example, group.tn3NNNapp.shared.
macOS-style This has the format <TeamID>.<GroupName>, for example, Z7P62XVNWC.tn3NNNapp.shared.
The first form originated on iOS but is now supported on macOS as well. The second form is only supported on macOS.
iOS-style app group IDs must be registered with the Developer website. That ensures that the ID is unique and that the <GroupName> follows bundle ID rules.
macOS-style app group IDs are less constrained. When choosing such a macOS-style app group ID, follow bundle ID rules for the group name.
If your macOS code consumes app group IDs, be warned that not all macOS-style app group IDs follow bundle ID format. Indeed, malicious code might use arbitrary bytes as the app group ID, bytes that don’t parse as either ASCII or UTF-8.
WARNING Don’t assume that a macOS-style app group ID follows bundle ID rules, is UTF-8, or is even text at all. Don’t assume that a macOS-style app group ID where the group name starts with com.apple. represents Apple in any way.
Some developers use app group IDs of the form <TeamID>.group.<GroupName>. There’s nothing special about this format. It’s just a macOS-style app group ID where the first label in the group name just happens to be group
Starting in Feb 2025, iOS-style app group IDs are fully supported on macOS. If you’re writing new code that uses app groups, use an iOS-style app group ID. This allows sharing between different product types, for example, between a native macOS app and an iOS app running on the Mac.
Revision History
2026-01-06 First posted.
Hello,
I'm experiencing a persistent issue where all my notarization submissions remain stuck in "In Progress" indefinitely. This has been happening for the past several days, affecting multiple submissions.
Environment:
macOS 26.2 (Build 25C56)
Using xcrun notarytool submit for submissions
Team ID: M3FN25UQK2
Timeline of the issue:
Starting from January 2nd, 2026, my submissions began getting stuck in "In Progress"
As of January 6th, I have 6+ submissions that have been "In Progress" for 24-72+ hours
Prior to this, notarization was working normally (I have multiple "Accepted" submissions from January 1st)
What I've tried:
Verified my Developer ID Application certificate is valid and properly installed
Checked Apple Developer System Status page (shows "Operational")
Verified code signatures using codesign -vvv --deep --strict
Contacted Apple Developer Support (no response yet)
Checked my Apple Developer account for any pending agreements or warnings (none found)
Is there any known issue affecting notarization processing, or could my Team ID be rate-limited/flagged? Any guidance on how to resolve this would be greatly appreciated.
Thank you!