I am creating an AI powered mobile application for my university dissertation that utilises Google Gemini in order to generate tailored responses with a prerequisite prompt. In order to facilitate this, I use an API key which allows the communication to be made. I received an email upon archiving my application that informed me that:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “Amrit AI.app” bundle should contain a NSSpeechRecognitionUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required."
I have since made the adjustments to my info.plist by adding a description as to why the API key is being used. However, it still has not rectified the issue. I have contacted multiple apple support lines and none of them have been able to help with my error. I am under extreme pressure to upload this application to the App Store before my dissertation deadline as the reviews are critical to my evaluation section. Any help would be much appreciated.
TestFlight
RSS for tagUse TestFlight in App Store Connect to invite and manage beta testers for iOS, iPadOS, tvOS, and watchOS apps. Discuss questions here and share app builds publicly via TestFlight under the Community topic.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Recently, one of our developer, running on an iOS 18.4 device, encountered a strange system screen suggesting that there is a billing issue. Our app has a subscription plan. In the past, during testing, we just purchase the subscription, use it for a few days, then purchase it again. But it does not work now. The system consistently prompts the screen and prompts us to enable "Purchase and renewal" (rough translation by me) to renew the subscription. But as far as I understand, this is only for testing IAP using sandbox users, which we cannot do with TestFlight apps.
Has anyone encountered a similar issue? Is there a temporary workaround?
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Lately TestFlight has been having unexpected delays for me.
For context, I have an app that I am just testing internally right now, so whenever I have a new build the process I follow is:
Upload build to App Store Connect
Wait for build to finish processing (typically less than a minute)
Add compliance info in App Store Connect
Wait for build to be distributed via TestFlight
For the last few months, after I entered the compliance info, my app would be available for TestFlight distribution almost immediately after I entered the compliance info. I would get the email notification and I could see my new build on TestFlight.
I am getting the notifications from App Store Connect that my build has completed processing within a minute or two of uploading it. Then, I enter the compliance information in App Store Connect.
Lately, it has been taking multiple hours in between when I provide the compliance info and when the new build is available on TestFlight though. So there is a seemingly random time period in between when I enter the compliance information and when the app is actually distributed to TestFlight.
I am not sure why this process that used to be immediate now has multiple hours of lag. There also does not appear to be any way for me to manually check on the status or anything. After I enter the compliance info, it is an entirely hidden and automated process to then push that build out to TestFlight.
Is there anything I can do to improve this, or are there any known causes for this issue? I have tried re-submitting another new build version to try and "flush the pipeline", and that worked once before, but it doesn't appear to be working anymore.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
App Store Connect
App Review
TestFlight
Hello,
I created an app using the latest version of Xcode (16.2), and I'm having a problem testing this app on my iPhones.
I created this app just like all the others I've made for my clients, including one on (03/24/25), but when I went to upload another
App to App Store Connect on (03/26/25) I couldn't test it on my phone.
Points to consider:
The app runs perfectly on the Emulator.
All my terms and agreements with Apple are up to date.
I tried to download the apps through Testflight on 2 different devices, iPhone 7 Plus (iOS 15.8.1) and iPhone 15 Pro Max (iOS 18.3.2), and I was unsuccessful in neither attempt.
I can send my app to the internal testers, but when I click download, the following message appears:
Could not install [APP NAME].
The requested App is not available or doesn't exist.
I imagine this problem is with Apple itself, I have already contacted support, but I need to resolve this urgently for my customers.
Has anyone experienced this and resolved it?
We're testing our app using TestFlight and we noticed that some of our beta users can access our app without accepting the TestFlight build invitation. Is this normal?
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
I'm testing my app on a Testflight before release. Right now I haven't pass my review yet (was rejected). When I go to Settings > My name > Subscriptions I can see my subscription with an empty thumbnail(no app logo). Could anyone know how to solve this issue?
Hello everyone.
As new versions come out, I find myself with a collection of versions I'd like to purge.
I started requesting build expiration, but it takes a long time and outdated versions remain visible. How do I remove all these entries?
Hi I have a very strange problem: my phone number can not be saved. I manually typed but it always says format need to only contains number.
However it works when I add "+". This error message is misleading and need to be fixed
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
In App Store Connect I've uploaded a new build, but I'm unable to distribute the App to my tester groups - including internal. The internal group is grayed out. I am able to Select an External group but they actually do not receive any email notification nor do they see any update within their TestFlight App.
I've attempted to upload the build a few times, including old builds which had been distributed in the past to no avail.
I'm not able to distribute to any tester group, please advise.
Uploaded a build yesterday and it deployed to internal TestFlight group without any issue. But all the builds uploaded today are still not deployed for testing. I tried uploading multiple builds for two different apps. But the issue is still the same even after 18 hours.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
I archived and distributed a new version of my app (with new build number) and it shows up in the Appstore connect (no issues here). But the new version doesn't show up in the Testflight app, nor did the internal testers receive any email regarding the new update. I have waited for 3 hours now, and still no progress on this.
This issue is happening out of the blue. The whole process was working fine yesterday. I did a couple of things to debug this issue, along with:
Changed build version couple of times
Reset provisioning profile
Created new testing group, added users, added build manually
No matter what I do, I'm unable to get the new version of the app to show in the Testflight app for my internal testers. I have also contacted apple support via email, waiting for their response.
Any help appreciated! Thanks
Hello,
I uploaded a new iOS build (1.0.1 - Build 180) to App Store Connect for my app "Benimle Konus". The build has been processed successfully and is marked as "Ready to Test". However, when I try to assign this build to any internal TestFlight group, the group checkboxes are greyed out and cannot be selected.
I’ve made sure that:
All required metadata is filled out.
What’s New and compliance information is complete.
Previous builds worked with the same TestFlight groups.
To fix this, I have uploaded 3 separate builds, but the issue still persists with all of them.
There are no error messages, but I can't continue testing because I can't assign the build to testers.
App ID: 6742759002
Bundle ID: com.benimlekonus.app
Build Version: 1.0.1 (180)
Is this a known issue or something I'm missing? Any help would be appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
iPhone
Xcode
TestFlight
Testing
I have two platform for my IOS app, tvOS and IOS , i created group by Manual Distribution in TestFlight, and added testers and build, But i see
No Builds Available status in my tester account, and invitation also does not send
Seems that recent TestFlight update (3.8.0) is broken on iOS 14.1. It crashes on launch. It worked fine on the same device just few days ago (I assumed it was 3.7.1). I uninstalled the TF and installed it again but it doesn't help.
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0
Attached is the crash report.
I would appreciate if you guys can quickly fix it, or provide a solution.
Thank you.
Crash report
ola muito boa noite, tenho um app que estou testando, coloquei no grupo interno e tudo bem, porem o grupo externo, não aparece disponível para que eu possa vincular a minha versão, assim não consigo disponibilizar para testadores externos, podem me ajudar?
Atenciosamente,
Denis Fernandes
I'm developing a React Native app using Expo, and I'm encountering crashes on iOS devices. The app is deployed via TestFlight and is also being tested on a physical iPhone. However, I'm struggling to interpret the iOS crash logs and pinpoint the root cause of the crashes.
Issue:
-The app runs fine in development mode.
-On TestFlight and physical devices, it sometimes crashes without clear error messages in the Expo logs
-Having difficulty reading the error logs
Errors:
COSMCtrl applyPolicyDelta unexpected absence of policy on appRecord com.xxxxx.xxxx bg time + grace
BBRemoteDataProvider: <BBDataProviderIdentity 0x300534a00; com.xxxxx.xxxx> does not respond to noteSectionInfoDidChange:
Advisor: No handle found for currently focused PID: 72765; sceneIdentity: com.apple.frontboard.systemappservices/FBSceneManager:sceneID%3Acom.xxxxx.xxxxapp-default
[<_UIKeyboardArbiterClientHandle: 0x30111f8e0; [app<com.xxxxx.xxxx(9BD12DED-F3C3-4C92-82E5-0810D8796F6F)>:72765] <<UIKBArbiterClientFocusContext: 0x302fe1be0; contextID = 6ae54085; sceneIdentity = com.apple.frontboard.systemappservices/FBSceneManager:sceneID%3Acom.xxxxx.xxxx-default >>; hosting PIDs {(
)}; level 0.000000; active NO [wants NO]; suppression 0; iav 0.000000; on screen NO; isAcquiringFocus: YES>] Acquiring focus timer elapsed, clearing acquiring focus state
What I've Tried:
-Checked Expo & React Native logs (npx expo start --clear).
-Enabled Debug Mode on a physical iPhone (device logs via Console.app).
-Reviewed Crash Logs in EAS.
-Checked Apple Developer Logs.
-Looked into App State Changes (AppState.addEventListener) since crashes sometimes happen when the app moves to the background.
Questions:
-How can I properly decode iOS crash logs to identify the cause?
-Are there specific Expo or React Native debugging tools for analyzing iOS crashes?
-Are there common issues with background execution policies that might cause this in React Native?
Tech Stack:
React Native: 0.72+
Expo SDK: 49+
State Management: Context API + SQLite local storage
Auth: SecureStore + JWT + API authentication
Notifications: Expo Notifications API
Backend: Node.js / Express (hosted on Heroku)
Build System: EAS Build for iOS (Managed Workflow)
iPhone Model: iPhone 13 (physical device)
So I submitted my app for TestFlight external testing and got this email:
ITMS-90078: Missing potentially required entitlement - Your app, or a library that’s included in your app, uses Apple Push Notification service (APNs) registration APIs, but the APS Environment Entitlement isn’t included in the app signature’s entitlements. If your app uses APNs, make sure the App ID is enabled for push notifications in Certificates, Identifiers & Profiles, sign the app with a distribution provisioning profile that includes the APS Environment Entitlement, and upload a new build to ensure that push notifications function as intended. For details, visit: https://developer.apple.com/documentation/usernotifications/registering-your-app-with-apns.
But here's the thing: everything this says is 100% bogus. My app uses no libraries and no push notification service registration APIs.
The term register is used in my app, because I use table view cell registrations. Could that be the cause of this bogus warning?
On the developer portal , I have a mention of 13 feedback for my app in test.
On the portal I have only access to 2 of them, the same in Xcode Organizer for the same version of course.
This is important for us to have feedback from users betatesting our apps.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Hi,
I’m experiencing an issue where my React Native (Expo) app crashes immediately in TestFlight after launching, but it works fine in Expo Go and the iOS Simulator. This is my first time building an IOS app, so I'm not sure where I'm going wrong.
Are there known issues with JS bundle loading, native module compatibility, or API entitlements that could be causing this?
What tools or logs should I use to track the exact source of failure? Any guidance would be greatly appreciated! Thank you.
Steps Taken:
The app runs fine in Expo Go (npx expo start --no-dev --minify)
and in the iOS Simulator (npx expo run:ios --clean).
I also did (npx expo-doctor) and it passed all 15 checks. After building with EAS (eas build --platform ios --profile production), the TestFlight build crashes on launch.
I checked Xcode logs (Devices & Simulators > View Device Logs) and found this error:
`Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: LoungeNavigator [4666]
Triggered by Thread: 6 Thread 6 name:
Thread 6 Crashed:
Thread 6 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000
My app.json file:
"expo": {
"name": "appname",
"slug": "app",
"owner": "baint",
"version": "0.5.2",
"orientation": "portrait",
"icon": "./assets/images/IOS-App-Icon.png",
"scheme": "myapp",
"userInterfaceStyle": "automatic",
"newArchEnabled": true,
"ios": {
"supportsTablet": true,
"bundleIdentifier": "bundleIdentifier",
"icon": "./assets/images/IOS-App-Icon.png",
"buildNumber": "7",
"infoPlist": {
"NSLocationAlwaysAndWhenInUseUsageDescription": "This app requires access to your location at all times.",
"NSLocationAlwaysUsageDescription": "This app needs your location even when the app is in the background.",
"NSLocationWhenInUseUsageDescription": "We need your location.",
"ITSAppUsesNonExemptEncryption": false
}
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/images/IOS-App-Icon.png",
"backgroundColor": "#ffffff"
},
"package": "identifier"
},
"web": {
"bundler": "metro",
"output": "static",
"favicon": "./assets/images/favicon.png"
},
"plugins": [
"expo-router",
[
"expo-splash-screen",
{
"image": "./assets/images/IOS-App-Icon.png",
"imageWidth": 200,
"resizeMode": "contain",
"backgroundColor": "#ffffff"
}
],
"expo-asset",
[
"@rnmapbox/maps",
{
"RNMapboxMapsImpl": "mapbox",
"ios": {
"RNMapboxMapsDownloadToken": "token",
"RNMapboxMapsAccessToken": "token",
"NSLocationAlwaysAndWhenInUseUsageDescription": "This app requires access to your location at all times.",
"NSLocationAlwaysUsageDescription": "This app needs your location even when the app is in the background.",
"NSLocationWhenInUseUsageDescription": "We need your location."
}
}
],
[
"expo-build-properties",
{
"ios": {
"useFrameworks": "static",
"useModularHeaders": true
}
}
]
],
"experiments": {
"typedRoutes": true
},
"extra": {
"router": {
"origin": false
},
"eas": {
"projectId": "projectid"
}
}
}
}
My eas.json file:
"cli": {
"version": ">= 14.7.1",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"internal": {
"distribution": "store",
"ios": {
"credentialsSource": "remote"
},
"autoIncrement": true,
"env": {
"EXPO_PUBLIC_NODE_ENV": "production"
}
},
"production": {
"autoIncrement": true,
"distribution": "store",
"env": {
"EXPO_PUBLIC_NODE_ENV": "production"
}
}
},
"submit": {
"production": {
"ios": {
"ascAppId": "ascAppId",
"appleId": "appleId",
"ascApiKeyPath": "ascApiKeyPath"
}
}
}
}
I have an app currently in beta testing, and my primary QA person tries to send the crash log for this one particular bug:
The night before, he finished testing the app on an iPhone, left the app running in the background and the phone charging. The phone went to sleep. The phone is running the latest release of iOS 18.
In the morning he wakes up the phone and gets the alert that the app "*** Crashed. Do you want to share additional information with the developer?" He taps Share, but I don't get a crash log in the organizer.
I've gotten other crash logs in the organizer as recently as 2 weeks ago, This one has occurred several times and always fails to produce a report. I have tried doing the same steps without seeing any crash.
Any ideas?
Mike