TestFlight

RSS for tag

Use 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.

TestFlight Documentation

Posts under TestFlight subtopic

Post

Replies

Boosts

Views

Activity

Build stuck in "Processing" status for hours
Hi everyone, I uploaded two builds to App Store Connect today, but they have been stuck in "Processing" status for 10 hours now: Build 1.0 (10): Uploaded at Jan 14, 2026 5:03 AM - still Processing Build 1.0 (9): Uploaded at Jan 14, 2026 4:23 AM(UTC+8) - still Processing Usually my builds complete processing within 10-30 minutes. Is there a known issue with build processing today, or is there something I should check on my end? Any help would be appreciated. Thanks!
45
51
3.8k
23h
Invoking app clip, that was installed from TestFlight, from a different app.
I have an app clip installed via TestFlight. My AASA file is configured correctly (per 'Domain Status' in TestFlight). I want to be able to run the app clip flow (app clip card showing and app clip card launched) by invoking UIApplication.shared.open(url) from a different app, or by pressing the URL from notes app. This doesn't seem to work. The only thing I am able to do is run the flow when scanning a proper QR code after configuring Local Experience with the matching parameters. But as stated above, the flow will not work when invoking the URL from a different app. Is the proper way to fix this is to define an HTML page for that URL path that contain the element with app-clip-bundle-id attribute that will match the Local Experience configuration? Is there another way to make this flow work with TestFlight releases? what are my options?
4
0
213
1d
TestFlight install fails with “The requested app is not available or doesn’t exist” after successful upload (Flutter app)
Hello, I’m facing an issue installing my app from TestFlight on a physical iPhone device. App & Environment App: Desi Charades Framework: Flutter Distribution: TestFlight Build status: Upload completed Device: iPhone 7+ iOS version: 15.6 Tester type: Internal Apple Developer Program: Paid account Issue Description After uploading a build successfully to App Store Connect and adding it to TestFlight, the app appears in TestFlight with the Install button. However, when I tap Install, I receive the following error on the device: “Could not install Desi Charades App. The requested app is not available or doesn’t exist.” The build is visible in TestFlight, but installation fails immediately. Upload Warnings During archive upload, App Store Connect shows the following warnings: Upload Symbols Failed The archive did not include a dSYM for: ffmpegkit.framework libavcodec.framework libavdevice.framework The app uses ffmpeg-kit (Flutter plugin), which ships precompiled frameworks. Steps Already Checked Build shows in TestFlight Build added to test group Tester is assigned correctly Correct Apple ID signed in on device Device restarted Waited for processing to complete App Store availability set to “All Countries or Regions” Questions Can missing dSYM files for ffmpeg-kit frameworks cause TestFlight install failures? Are there additional TestFlight availability or processing checks that could cause this error? Is this error related to TestFlight build propagation or caching on Apple’s side? Any guidance on what could cause TestFlight to show the app but fail installation would be appreciated. Thank you.
0
0
22
1d
Sandbox: Pending transaction keeps replaying on app start / when switching users — any solution?
Hi, We're seeing a recurring issue in Sandbox only with in-app subscriptions (StoreKit 2). Hoping someone has run into this and has a workaround or explanation. What happens A subscription purchase (e.g. Yearly) is made in Sandbox. For whatever reason, the transaction stays pending in the queue. On the next app launch (or when a different user logs into the app on the same device), the store returns this same pending transaction via getAvailablePurchases() / the purchase queue. Our app sends that transaction to our backend for validation and updates the currently logged-in user in our database. So the same transaction can end up being applied to another user if they log in on the same device after the original purchaser. We call finishTransaction after successful validation, but the pending transaction still reappears in subsequent sessions or for another user on the same device. So in short: one Sandbox purchase stays "pending" and is replayed every time we start the app or switch accounts, and we can't rely on it being tied to a single user. Environment Sandbox only (we haven't shipped to production yet). StoreKit 2 / modern App Store Server API (transaction ID validation). We run getAvailablePurchases() on connect and process pending purchases once per session; we then call finishTransaction only after our server has validated and updated the user. Same device, multiple app accounts (different app users, same Sandbox Apple ID or same device). What we're trying to understand Is it expected in Sandbox that one transaction can be delivered again and again (on each launch or for each user on the device) until something clears it? Is there a recommended way to clear or ignore a specific pending transaction in Sandbox when we've already validated it for a given user (e.g. idempotency key, or a way to "consume" it so it doesn't replay)? Has anyone else hit this "same pending transaction replaying for different users / on every launch" in Sandbox and found a reliable approach (e.g. server-side idempotency, or a StoreKit/Sandbox step we're missing)? We've added server-side protection (one transaction → one user) so the same purchase isn't credited to multiple accounts, but we'd like to understand if there's a proper way to handle or clear this pending state in Sandbox. Thanks in advance.
0
0
97
2d
TestFilght updates to previous build Version automatically
Hello, I’d like to share an issue we recently experienced with TestFlight and ask whether this behavior is expected. Environment App version string: 1.0.0 Multiple builds uploaded via CI/CD Both external TestFlight testing and internal CI builds exist Testers had automatic updates enabled in TestFlight What happened We uploaded build 1.0.0 (2601161653) and assigned it to an external TestFlight group. Testers installed this build and were testing normally. Later, we uploaded a newer build 1.0.0 (5) and reassigned the same external testers to this build. Testers successfully updated to 1.0.0 (5) and continued testing. After some time (without any manual action from testers), testers received a system notification saying that: “The App has been updated. Version 1.0.0 (2601161653) was automatically downloaded and installed.” When opening TestFlight, the app showed 1.0.0 (5) again as available for update, meaning the device had already been rolled back to 1.0.0 (2601161653). Additional context There are many archived builds in App Store Connect due to CI/CD testing. Some CI builds share the same version string but differ only in build number. External test groups were only explicitly assigned to build 1.0.0 (5) at the time of the rollback. Build 2601161653 did not have any external test group assigned at that moment. No App Store release or metadata changes occurred during this time. Questions If a tester’s currently installed build becomes temporarily unavailable (e.g. due to eligibility, internal status changes, or TestFlight processing), does TestFlight automatically fall back to a previously approved build? Is this automatic rollback behavior an intended part of TestFlight’s build availability logic, especially when multiple builds with the same version string exist? Can frequent CI/CD uploads (without consistent external group assignment) influence which build TestFlight considers “eligible” or “latest” for testers? Summary From our observation, it appears that when the currently tested build temporarily lost eligibility, TestFlight automatically installed a previous build that was still considered available, even though a newer build existed. We’d appreciate any clarification on whether this behavior is expected or if there are best practices to avoid this situation when using CI/CD with TestFlight. Thank you.
0
0
43
3d
TestFlight builds expired across multiple apps; new builds cannot be installed (“Requested app is not available or doesn’t exist”)
Hi, I’m experiencing a TestFlight issue affecting multiple apps in my account. Issue summary: • Several TestFlight builds across all of my apps expired at the same time. • After uploading new replacement builds, neither I nor my testers are able to install them. • Installation fails with the message: “Could not install {App Name}. The requested app is not available or doesn’t exist.” • The build shows as processed and available in App Store Connect. • Testers are already invited and active. • No redeem code is required. I am seeing the same issue on my own device as well. What I’ve tried: • Uploading new builds (incremented version + build number). • Confirmed builds are visible and available in App Store Connect. • Removing and re-adding testers. • Logging out of the app. • Deleting the app from the device. • Restarting the device. • Reinstalling directly from TestFlight. • Restarting TestFlight. Despite this, installation consistently fails with the “requested app is not available or doesn’t exist” error. Expected behavior: • New TestFlight builds should be installable once processed and available. • Testers (and the developer) should be able to install directly from TestFlight. • Expired builds should not block installation of newly uploaded builds. Additional context: • This started immediately after multiple TestFlight builds expired across my apps. • All affected apps were previously installing and testing without issue. • Apple Developer Support has been contacted, but I wanted to check whether others are seeing the same behavior or if there is a known workaround. Has anyone else encountered TestFlight builds becoming unavailable across multiple apps at once, or an install failure after replacing expired builds
2
1
183
5d
IAP TestFlight subscription of for the wrong country store (Mac)
Hi there, When I build my app in Xcode using a synched AppstoreConnect Storekit file, when using subscriptions, I am sent to the correct (for me) UK store to purchase a subscription. However when using the same build as a TestFlight App I am presented with the US store.. If I try to purchase a $ subscription I get the error: Account not in this store Your account is not valid for use in the U.S. store. You must switch to the U.K. store before purchasing If I try to use the presented Change App Store button - I get Unable to Complete request Error My AppStore on my Mac is set to the UK store.. How can I get the TestFlight version to present the correct store locale? Many thanks!
0
1
67
1w
TESTFLIGHT: The requested app is not available or doesn t exist
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?
8
4
777
1w
TestFlight build visible on macOS but not installable: “Can only be tested on an iOS device” for Mac (Designed for iPad)
Hello everyone. We have an app that has been on the App Store for several years, originally distributed for iOS and iPadOS only. Recently, we enabled Mac (Designed for iPad) and started distributing macOS-compatible builds. Current situation: The app is available and downloadable from the macOS App Store and runs correctly on Apple Silicon Macs. The same app/build appears in TestFlight on macOS, but cannot be installed. TestFlight shows the message: “This app can only be tested on an iOS device.” This suggests the app itself is Mac-compatible, but TestFlight is treating the build as iOS-only. Environment and checks performed: Mac is Apple Silicon. App Store Connect app-level availability for Mac (Designed for iPad) is enabled. The app is not Mac Catalyst; it is a UIKit iOS/iPadOS app. Distribution is done via GitLab CI. CI uploads use an App Store provisioning profile (Apple Distribution), not development or ad-hoc. iPhone and iPad TestFlight installs work as expected. Info.plist verification: UIRequiredDeviceCapabilities was originally present (armv7) and has since been: removed entirely, build number incremented, new builds uploaded to TestFlight. No other hardware capability requirements are declared. LSRequiresIPhoneOS = true remains unchanged. No other plist keys that should exclude macOS are present. CI / build considerations: The same uploaded build is accepted by App Store Connect and distributed successfully on the macOS App Store. This tells us the binary itself is valid for macOS, but TestFlight applies additional or different eligibility checks. At the moment we think that TestFlight eligibility may depend on build metadata, scheme/configuration flags, or internal App Store Connect state that differs from App Store distribution. Questions: Are there known cases where a build is valid for macOS App Store distribution but not eligible for macOS TestFlight installation? Does anyone know if TestFlight applies stricter or different platform gating than the App Store for “Mac (Designed for iPad)” apps? Are there specific build settings (e.g. SUPPORTS_MAC_DESIGNED_FOR_IPAD, TARGETED_DEVICE_FAMILY, scheme/config mismatches) that can affect TestFlight macOS eligibility independently of App Store eligibility? Is there an authoritative way in App Store Connect to inspect why a specific TestFlight build is marked as “iOS-only” for macOS? Any insight into TestFlight-specific eligibility rules for “Mac (Designed for iPad)” would be appreciated, especially given that App Store distribution for macOS is already working. I hope we're missing something very basic, and not that the app can't be tested as is for the mac, because it's useful to have our QA team test it on the mac.
0
0
69
1w
Testing crossgrades with frequency
I’m trying to test a crossgrade on a subscription plan that has the same duration and price. When running tests with renewal intervals shorter than one hour, and managing or modifying the subscription, I see a payment confirmation message that says “You’ll pay X euros today.” This message is confusing because it sounds like an immediate charge, whereas my understanding is that the payment actually occurs at the next renewal, which in the test environment happens “today” due to the accelerated renewal frequency (1 hour or less). To make sure this works as expected, according to the official documentation, when testing in TestFlight the renewal frequency is 1 day. Therefore, when managing and modifying the subscription to perform the crossgrade, I would expect the UI to indicate that the payment will occur tomorrow. However, when I manage the subscription from the device’s Developer section, it indicates that the subscription will renew today, and as a result, during the crossgrade flow it again shows that I will pay X euros today. Is there any way to properly test this scenario? Or should I assume that in production the crossgrade behavior will match the documented explanation?
0
0
35
1w
Test subscribe on test flight
Hi! I created a subscription class and a button that starts the purchase flow. In the Xcode environment and Simulator everything works correctly — the purchase sheet appears and the subscription flow works as expected. But when I test the app in TestFlight, the subscription button doesn’t appear at all. I cannot trigger a purchase, and I can’t find a clear tutorial that explains how to make subscriptions work specifically in TestFlight. Here is what I have already done: I created the subscription in App Store Connect I set up a Sandbox account and logged in on the device. StoreKit sync works and the product ID matches the one in App Store Connect. The same code works perfectly in Xcode Debug and Simulator, but the button is missing in TestFlight. I’m totally stuck. Can someone explain how to correctly set up and test subscriptions in TestFlight and why the subscription button would disappear even though everything works in Xcode? Any help or guidance would be greatly appreciated! THIS IS SUB CLASS @Published private(set) var products: [Product] = [] @Published private(set) var activeSubscriptions: Set<StoreKit.Transaction> = [] private var updates: Task<Void, Never>? var hasActiveSubscription: Bool { activeSubscriptions.contains { transaction in guard let expirationDate = transaction.expirationDate else { return false } return expirationDate > Date() && transaction.revocationDate == nil } } init() { updates = Task { for await update in StoreKit.Transaction.updates { if case .verified(let transaction) = update { activeSubscriptions.insert(transaction) await transaction.finish() } } } } deinit { updates?.cancel() } // MARK: PRODUCT LOADING func fetchProducts() async { do { let ids = ["test_name"] products = try await Product.products(for: ids) } catch { print("Failed to load products: \(error)") products = [] } } // MARK: PURCHASE func purchase(_ product: Product) async throws { let result = try await product.purchase() switch result { case let .success(.verified(transaction)): await transaction.finish() case .success(.unverified): break case .pending: break case .userCancelled: break @unknown default: break } } // MARK: ACTIVE SUBSCRIPTIONS func fetchActiveSubsciptions() async { var active: Set<StoreKit.Transaction> = [] for await entitlement in StoreKit.Transaction.currentEntitlements { if case .verified(let transaction) = entitlement { active.insert(transaction) } } self.activeSubscriptions = active } > ``` THIS IS BUTTON ```VStack(spacing: 8) { ForEach(sub.products) { product in PrimaryButtonView(text: mainButtonTitle) { Task { do { try await sub.purchase(product) } catch { print("Purchase error: \(error)") } } } } }```
1
0
102
1w
TestFlight on Mac
I’m having an issue installing my TestFlight build on a Mac. The build (v1.0 build 1) uploads successfully and shows as “Complete” in App Store Connect. I can also open the build details page, and my Apple ID / tester access / group setup looks correct. However, on TestFlight (macOS), when I tap Install/Load, I get this error: Unable to install. The requested app isn’t available or can’t be found. Notes: The app is an iOS app (iPhone + iPad), and I enabled availability for Mac (Designed for iPad) in App Store Connect. The Mac is Apple Silicon, running macOS Tahoe 26.1. Could you help me understand why TestFlight shows this message on Mac, and what I should change in Xcode/App Store Connect to make the build compatible?
1
0
75
1w
90725: SDK version issue - iOS SDK 26 support
Hi guys, I need some help with an issue. When I submit my testing app to TestFlight, it gets uploaded successfully, but I'm not able to download it from TestFlight. I'm getting this error: SDK version issue: This app was built with the iOS 18.2 SDK. Starting April 2026, all iOS and iPadOS apps must be built with the iOS 26 SDK or later, included in Xcode 26 or later, in order to be uploaded to App Store Connect or submitted for distribution. It’s obvious that we all need to update to the iOS 26 SDK before April 2026, but my question is: Why is TestFlight already blocking builds 3 months before the actual enforcement date? Is anyone else facing this issue, and is there any known resolution or workaround? Your help or suggestions would be appreciated.
1
0
192
1w
Asset validation failed Missing Info.plist value. A value for the Info.plist key 'CFBundleIconName' is missing
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)
2
0
927
1w
app name not updating in TestFlight
tried all sorts of things and lots of recommendations from "ChatGPT" (boo... yeah sure it is going to take all of our jobs by just guessing at wrong answers... we can do that ourselves, haha) which yielded no answer. we are trying to change the app name but it keeps showing the old name in Test Flight. app shows proper name when installed on device from test flight. yes we are changing the "cf bundle display name" ... i did try deleting test flight and re-installing it, and also deleting app and re-installing it from test flight. still shows old name in test flight. this is a branding issue, the client wants to see the new name. how to fix this?
0
0
59
2w
TestFlight Call To Action With Essential Download
Hello, I was just installing an app from TestFlight that has an Essential Asset Pack that's a few GBs in size. It appears the Call To Action inside of TestFlight doesn't take into consideration the Background Asset download status before it changes from Installing to Open. I can't test if this is also the case for apps on the App Store, but I'd expect that it is.
3
1
307
2w
Conflict with Business ID and Personal account for Testflight
I’m hitting a persistent conflict between my Business (Managed) Apple ID and my personal Apple ID when trying to use TestFlight. My Business ID is correctly tied to App Store Connect, but the device always forces TestFlight to associate with my personal Apple ID. When I try to “Review” the Business ID in the App Store, I get the endless loop: “This Apple ID has not been used in the iTunes Store.” The review flow never completes. What I’ve already confirmed: Business/Managed Apple IDs cannot be activated for the App Store -Signing out of Media & Purchases doesn’t fix it -Tried on multiple devices - sign out - same behaviour -TestFlight still forces a personal Apple ID login even when everything else is configured correctly This looks like a reproducible conflict introduced by recent Apple updates, and it’s affecting Managed/Business Apple IDs across the board. Developer Support hasn’t provided a single actionable response despite multiple tickets which is unacceptable for a paid service. Has anyone found a reliable workaround solution for this problem ? THANK YOU in advance !!
2
0
73
2w