Essentially, I am creating a Mac Catalyst version of an existing iOS app, and I want to use the same bundle ID to have the in-app purchases be cross-platform (now that that's a thing).
I can build and run locally without issue, and it archives just fine. However, there's some sort of signing issue that prevents it from uploading successfully. I have tried both automatic and manual signing.
I get the following error when trying to upload:
The initial advice was to not sign the gRPCCertificates-Cpp bundle, which does not help.App Store Connect Operation Error: ERROR ITMS-90283: "Invalid Provisioning Profile. The provisioning profile included in the bundle org.cocoapods.gRPCCertificates-Cpp [<Bundle Id>.pkg/Payload/<App Name>.app/Contents/Resources/gRPCCertificates-Cpp.bundle] is invalid. [Invalid 'com.apple.application-identifier' entitlement value.] For more information, visit the macOS Developer Portal.
It's also strange that I have another catalyst app that uses the same bundle and it works just fine, so I think it's less an issue with that bundle and more how Xcode handles entitlements and signing. Though I'm open to all suggestions.
One possible difference between the app that works fine and the problematic one is that the problematic one uses an explicit App ID Prefix and the other has a Team ID prefix.
Another potential clue, I need to enabled Associated Domains, Autofill Credential Provider, Sign In with Apple and iCloud Key Value Storage entitlements for my app to function correctly. However, if I remove all of those and retain only In-App Purchase, Hardened Runtime, and App Sandbox entitlements the app does sign and upload successfully to the App Store.
So I'm thinking the issue must have something to do with these entitlements or how Xcode handles them compared to the others.
Does anyone have any ideas on what else I could try?