Search results for

“sandbox”

10,542 results found

Post

Replies

Boosts

Views

Activity

Reply to IAP Visibility Issues
Hello - As a reminder, App Review tests your In-App Purchases in the Sandbox environment. Please ensure the app build submitted correctly handles interactions with StoreKit for both the Sandbox (for App Review testing) and Production environments (once your app is live to end users in the App Store.) Please review this Technote for more troubleshooting details. Let us know if you have any other questions or need further assistance. Thank you.
Apr ’26
Reply to testflight issues with subscription
Hello - Please review this Technote, and its specific details for TestFlight testing. In reviewing your account, it appears that the required Paid Apps Agreement has not been signed and is not yet in the Active state. Because of this, your In-App Purchase products are not available for testing in Sandbox or for purchase in Production. Please direct the Account Holder to accept the Paid Apps Agreement, complete both the Banking and Tax information, and ensure the status of this agreement is updated to ACTIVE. Please let us know if you have any other questions or need further assistance. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Apr ’26
Managed Background Assets on iPadOS 26.3: metadata resolves, download never starts
Has anyone seen Managed Background Assets get stuck before any download progress is reported on iPadOS 26.3 / TestFlight? We are using Apple-hosted managed asset packs for a large on-demand model download. The app can resolve the asset pack metadata: we can show the asset pack’s download size in the UI, so AssetPackManager.assetPack(withID:) appears to work. But when we call ensureLocalAvailability(of:), the UI stays at 0% indefinitely. We also do not receive any useful terminal state from statusUpdates(forAssetPackWithID:): no .began, .downloading, .failed, or .finished. The app remains responsive. The issue also appears persistent on the affected device/account. Reinstalling the app does not help, reinstalling TestFlight does not help, logging out and back in does not help, and restarting the device does not help. After each attempt, the app can still resolve the asset pack metadata/download size, but the actual download remains stuck before any progress or failure status is delivered. The suspicious part o
1
0
455
Apr ’26
testflight issues with subscription
I’m experiencing an issue with subscriptions that behave differently between Xcode builds and TestFlight. Subscriptions work correctly when running the app directly from Xcode in a sandbox environment, but they do not work as expected when testing the same build through TestFlight. Has anyone experienced a similar issue with subscriptions working in Xcode but failing in TestFlight? Any guidance on what to check or debug would be appreciated. Additional details: iOS version: [ IOS 26] StoreKit version: [ StoreKit 2] TestFlight: When attempting to load the subscription products, the app returns “Product not found”. In some cases, it also shows the error “The subscription is unavailable in the current storefront”. This happens consistently in TestFlight, even though the same products load and work correctly when running the app from Xcode in the sandbox environment. Thanks
1
0
528
Apr ’26
App Review rejection: 3.1.2(c) missing EULA/Privacy links + 2.1(b) IAP error in sandbox; subscriptions show “Developer Action Needed” in App Store Connect
Hi everyone, I’m trying to fix an App Review rejection related to auto‑renewable subscriptions, and I’m also blocked because my subscriptions don’t work in the sandbox even though configuration looks correct. App Review details App version: 3.5.3 Review device: iPhone 17 Pro Max iOS: 26.4 Guidelines: 3.1.2(c) and 2.1(b) Reviewer message says: Missing required subscription metadata links: Terms of Use (EULA) link in App Description (or custom EULA set in App Store Connect) Privacy Policy link in the Privacy Policy field in App Store Connect IAP bug / error during purchase (sandbox testing during review) What I see in App Store Connect My subscription products show “Developer Action Needed”. Subscription group/products are created (monthly + yearly). I believe all required subscription info is filled out (pricing, localization, etc.), but sandbox purchases still fail. Sandbox behavior / issue In Sandbox on device, attempting to purchase or load products results in an
1
0
899
Apr ’26
Reply to Under what conditions can a LocalizedStringResource be serialised?
Yes, LocalizedStringResource conforms to Codable so that it can be serialized when sending it between two processes. The serialized representation effectively contains a path to the bundle and some extra information to ensure you can read from that bundle. The serialized representation isn't suitable for sending between devices (the path to the bundle may be different) or storing on-disk long term (the path may no longer exist or may have been moved) - it's really designed for sending between two running processes on the same system. If you do deserialize a LocalizedStringResource that is no longer valid then it will just fallback to the default value (same behavior as if the key or table didn't exist in the provided bundle without serialization). No need to worry about the specifics of the token you mentioned, LocalizedStringResource handles this gracefully. Please feel free to file a feedback (and share the number here) if you think there's any wording that we could add to the documentation to help improve
Topic: UI Frameworks SubTopic: General Tags:
Apr ’26
Under what conditions can a LocalizedStringResource be serialised?
I had a need to store a localised string in a shared file used by other applications, and noticed that LocalizedStringResource conforms to Codable -- and indeed, if I encode a string from App A, then switch to App B, B is able to read the value and load different localisations of that string out of App A's bundle. Very cool. This isn't clearly documented (the documentation for LocalizedStringResource just mentions cross-process use, not generally longer-term storage), so I wondered if there are any caveats to be aware of when using this approach? I am aware that LocalizedStringResource is just a reference, so obviously if App A is deleted, it becomes a kind of dangling reference and will presumably fall back to its default value (which is included in the encoded representation). But I also noticed that the encoded LSR includes a sandbox extension token. Is there anything in particular to be aware of with that? Is it time-limited? One thing I did notice, that is quite annoying (potentially a bug) is t
1
0
522
Apr ’26
Notary error 7000 — was Accepted, then suddenly rejecting all submissions
Hello, I have been hitting status code 7000 on every notarization submission since April 21, 2026. The notable detail: earlier submissions on April 18 and April 20 from the same team were Accepted normally. Whatever flag flipped between April 20 and April 21 is on the notary side, because nothing changed on my end. Team details Team ID: ZS76A62WJ4 Organization: KENOPA LTD (UK private limited company) Role: Account Holder Apple Developer Program: Active until April 17, 2027 Apple Developer Program License Agreement: accepted April 16, 2026 Paid Apps Agreement, Free Apps Agreement: both Active in App Store Connect W-8BEN-E and banking: Active Certificate Type: Developer ID Application Identity: Developer ID Application: KENOPA LTD (ZS76A62WJ4) Valid through 2027-02-01, full chain trusted App details Platform: macOS (native AppKit, Objective-C, no Electron) Hardened runtime: enabled Code signing passes verify and strict checks Sandbox: not used (Developer ID distribution outside the App Store) Submissio
1
0
1.2k
Apr ’26
Core NFC on iPhone returns “Sandbox restriction” when starting NFCNDEFReaderSession with Personal Team / free account
Hi, I am trying to build a very simple iOS app in Xcode that starts an NFCNDEFReaderSession when I press a button. My goal right now is only to verify that the NFC reading process starts correctly on a real iPhone. I am not trying to publish the app on the App Store. When I try to start the session, I get this error in the console: -[NFCHardwareManager areFeaturesSupported:outError:]:435 XPC Error: Error Domain=NSCocoaErrorDomain Code=4099 The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction. UserInfo={NSDebugDescription=The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} and then my app reports that NFC is not available on this device. Important details: I added Near Field Communication Tag Reading in Signing & Capabilities. I added the NFC privacy usage description in the target settings. I a
0
0
1k
Apr ’26
Reply to how to store secret key in/for system extension
I want to clarify a few points from both your original post and Albert’s response. You’re using the term keyring, which is not a thing on Apple platforms. Rather, the equivalent thing is called the keychain. Using the right term will help, for example, when you go searching for documentation. macOS has two keychain implementations: The file-based keychain The data protection keychain We generally recommend the data protection keychain. However, you’re building a Network Extension transparent proxy, and those are generally packaged as a system extension [1]. Sysexen are roughly equivalent to a launchd daemon, and cannot use the data protection keychain. They can only use a file-based keychain, typically the System keychain. TN3137 On Mac keychain APIs and implementations talks about this stuff in much more detail. When talking about extensions on Apple platforms, it’s important to get your terminology straight. The application in which the extension is embedded is called the container application. The host app
Apr ’26
GKLeaderboard.submitScore succeeds in development but no production users appear on leaderboard
I'm building an iOS word game (Gramfall) and no production App Store users can see their own scores on any leaderboard, despite Game Center authentication succeeding and no errors being thrown. The same code works correctly in development and all 6 leaderboard submissions fire Score submitted notifications on my dev device. 6 leaderboards in App Store Connect (3 Classic all-time, 3 Recurring monthly) and all are Live Production App Store users: authenticated, scores submitted, no errors — scores never appear Development build: all 6 submissions confirmed via Settings → Developer → Notify About Score Submissions Affected users cannot see their own score on the leaderboard from their own device. This rules out privacy/visibility restrictions as a player should always see their own score. This suggests submissions are either silently failing or being accepted but not recorded in the production Game Center environment. What we have ruled out Leaderboard ID mismatch (Everything in App Store Connect matches) Authen
0
0
1.6k
Apr ’26
Can't enter sandbox environment for IAP testing on any of my apps - always getting -100 error with no [Environment: Sandbox] indicator
Body: I'm experiencing a persistent issue that has affected multiple apps I've developed, and I'm hoping to get some guidance from the community or Apple engineers. The Problem: When testing In-App Purchases, my app never enters the sandbox environment. The payment prompt does NOT show the [Environment: Sandbox] indicator, and I always receive error code -100 (Invalid Product Identifier). This issue has occurred across multiple apps I've built, including a previous app that I ultimately had to release as a paid download (rather than freemium with IAP) because I couldn't resolve this same problem. Now I'm facing the identical issue with my new app, AI Job Assistant. What I've Checked (all correct): ✅ Paid App Agreement status is Active in App Store Connect ✅ Bundle ID matches exactly between Xcode/HBuilderX and App Store Connect ✅ Product IDs in code match those created in App Store Connect (case-sensitive, no spaces) ✅ All IAP products have complete metadata (name, description, pricing, 640x
0
0
590
Apr ’26
AppTransaction.originalAppVersion returns "1.0" in App Review environment — not the actual build number
Hi, I'm using AppTransaction.originalAppVersion to detect whether a user originally purchased the app under the old paid model, so I can automatically unlock the app for them as a courtesy when migrating to freemium. Background On iOS, originalAppVersion returns CFBundleVersion (the build number). When I transitioned the app from paid (v1.x) to freemium (v2.0), I defined a numeric threshold for CFBundleVersion to distinguish legacy purchasers from new users: Build number below the threshold → v1.x purchase → auto-unlock Build number at or above the threshold → v2.0+ install → requires IAP In Production, originalAppVersion correctly returns the actual build number, and the comparison works as intended. Detection logic (simplified) // Determine environment via receipt URL func detectStoreEnvironment() -> String { if let url = Bundle.main.appStoreReceiptURL, url.lastPathComponent == sandboxReceipt { return Sandbox } return Production } // Legacy check using numeric comparison static func isLegacyPaid
0
0
281
Apr ’26
Reply to Subscription Status - Missing Metadata
Adding some notes as I work through this while waiting for Apple response: Request for Apple: Please make yellow status indicators clickable. I feel like I should be able to click Missing Metadata and have a pop-up show me specifically what metadata is missing. Notes for others who find this while trying to solve similar/same problem: It is possible for this to be broken even if you passed sandbox testing and Apple has approved your app for release. Highly recommend verifying in actual AppStore that in-app purchases display - especially before starting an ad campaign. On the AppStoreConnect pages to set up subscription groups and individual subscriptions, treat every field as required - unless the field explicitly calls it out as optional. In my case - the status didn't change from missing metadata until I added localizations and Review Information Screenshot. Review Information Screenshot - Size requirements: Image will not upload unless it adheres to the sizing constraints found here. Sizing constr
Apr ’26
Reply to Age Verification testing in TestFlight
Thanks for the post, and thanks for the patience on this. The team added a great FAQ that goes over most of the questions asked by developers: https://developer.apple.com/support/age-assurance/ Other engineers with greater expertise in age assurance are present in the forums. If you have any questions beyond my knowledge, they will be ready to assist you. The behavior you are seeing in the Sandbox environment is completely normal and expected using a Sandbox .The Sandbox environment is not meant to simulate every US state; rather, it is designed to let you test the logic and workflows of your app using predefined profiles. Even though the state is limited, Sandbox is the best place to test your app's conditional logic. TestFlight builds default to the Production environment for provided the device is not signed into a Sandbox account. Albert
  Worldwide Developer Relations.
Topic: App & System Services SubTopic: General Tags:
Apr ’26
Reply to IAP Visibility Issues
Hello - As a reminder, App Review tests your In-App Purchases in the Sandbox environment. Please ensure the app build submitted correctly handles interactions with StoreKit for both the Sandbox (for App Review testing) and Production environments (once your app is live to end users in the App Store.) Please review this Technote for more troubleshooting details. Let us know if you have any other questions or need further assistance. Thank you.
Replies
Boosts
Views
Activity
Apr ’26
Reply to testflight issues with subscription
Hello - Please review this Technote, and its specific details for TestFlight testing. In reviewing your account, it appears that the required Paid Apps Agreement has not been signed and is not yet in the Active state. Because of this, your In-App Purchase products are not available for testing in Sandbox or for purchase in Production. Please direct the Account Holder to accept the Paid Apps Agreement, complete both the Banking and Tax information, and ensure the status of this agreement is updated to ACTIVE. Please let us know if you have any other questions or need further assistance. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Apr ’26
Managed Background Assets on iPadOS 26.3: metadata resolves, download never starts
Has anyone seen Managed Background Assets get stuck before any download progress is reported on iPadOS 26.3 / TestFlight? We are using Apple-hosted managed asset packs for a large on-demand model download. The app can resolve the asset pack metadata: we can show the asset pack’s download size in the UI, so AssetPackManager.assetPack(withID:) appears to work. But when we call ensureLocalAvailability(of:), the UI stays at 0% indefinitely. We also do not receive any useful terminal state from statusUpdates(forAssetPackWithID:): no .began, .downloading, .failed, or .finished. The app remains responsive. The issue also appears persistent on the affected device/account. Reinstalling the app does not help, reinstalling TestFlight does not help, logging out and back in does not help, and restarting the device does not help. After each attempt, the app can still resolve the asset pack metadata/download size, but the actual download remains stuck before any progress or failure status is delivered. The suspicious part o
Replies
1
Boosts
0
Views
455
Activity
Apr ’26
testflight issues with subscription
I’m experiencing an issue with subscriptions that behave differently between Xcode builds and TestFlight. Subscriptions work correctly when running the app directly from Xcode in a sandbox environment, but they do not work as expected when testing the same build through TestFlight. Has anyone experienced a similar issue with subscriptions working in Xcode but failing in TestFlight? Any guidance on what to check or debug would be appreciated. Additional details: iOS version: [ IOS 26] StoreKit version: [ StoreKit 2] TestFlight: When attempting to load the subscription products, the app returns “Product not found”. In some cases, it also shows the error “The subscription is unavailable in the current storefront”. This happens consistently in TestFlight, even though the same products load and work correctly when running the app from Xcode in the sandbox environment. Thanks
Replies
1
Boosts
0
Views
528
Activity
Apr ’26
App Review rejection: 3.1.2(c) missing EULA/Privacy links + 2.1(b) IAP error in sandbox; subscriptions show “Developer Action Needed” in App Store Connect
Hi everyone, I’m trying to fix an App Review rejection related to auto‑renewable subscriptions, and I’m also blocked because my subscriptions don’t work in the sandbox even though configuration looks correct. App Review details App version: 3.5.3 Review device: iPhone 17 Pro Max iOS: 26.4 Guidelines: 3.1.2(c) and 2.1(b) Reviewer message says: Missing required subscription metadata links: Terms of Use (EULA) link in App Description (or custom EULA set in App Store Connect) Privacy Policy link in the Privacy Policy field in App Store Connect IAP bug / error during purchase (sandbox testing during review) What I see in App Store Connect My subscription products show “Developer Action Needed”. Subscription group/products are created (monthly + yearly). I believe all required subscription info is filled out (pricing, localization, etc.), but sandbox purchases still fail. Sandbox behavior / issue In Sandbox on device, attempting to purchase or load products results in an
Replies
1
Boosts
0
Views
899
Activity
Apr ’26
Reply to Under what conditions can a LocalizedStringResource be serialised?
Yes, LocalizedStringResource conforms to Codable so that it can be serialized when sending it between two processes. The serialized representation effectively contains a path to the bundle and some extra information to ensure you can read from that bundle. The serialized representation isn't suitable for sending between devices (the path to the bundle may be different) or storing on-disk long term (the path may no longer exist or may have been moved) - it's really designed for sending between two running processes on the same system. If you do deserialize a LocalizedStringResource that is no longer valid then it will just fallback to the default value (same behavior as if the key or table didn't exist in the provided bundle without serialization). No need to worry about the specifics of the token you mentioned, LocalizedStringResource handles this gracefully. Please feel free to file a feedback (and share the number here) if you think there's any wording that we could add to the documentation to help improve
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Apr ’26
Under what conditions can a LocalizedStringResource be serialised?
I had a need to store a localised string in a shared file used by other applications, and noticed that LocalizedStringResource conforms to Codable -- and indeed, if I encode a string from App A, then switch to App B, B is able to read the value and load different localisations of that string out of App A's bundle. Very cool. This isn't clearly documented (the documentation for LocalizedStringResource just mentions cross-process use, not generally longer-term storage), so I wondered if there are any caveats to be aware of when using this approach? I am aware that LocalizedStringResource is just a reference, so obviously if App A is deleted, it becomes a kind of dangling reference and will presumably fall back to its default value (which is included in the encoded representation). But I also noticed that the encoded LSR includes a sandbox extension token. Is there anything in particular to be aware of with that? Is it time-limited? One thing I did notice, that is quite annoying (potentially a bug) is t
Replies
1
Boosts
0
Views
522
Activity
Apr ’26
Notary error 7000 — was Accepted, then suddenly rejecting all submissions
Hello, I have been hitting status code 7000 on every notarization submission since April 21, 2026. The notable detail: earlier submissions on April 18 and April 20 from the same team were Accepted normally. Whatever flag flipped between April 20 and April 21 is on the notary side, because nothing changed on my end. Team details Team ID: ZS76A62WJ4 Organization: KENOPA LTD (UK private limited company) Role: Account Holder Apple Developer Program: Active until April 17, 2027 Apple Developer Program License Agreement: accepted April 16, 2026 Paid Apps Agreement, Free Apps Agreement: both Active in App Store Connect W-8BEN-E and banking: Active Certificate Type: Developer ID Application Identity: Developer ID Application: KENOPA LTD (ZS76A62WJ4) Valid through 2027-02-01, full chain trusted App details Platform: macOS (native AppKit, Objective-C, no Electron) Hardened runtime: enabled Code signing passes verify and strict checks Sandbox: not used (Developer ID distribution outside the App Store) Submissio
Replies
1
Boosts
0
Views
1.2k
Activity
Apr ’26
Core NFC on iPhone returns “Sandbox restriction” when starting NFCNDEFReaderSession with Personal Team / free account
Hi, I am trying to build a very simple iOS app in Xcode that starts an NFCNDEFReaderSession when I press a button. My goal right now is only to verify that the NFC reading process starts correctly on a real iPhone. I am not trying to publish the app on the App Store. When I try to start the session, I get this error in the console: -[NFCHardwareManager areFeaturesSupported:outError:]:435 XPC Error: Error Domain=NSCocoaErrorDomain Code=4099 The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction. UserInfo={NSDebugDescription=The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} and then my app reports that NFC is not available on this device. Important details: I added Near Field Communication Tag Reading in Signing & Capabilities. I added the NFC privacy usage description in the target settings. I a
Replies
0
Boosts
0
Views
1k
Activity
Apr ’26
Reply to how to store secret key in/for system extension
I want to clarify a few points from both your original post and Albert’s response. You’re using the term keyring, which is not a thing on Apple platforms. Rather, the equivalent thing is called the keychain. Using the right term will help, for example, when you go searching for documentation. macOS has two keychain implementations: The file-based keychain The data protection keychain We generally recommend the data protection keychain. However, you’re building a Network Extension transparent proxy, and those are generally packaged as a system extension [1]. Sysexen are roughly equivalent to a launchd daemon, and cannot use the data protection keychain. They can only use a file-based keychain, typically the System keychain. TN3137 On Mac keychain APIs and implementations talks about this stuff in much more detail. When talking about extensions on Apple platforms, it’s important to get your terminology straight. The application in which the extension is embedded is called the container application. The host app
Replies
Boosts
Views
Activity
Apr ’26
GKLeaderboard.submitScore succeeds in development but no production users appear on leaderboard
I'm building an iOS word game (Gramfall) and no production App Store users can see their own scores on any leaderboard, despite Game Center authentication succeeding and no errors being thrown. The same code works correctly in development and all 6 leaderboard submissions fire Score submitted notifications on my dev device. 6 leaderboards in App Store Connect (3 Classic all-time, 3 Recurring monthly) and all are Live Production App Store users: authenticated, scores submitted, no errors — scores never appear Development build: all 6 submissions confirmed via Settings → Developer → Notify About Score Submissions Affected users cannot see their own score on the leaderboard from their own device. This rules out privacy/visibility restrictions as a player should always see their own score. This suggests submissions are either silently failing or being accepted but not recorded in the production Game Center environment. What we have ruled out Leaderboard ID mismatch (Everything in App Store Connect matches) Authen
Replies
0
Boosts
0
Views
1.6k
Activity
Apr ’26
Can't enter sandbox environment for IAP testing on any of my apps - always getting -100 error with no [Environment: Sandbox] indicator
Body: I'm experiencing a persistent issue that has affected multiple apps I've developed, and I'm hoping to get some guidance from the community or Apple engineers. The Problem: When testing In-App Purchases, my app never enters the sandbox environment. The payment prompt does NOT show the [Environment: Sandbox] indicator, and I always receive error code -100 (Invalid Product Identifier). This issue has occurred across multiple apps I've built, including a previous app that I ultimately had to release as a paid download (rather than freemium with IAP) because I couldn't resolve this same problem. Now I'm facing the identical issue with my new app, AI Job Assistant. What I've Checked (all correct): ✅ Paid App Agreement status is Active in App Store Connect ✅ Bundle ID matches exactly between Xcode/HBuilderX and App Store Connect ✅ Product IDs in code match those created in App Store Connect (case-sensitive, no spaces) ✅ All IAP products have complete metadata (name, description, pricing, 640x
Replies
0
Boosts
0
Views
590
Activity
Apr ’26
AppTransaction.originalAppVersion returns "1.0" in App Review environment — not the actual build number
Hi, I'm using AppTransaction.originalAppVersion to detect whether a user originally purchased the app under the old paid model, so I can automatically unlock the app for them as a courtesy when migrating to freemium. Background On iOS, originalAppVersion returns CFBundleVersion (the build number). When I transitioned the app from paid (v1.x) to freemium (v2.0), I defined a numeric threshold for CFBundleVersion to distinguish legacy purchasers from new users: Build number below the threshold → v1.x purchase → auto-unlock Build number at or above the threshold → v2.0+ install → requires IAP In Production, originalAppVersion correctly returns the actual build number, and the comparison works as intended. Detection logic (simplified) // Determine environment via receipt URL func detectStoreEnvironment() -> String { if let url = Bundle.main.appStoreReceiptURL, url.lastPathComponent == sandboxReceipt { return Sandbox } return Production } // Legacy check using numeric comparison static func isLegacyPaid
Replies
0
Boosts
0
Views
281
Activity
Apr ’26
Reply to Subscription Status - Missing Metadata
Adding some notes as I work through this while waiting for Apple response: Request for Apple: Please make yellow status indicators clickable. I feel like I should be able to click Missing Metadata and have a pop-up show me specifically what metadata is missing. Notes for others who find this while trying to solve similar/same problem: It is possible for this to be broken even if you passed sandbox testing and Apple has approved your app for release. Highly recommend verifying in actual AppStore that in-app purchases display - especially before starting an ad campaign. On the AppStoreConnect pages to set up subscription groups and individual subscriptions, treat every field as required - unless the field explicitly calls it out as optional. In my case - the status didn't change from missing metadata until I added localizations and Review Information Screenshot. Review Information Screenshot - Size requirements: Image will not upload unless it adheres to the sizing constraints found here. Sizing constr
Replies
Boosts
Views
Activity
Apr ’26
Reply to Age Verification testing in TestFlight
Thanks for the post, and thanks for the patience on this. The team added a great FAQ that goes over most of the questions asked by developers: https://developer.apple.com/support/age-assurance/ Other engineers with greater expertise in age assurance are present in the forums. If you have any questions beyond my knowledge, they will be ready to assist you. The behavior you are seeing in the Sandbox environment is completely normal and expected using a Sandbox .The Sandbox environment is not meant to simulate every US state; rather, it is designed to let you test the logic and workflows of your app using predefined profiles. Even though the state is limited, Sandbox is the best place to test your app's conditional logic. TestFlight builds default to the Production environment for provided the device is not signed into a Sandbox account. Albert
  Worldwide Developer Relations.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Apr ’26