Hello developers !
My team and I are currently trying to migrate to the new Xcode 16 version.
We encounter a blocker problem with the new Xcode when submitting a new build on TestFlight.
The problem :
ITMS-90338: Non-public API usage - The app references non-public selectors in AccorHotelsApp: setSupportedInterfaceOrientations:.
We tried several things to solve the issue :
remove all the frameworks that are not built by us ; the issue is still present
remove the code related to this API in our base code and the frameworks ; the issue is fixed
remove only the code related to this API in our base code ; the issue is fixed
This indicates that the problem is the code related to this API.
The code removed :
override public var supportedInterfaceOrientations: UIInterfaceOrientationMask {
get { configuration.orientation }
set { _ = newValue }
}
This code is located in our local SPM. It's used to handle orientation of our app depending on specifics configuration given as a parameter.
Why Xcode 16 is detecting this API as a private one and consider this as an issue ? Is there a specific configuration we need to do in the local SPM package ?
We are investigating on our side if we can find an alternative solution by changing this code, but this does not seem a bad usage as described in Apple documentation.
Thank you for your help,
Regards.
RIVIERE Nicolas
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.
Post
Replies
Boosts
Views
Activity
I received the follow error result and based on my research, it seems that it may be a false positive.
Web3podium
Version 1.0.8
Build 45
Please correct the following issues and upload a new binary to App Store Connect.
ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/JitsiMeetSDK.framework/JitsiMeetSDK: initWithURLStrings:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
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 “Runner.app” bundle should contain a NSPhotoLibraryUsageDescription 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. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
This false positive perspective is based on looking to this issue online and looking at the existing Jitsi Meet implementations. We would appreciate guidance and direction for this pretty large and significant open source repository being leveraged.
https://github.com/jitsi/jitsi-meet/issues/8624#issuecomment-781361671
Hi, i need to change the name of an app im testing because I named it what I want the final release to be and I cant archive the final project from the original test project.
So basically I just need to either delete the app from test flgiht or change its name.
iv already tried uploading it in a different name but it just makes a new app and the original one remains.
So far it doesnt seem possible to do either by myself right?
Thanks
Good afternoon
The essence of the question: our product is written in .net maui (a framework for cross-platform development from microsoft), when we use the profile for development in the build and directly install the application on the iPhone, everything works fine. But if you take the same build with the same settings, replace the development profile with the distribution profile, assemble and send it to TestFlight, install it on the same iPhone - when the application is launched, a crash occurs.
Yes, we studied the logs, and at the moment we have come to the theory that maybe the main problem lies inside the maui framework, but still - why will the behavior of the application change so much when using different profiles? From full functionality when using the development profile, to crash at the start when using the distribution profile. What exactly changes when you change your profile? Is there any documentation on this topic? Or advice from those who are more knowledgeable about this topic?
Thanks in advance for any reply
I'm having an issue with an app installation on my iPhone where it keeps installing the latest TestFlight version instead of the public App Store version. Here are the details:
I initially installed version 1.24 of the app via TestFlight.
I then uninstalled both the app and TestFlight and tried to reinstall the app from the App Store, which should be version 1.6 (the current public release).
Despite this, the App Store keeps installing version 1.24, which is the TestFlight version.
Here’s what I’ve tried so far:
Uninstalled both the app and TestFlight.
Restarted the iPhone to clear any cached data.
Tried offloading and reinstalling the App Store app through Settings to clear its cache.
Reinstalled only the App Store version, but the device still downloads the TestFlight release.
Has anyone experienced this before? Are there additional steps I can take to reset the association to the App Store version? Any insights would be greatly appreciated. Thank you!
Issue Submitting Builds for Beta Review - "Beta Contract is Missing"
We are currently facing an issue in Testflight when trying to submit new builds for review for external Beta testing. Each time we attempt to submit a build in the "What to Test" dialog, we receive the following error message:
"There was an error processing your request. Please try again later."
Upon inspecting the browser response when clicking "Submit for Review" in the "What to Test" dialog, we found the following details:
code: "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING" detail: "Beta Contract is missing." id: "4ed15cb2-2732-4100-a660-0899dcb0e25a" status: "422" title: "Beta contract is missing for the app."
However, after checking the Developer Console, we are unable to locate any missing information or steps that need to be addressed.
We would greatly appreciate your assistance in resolving this issue as soon as possible, as we are currently unable to push any new builds for testing.
What we’re currently trying to do:
Contact Apple Developer Support (no response for about 2 weeks)
Create a new app bundle
Build on a different machine/Mac
Rebuild a previous version of the game that worked before
Create a new app on another account (it worked, but the build was rejected—THANK YOU FOR NOTHING—because it’s considered a copy of our own game)
We need to test before release, and we’re now three weeks behind our plans!
My main app contains a complete sub app, but when I put this app on TestFlight, the startup report says that The provisioning profile is invalid; The main app was launched separately and runs normally. Please help me deal with the issue of invalid preset description files. Thank you
myapp.app
--Contents
--bin
--subapp.app
--Contents
--MacOS
--Frameworks
--MacOS
--Frameworks
I am using an iPhone 14, with IOS 18 on a managed account and keep getting "Temporarily Unavailable" error when trying to launch TestFlight. This app worked on another organization managed device (same device, IOS) but several others are giving temp unavailable errors. Can anyone help guide me on how to fix this error? I have tried uninstalling, restarting, reinstalling several times with no luck.
Can someone tell me how to fix the TestFlight “temporarily unavailable” error? I am using an iPhone 14 with IOS 18 and the device is under an organized managed account TestFlight works on another phone on the same account but gives error on others.
Hi guys, I’m writing an app that integrates Screen Time API more specifically one that has only DeviceActivityReport.
The app runs as expected but I have an issue when pushing it to AppStoreConnect:
Provisioning profile failed qualification: Profile doesn't support Family Controls (Development).
Provisioning profile failed qualification: Profile doesn't include the com.apple.developer.family-controls entitlement.
Provisioning profile failed qualification: Profile doesn't support Family Controls (Development).
Provisioning profile failed qualification: Profile doesn't include the com.apple.developer.family-controls entitlement.
My app has Family Controls (Development) set in Capabilities, entitlement file, provisioning profile and distribution certificates.
I have already requested Apple for the entitlement key for Family Controls (I’m waiting for them to reply).
So, I have few questions now:
Can I distribute a build for internal testers via TestFlight without waiting for Apple’s reply to my request?
Do I need to wait Apple’s reply to distribute the app to internal tester under Family Controls (Development) ?
Has anybody had the same issue and solved it without waiting for Apple to approve the request during development (no distribution)?
I have done a deep search about this topic but it is still not clear to me if an internal build could be distributed under Family Controls (Development) or if it is mandatory to wait for the distribution one
Unable to upload new ipa builds to TestFlight since today
Same scenario described here:
https://forums.developer.apple.com/forums/thread/738942
User clicked accept for an internal tester invitation sent to their work apple id on their personal device which was signed in with their personal apple id.
This seems to have redeemed the code to the users personal account. However, the user has removed themselves from testing the app and we're trying to get their work apple id registered but the invite code that keeps being sent is coming back saying invalid.
Things we've tried:
We located the last build the user installed on their device and expired the builds
deleted / readded the work apple id to internal testing group
It's still sending the same invitation code from TestFlight and saying that the code cannot be redeemed.
Good day,
I'm trying to update an old app that was removed from sale due to lack of updates. I've created a new binary that I would like to test on more devices, and I do see it in App Store Connect under the "TestFlight" tab for my app, but when I try install it through TestFlight on my iPad I get a message that states it could not install because "The requested app is not available or doesn't exist".
I am still working on the app in question, so I don't have a new release ready yet, but I do need to test what I have so far on a few more devices... So now I'm a little but stuck.
I do I see any way to request my app be "restored" from within App Store Connect, nor have I found any way to contact Apple Support that seems appropriate for my situation...
Can anyone perhaps help guide me in the right direction here? What do I need to do to get this issue resolved?
Hello community,
is it possible publish again an old version mobile app in Test Flight for a group of testers? The status of course is Expired, but I would like to active it again.
Many thanks
I'm trying to sign in to the Sandbox account on iOS, but nothing is happening. The "Sign In" button is just inactive for a few seconds.
please help. i've tired every solution i can find online, and believe they may be outdated in most recent version of Xcode:
https://forums.developer.apple.com/forums/thread/92638
https://stackoverflow.com/questions/46216718/missing-cfbundleiconname-in-xcode9-ios11-app-release
Here is the error when distributing the build to testflight ->
Asset validation failed
Missing Info.plist value. A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'lucaspfeiffer.sun'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7. (ID: 47b317ae-c06a-425b-9fc7-3c9e6ac9c001)
Asset validation failed
Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface (ID: 362522bf-f96c-4cf2-99b6-8d984ef546b8)
Asset validation failed
Missing required icon file. The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 10.0. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface (ID: 9c5a2bcf-36ae-42bf-80fe-705dbe6e85d7)
Installing testflight internal test package, failed to start
Testflight external test, build version failed
I am having this issue as well. My app was removed from sale, I uploaded a new build and am trying to test it using "TestFlight".
TestFlight shows the new build as "Testing". My test users get an email, re the new build, but when they try to install it the TestFlight app advises "Could not install . The requested app is not available or does not exist".
Obviously I need to test my new build before submitting it to the App Store.
The Apple team tells me that I must verify a distribution mechanism other than the APP Store, however for us it is necessary that the application be published for those who need to download it, how can I correct this situation?