macOS build uploaded via Transporter "Not Available for Testing" in Test Flight on App Store Connect

Background

I'm developing a game using a game engine that exports an (unsigned) app bundle for macOS. So to get this on the mac App Store I've managed to set up an entitlements file, embedded the required provisioning profile, codesign and finally package the app into a signed pkg that I've uploaded via the Transporter app without any errors or warnings during upload or Apple processing afterwards.

Test flight issue

However, even though I've now managed to get the build up into the App Store connect system with no errors, in Test Flight the build is listed as "Not Available for Testing" with no further information.

Before I managed to get the provision profile correctly embedded and signed Transporter gave me a warning saying that due to the missing profile the app would not be available for testing in Test Flight. But now that the profile is embedded there is no such warning.

Does anyone have any experience with getting non-xcode project up on the App Store or Test Flight? Any hints as to what might be the cause of the "Not Available for Testing" status? And does this mean the build will also be invalid for publishing?

Entitlements?

This game build only has the required com.apple.security.app-sandbox: true entitlement, but when I look at macOS apps I've previously uploaded via XCode for other projects these also contain the (undocumented?) com.apple.application-identifier: and com.apple.developer.team-identifier: entitlements. And when looking at an iOS XCode build it includes the (also undocumented?) entitlement beta-reports-active: true could it be that there is some additional entitlement that is required for Test Flight? I've found no mention of them in the entitlements documentation so it's hard to know what their function is.

Answered by DTS Engineer in 746229022

when I look at macOS apps I've previously uploaded via Xcode for other projects these also contain the (undocumented?) com.apple.application-identifier

Right. I think that’s the crux of this problem. TestFlight requires this entitlement so that it can connect your code to it’s provisioning profile. For more background on this, see TN3125 Inside Code Signing: Provisioning Profiles.

I’m less sure whether the other two entitlements you mentioned, com.apple.developer.team-identifier and beta-reports-active, are absolutely required but, in general, my advice is that you do what Xcode does. I often debug problems like this by creating a test project in Xcode with the same bundle ID as the main app. I then use the standard Xcode workflow (Product > Archive and then, in the organiser, Distribute App > App Store > Export) to export the app. At that point I can use various tools to see exactly what Xcode did.

I've found no mention of them in the entitlements documentation so it's hard to know what their function is.

At one point I tried to get com.apple.application-identifier documented but was blocked because the entitlement is managed entirely by Xcode. That’s great if you’re using Xcode, but not everyone does. I’d appreciate you filing a bug against the doc explaining the specific problems you encountered because these entitlements are not documented.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

when I look at macOS apps I've previously uploaded via Xcode for other projects these also contain the (undocumented?) com.apple.application-identifier

Right. I think that’s the crux of this problem. TestFlight requires this entitlement so that it can connect your code to it’s provisioning profile. For more background on this, see TN3125 Inside Code Signing: Provisioning Profiles.

I’m less sure whether the other two entitlements you mentioned, com.apple.developer.team-identifier and beta-reports-active, are absolutely required but, in general, my advice is that you do what Xcode does. I often debug problems like this by creating a test project in Xcode with the same bundle ID as the main app. I then use the standard Xcode workflow (Product > Archive and then, in the organiser, Distribute App > App Store > Export) to export the app. At that point I can use various tools to see exactly what Xcode did.

I've found no mention of them in the entitlements documentation so it's hard to know what their function is.

At one point I tried to get com.apple.application-identifier documented but was blocked because the entitlement is managed entirely by Xcode. That’s great if you’re using Xcode, but not everyone does. I’d appreciate you filing a bug against the doc explaining the specific problems you encountered because these entitlements are not documented.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

macOS build uploaded via Transporter "Not Available for Testing" in Test Flight on App Store Connect
 
 
Q