My application is in flightTest mode.
I received my first two crash reports in XCODE /Organizer. The context is well described, and I was able to isolate the locations where very serious errors occurred.
My application is connected. I'm missing one piece of data in this crash report: the time of the crash.
This will help me see what (in my case) static data was being read on the data server at that time. This will help me investigate.
Is it possible to obtain this information?
TestFlight
RSS for tagTestFlight within App Store Connect allows you to invite and manage testers who can install and beta test your iOS, iPadOS, tvOS, and watchOS apps using the TestFlight app on the App Store.
Posts under TestFlight tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Our test application has the status "Approved" on the test build list view. However, when adding testers to the test build, the process failed with the error message "An error has occurred. Try again later."
**Here is the API request: **
https://appstoreconnect.apple.com/iris/v1/builds/d9bc89fa-e94d-4a33-a39c-20550c0673ec/relationships/individualTesters
Here is the response:
{
"errors" : [ {
"id" : "5b833be8-18d1-4ce9-b47d-7a315ef49a50",
"status" : "409",
"code" : "STATE_ERROR",
"title" : "The request cannot be fulfilled because of the state of another resource.",
"detail" : "Tester(s) cannot be assigned"
} ]
}
Does anyone experience the same issue? Any insight on the root cause? I am wondering if this could be fixed by itself. Any input and help is appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
App Store Connect
App Store Connect API
TestFlight
I have auto-renewable subscriptions, and in Xcode everything works fine. It shows a list of subscriptions where I can make a test purchase.
But when I send it for review, the review team, as well as TestFlight, simply do not have subscriptions. If the problem was in the code, it would not work in the sandbox as I think.
But I think that I configured everything correctly in the subscription settings. The only thing: it shows there for the subscription in appstoreconnect that it is preparing for review, but nothing can be done about it, because it will be solved with the first release of the application.
But I do not know where else to look and what to do. The problem is probably not in the code, but I also redirected the subscription config in appstoreconnect a bunch of times.
I asked help on review team, no way. Tried to google and chat GPT, no ideas where to find a solution.
Hi,
Am using fastlane to upload into TestFlight. Am able to successfully upload the build without any issues.
For Testing Internally , I want to upload the build into App Store Connect but I should restrict it on submitting to App Store. ( This is possible when i distribute the app via TestFlight Internal Only from XCode -> Organizer -> Distribute App (Select option with TestFlight Internal Only). I want to achieve the same using either Transporter/ fastlane.
I tried setting buildAudienceType to INTERNAL_ONLY as per https://developer.apple.com/documentation/appstoreconnectapi/buildaudiencetype but it is not working.
Can you suggest how i can achieve this via fastlane?
I can't use the app because I haven't received any email and I don't know what the invitation code is.
Will I receive it at some point or how can I receive it?
I'm having trouble launching TestFlight on my iPhone 15. As soon as I open the app, I see the welcome screen, but then I immediately get the following error message:
TestFlight Unavailable
TestFlight is temporarily unavailable. Try again.
I can't proceed further – after tapping "OK," the message disappears, but TestFlight remains unusable. I've tried:
Restarting my iPhone
Uninstalling and reinstalling TestFlight
Checking my internet connection (both Wi-Fi and LTE)
Signing out and back into my Apple ID
The issue persists. Is anyone else experiencing this? Is this a known issue on Apple's end?
Attaching a screenshot for reference.
Device: iPhone 15
iOs: 18
Any help would be appreciated!
App Store Connect Build Upload Failing – Gateway Timeout (504) 🔄
I’m trying to upload a build to App Store Connect through Xcode, but the process keeps failing with a Gateway Timeout (504) error. It looks like Apple’s API or App Store Connect is receiving an invalid response from an upstream service.
The server returned unexpected content.
<!DOCTYPE html>
<html lang="en">
<head>
<style>
body {
font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
font-size: 15px;
font-weight: 200;
line-height: 20px;
color: #4c4c4c;
text-align: center;
}
.section {
margin-top: 50px;
}
</style>
</head>
<body>
<div class="section">
<h1></h1>
<h3>Gateway Timeout</h3>
<p>Correlation Key: **********</p>
</div>
</body>
</html>```
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store Connect
App Store Connect API
TestFlight
A few days ago I migrated my purchases from my secondary AppleID to my primary. One of the requirements was to stop testing apps in Testflight. I stopped testing in the app as directed. After the migration I am not able to rejoin my testing app. It says it is connected to my secondary ID and I need to sign in with it. The whole point of migration was to not have two IDs for iCloud and Media and Purchases. I have no intention of signing in with my other ID, it's impractical. How can I get TestFlight to relinquish the secondary ID?
Developer sent a new invitation but to no avail. Deleted app and data, reinstalled, to no avail.
not able to redeem the invite in TestFlight receiving below error
The apple account you are currently signed with does not matching the one which is associated to this invitation you can sign in to testflight with the original apple account or request new invitation
from developer
There seems to be a problem to a specific Apple Developer Account regarding Xcode Cloud Distribution (Signing).
The Xcode Cloud Error
Invalid Signature. Code failed to satisfy specified code requirement(s). The file at path “XcodeCloudTest.app/XcodeCloudTest” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/support/code-signing.
Investigation
Apple Developer Forums
This issue seems to be known:
https://developer.apple.com/forums/thread/746210
Debugging by ourselves
We setup an example Xcode project from a default iOS Xcode app template to rule out any project issues. This example project failed with the same error as stated above. In the next step we tried the same example project with a different Apple Developer Account and it successfully distributed the example App through Xcode Cloud.
Conclusion
It seems like there is no setup issue on developer-side, because our example project works out-of-the-box on a different Apple Developer Account. Our only hope is that Apple will have a look on our Developer Account. Maybe there is some internal setting.
Topic:
Developer Tools & Services
SubTopic:
Xcode Cloud
Tags:
TestFlight
Signing Certificates
Xcode Cloud
Code Signing
I am unable to add an individual tester to a build. When I attempt to submit the information, the test information is rejected because the phone number is invalid. Only numbers are allowed, the field is set to 03453131234, in fact any combination of digits is rejected,
Hello, I’m trying to change the business model of my app to in-app subscriptions. My goal is to ensure that previous users who paid for the app have access to all premium content seamlessly, without even noticing any changes.
I’ve tried using RevenueCat for this, but I’m not entirely sure it’s working as expected. I would like to use RevenueCat to manage subscriptions, so I’m attempting a hybrid model. On the first launch of the updated app, the plan is to validate the app receipts, extract the originalAppVersion, and store it in a variable. If the original version is lower than the latest paid version, the isPremium variable is set to true, and this status propagates throughout the app. For users with versions equal to or higher than the latest paid version, RevenueCat will handle the subscription status—checking if a subscription is active and determining whether to display the paywall for premium features.
In a sandbox environment, it seems to work fine, but I’ve often encountered situations where the receipt doesn’t exist. I haven’t found a way to test this behavior properly in production. For example, I uploaded the app to TestFlight, but it doesn’t validate the actual transaction for a previously purchased version of the app. Correct me if I’m wrong, but it seems TestFlight doesn’t confirm whether I installed or purchased a paid version of the app.
I need to be 100% sure that users who previously paid for the app won’t face any issues with this migration. Is there any method to verify this behavior in a production-like scenario that I might not be aware of?
I’m sharing the code here to see if you can confirm that it will work as intended or suggest any necessary adjustments.
func fetchAppReceipt(completion: @escaping (Bool) -> Void) {
// Check if the receipt URL exists
guard let receiptURL = Bundle.main.appStoreReceiptURL else {
print("Receipt URL not found.")
requestReceiptRefresh(completion: completion)
return
}
// Check if the receipt file exists at the given path
if !FileManager.default.fileExists(atPath: receiptURL.path) {
print("The receipt does not exist at the specified location. Attempting to fetch a new receipt...")
requestReceiptRefresh(completion: completion)
return
}
do {
// Read the receipt data from the file
let receiptData = try Data(contentsOf: receiptURL)
let receiptString = receiptData.base64EncodedString()
print("Receipt found and encoded in base64: \(receiptString.prefix(50))...")
completion(true)
} catch {
// Handle errors while reading the receipt
print("Error reading the receipt: \(error.localizedDescription). Attempting to fetch a new receipt...")
requestReceiptRefresh(completion: completion)
}
}
func validateAppReceipt(completion: @escaping (Bool) -> Void) {
print("Starting receipt validation...")
guard let receiptURL = Bundle.main.appStoreReceiptURL else {
print("Receipt not found on the device.")
requestReceiptRefresh(completion: completion)
completion(false)
return
}
print("Receipt found at URL: \(receiptURL.absoluteString)")
do {
let receiptData = try Data(contentsOf: receiptURL, options: .alwaysMapped)
print(receiptData)
let receiptString = receiptData.base64EncodedString(options: [])
print("Receipt encoded in base64: \(receiptString.prefix(50))...")
let request = [
"receipt-data": receiptString,
"password": "c8bc9070bf174a8a8df108ef6b8d2ae3" // Shared Secret
]
print("Request prepared for Apple's validation server.")
guard let url = URL(string: "https://buy.itunes.apple.com/verifyReceipt") else {
print("Error: Invalid URL for Apple's validation server.")
completion(false)
return
}
print("Validation URL: \(url.absoluteString)")
var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = "POST"
urlRequest.httpBody = try? JSONSerialization.data(withJSONObject: request)
URLSession.shared.dataTask(with: urlRequest) { data, response, error in
if let error = error {
print("Error sending the request: \(error.localizedDescription)")
completion(false)
return
}
guard let data = data else {
print("No response received from Apple's server.")
completion(false)
return
}
print("Response received from Apple's server.")
do {
if let json = try JSONSerialization.jsonObject(with: data) as? [String: Any] {
print("Response JSON: \(json)")
// Verify original_application_version
if let receipt = json["receipt"] as? [String: Any],
let appVersion = receipt["original_application_version"] as? String {
print("Original application version found: \(appVersion)")
// Save the version in @AppStorage
savedOriginalVersion = appVersion
print("Original version saved in AppStorage: \(appVersion)")
if let appVersionNumber = Double(appVersion), appVersionNumber < 1.62 {
print("Original version is less than 1.62. User considered premium.")
isFirstLaunch = true
completion(true)
} else {
print("Original version is not less than 1.62. User is not premium.")
completion(false)
}
} else {
print("Could not find the original application version in the receipt.")
completion(false)
}
} else {
print("Error parsing the response JSON.")
completion(false)
}
} catch {
print("Error processing the JSON response: \(error.localizedDescription)")
completion(false)
}
}.resume()
} catch {
print("Error reading the receipt: \(error.localizedDescription)")
requestReceiptRefresh(completion: completion)
completion(false)
}
}
Some of these functions might seem redundant, but they are intended to double-check and ensure that the user is not a previous user. Is there any way to be certain that this will work when the app is downloaded from the App Store?
Thanks in advance!
Hi everyone,
I built a new app and pushed it to the Testflight but call/sms is not working. Doesn't Testflight support call/sms feature?
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
TestFlight
SMS and Call Reporting
I see the app in TestFlight. I press install, after a while the circular icon appears fills for a while and then stops and goes right back to install.
How can I install an Apple Watch only app from TestFlight? I have restarted both iPhone and watch. Same thing.
TestFlight has suddenly stopped distributing new builds to internal testers. I can't even manually add those groups the latest builds.
Hello,
We're attempting to validate our application archive through Xcode but the application is crashing during the validate step and we're not sure why.
Platform: macOS 15.1
Arch: arm64
We've confirmed that our developer agreements are up to date (a suggestion made by other posts on these forums). Other suggestions have been to downgrade Xcode but we're hoping there's another explanation.
The application is quite complex - many libraries and framework - but executes as expected during development and testing.
Crash Report
Any insight into this error would be appreciated. We're sure it's something wrong with our plist or archive structure but the crash is limiting our ability to debug.
Hi Everyone,
Over the last week, some of the dev team has suddenly lost access to our test flight builds. Stating "builds expired", we've tried a few things including:
removing the users from both test flight and apple connect
reinstall the apps
after the entire process, they're still stuck with the same "build expired" prompt.
Originally only two devs were having this issue but more have started to follow.
Has anyone seen something similar before?
Thanks,
I submitted an appeal (Appeal Ticket: APL122726), Apple App Review Team responded (24.02) that my demo account does not work (not available to check the application) and asked for restoring it. Demo account was restored by me 10 hours later. I notified App Review Team about it. But I didn't get any response. I can't get any response for one week.
The continued suspension of our app is having a significant impact on our business and our users. Specifically the app's unavailability continues to result in a substantial loss of revenue.
Please, review my appeal.
Thank you.
I want to create test flight for my unity project. But every time I create test flight for internal testing its say couldn't install your app.
Please help
I didn't receive an invitation email in my email when I added management or developer Appleid to my developer account