Search results for

“A Summary of the WWDC25 Group Lab”

10,633 results found

Post

Replies

Boosts

Views

Activity

Internal Tester not getting update
Have had issues all day with the delayed Processing times as seen by other posts on this forum. But after my app has completed Processing (took 4 hours, usually takes 10 minutes), the build doesn't show up for Internal Tester. Internal tester usually gets all app updates, but when I try to add Group to build, the internal tester group is greyed out. If I try to add individual tester to build I get An error has occurred. Try again later.
1
0
93
Jan ’26
Does accessing multiple Keychain items with .userPresence force multiple biometric prompts despite reuse duration?
Hi everyone, I'm working on an app that stores multiple secrets in the Keychain, each protected with .userPresence. My goal is to authenticate the user once via FaceID/TouchID and then read multiple Keychain items without triggering subsequent prompts. I am reusing the same LAContext instance for these operations, and I have set: context.touchIDAuthenticationAllowableReuseDuration = LATouchIDAuthenticationMaximumAllowableReuseDuration However, I'm observing that every single SecItemCopyMatching call triggers a new FaceID/TouchID prompt, even if they happen within seconds of each other using the exact same context. Here is a simplified flow of what I'm doing: Create a LAContext. Set touchIDAuthenticationAllowableReuseDuration to max. Perform a query (SecItemCopyMatching) for Item A, passing [kSecUseAuthenticationContext: context]. Result: System prompts for FaceID. Success. Immediately perform a query (SecItemCopyMatching) for Item B, passing the same [kSecUseAuthenticationContext: context]. Result: System pro
3
0
570
Jan ’26
Reply to Update made browsing a headache
Two things: These are the Developer Forums, where developers of third-party apps for Apple's platforms ask each other for hints and tips on coding. You're talking to random third-party developers from around the world, not Apple's developers; If you have a suggestion, you should raise it at: https://www.apple.com/feedback/ but please note that your post doesn't really explain the issue, so please clearly state what's wrong with the three dots button. There is no option in that menu to directly delete a tab group; it's more than one tap away - so whatever you're doing it's not as a direct result of that menu.
Topic: Safari & Web SubTopic: General
Jan ’26
Update made browsing a headache
It’s the small things that make a difference, and the three dots at the top of the screen in Safari and Chrome are such examples. I’ve already accidentally deleted several tab groups by accident and try to relearn browsing is harder than it should be.
Topic: Safari & Web SubTopic: General
1
0
230
Jan ’26
Reply to Xcode Cloud builds stuck at App Store Connect
@DTS Engineer I also don't think it's anything to do with my code (though I could always be wrong). This pipeline ran for 1hr 33min until I canceled it and none of the 3 targets finished, they all got stuck at 93%: https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/ac32a2f1-0a28-446b-bae1-c3228612af8b/summary This pipeline ran for 53 minutes until I canceled it but iOS target succeeded, macOS and visionOS were stuck at 93%. https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/3cb93c56-2eb4-4984-97df-879c0e83c8dd/summary BOTH of these pipeline runs were for the same exact commit, the code didnt change between them yet in one of them iOS succeeded and in the other one it didnt.
Jan ’26
Reply to Xcode Cloud builds stuck at App Store Connect
@DTS Engineer yes I submitted a request but it was through the contact us form not through feedback assistant: https://developer.apple.com/contact/case/102801901445/solution/select Case 102801901445 As far as sharing the project, here's a direct link to the pipeline: https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/28aadaf4-68e2-4e10-9a18-fd69a574307d/summary
Jan ’26
Reply to Push To Talk framework doesn't active audio session in background
Now the problem. When the application was initially in the foreground and has an established server connection, we initially keep the server connection active when the app enters the background state, until a certain timeout or the system decides our app needs to be killed/removed from memory. This allows us to finish an incoming audio stream, quickly react on incoming responses, etc. When we then receive an incoming audio stream after a certain delay (for example, 5 seconds), we call the channelManager.setRemoteParticipant method (using try await syntax). So, the short summary is that this should just work. More specifically, all PTT apps are allowed to initiate playback at any time by calling setRemoteParticipant(), even if they're in the background. In particular, what you're describing here: we initially keep the server connection active when the app enters the background state, until a certain timeout or the system decides our app needs to be killed/removed from memory. ...is actually pretty com
Topic: App & System Services SubTopic: General Tags:
Jan ’26
Reply to Get identities from a smart card in an authorization plugin
Thanks for the extra info. First up, an SFAuthorizationPluginView can’t support smart card authentication in the same way as the built-in login UI can (FB11978008). That’s because the built-in UI populates various authorization context values but SFAuthorizationPluginView does not. The name and format of these values is not documented, so the authorization plug-in can’t work around this issue itself. However, that’s not what you’re trying to do. Rather, you’re trying to simply use smart-card-back credentials, and that’s more feasible. There’s one thing to check here, and then a roadblock to get around. The thing to check is that your smart card is available in pre-login context. To do that, disable your authorisation plug-in, reverting to the built-in login UI. Then check that you can use the built-in PIV smart card support to pair your user with your smart card, and thus log in with your YubiKey. I don’t have docs for how to do that handy — that’s more of an Apple Support thing than a DTS thing — but I do it
Topic: Privacy & Security SubTopic: General Tags:
Jan ’26
Reply to QuickLookAR shares the actual USDZ model instead of the original website URL — critical copyright and data leak issue on iOS 26
[quote='871873022, White_Nebel, /thread/812348?answerId=871873022#871873022, /profile/White_Nebel'] FB20753534 [/quote] Thanks for that. I took a quick look [pun intended :-] and there’s nothing to report on that front. With regards Greg’s point, I guess that your key concern is that: On iOS 26 it’s trivial for users to grab your AR content. On iOS 18 it was still possible — there are a bazillion apps on the App Store that let you download files from the Internet — but it wasn’t trivial. Is that an accurate summary? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Privacy & Security SubTopic: General Tags:
Jan ’26
Reply to Subscription Group Remains as Prepare for Submission
I've consulted the local Apple Contact Us group. They replied last week that 'Prepare for Submission' is indicative of missing information. I already know that since this app submission is about 250th with IAPs. Then he or she said that my subscription plan may not have a screenshot. That's the case, either. They often try to solve an issue with a guess, which leads nowhere.
Jan ’26
Reply to "In-App Purchases and Subscriptions" missing, WHY????
I'm in the same shoes since the end of the last December. Because my app contains the Japanese localization package, I thought I was not able to have subscription plans due to the holiday season and the Japan MSCA. But an Apple local rep. says that's not the case. I already released the app by reducing features. In the near future, I want to add subscription plans since it currently has no mineralization mechanism whatsoever. At this moment, it seems that I've reached the end of the rope. Seeing the last submission with subscription plans, I don't see anything wrong with the app in question. Also, I have deleted an existing sub group with a new one once or twice with no resolution.
Jan ’26
Reply to App Store version stuck in Developer Rejected state, blocking IAP submission
Isn't it just the matter of creating a new subscription group with a new set of product identifiers? You should have switched to the manual release as opposed to auto release and then submit a software update when you decided not to release the initial version. You have made the initial group of product identifiers useless, I guess.
Jan ’26
ExternalPurchaseCustomLink.token(for:) returns nil when isEligible is true
Environment iOS 18.1+ StoreKit External Purchase Link Entitlement (EU) App distributed via App Store in France Problem Summary I'm implementing external purchase links for EU users using ExternalPurchaseCustomLink. While the implementation works correctly in my TestFlight testing, some production users experience token(for:) returning nil. Implementation Following Apple's documentation, my flow is: Check eligibility using ExternalPurchaseCustomLink.isEligible If eligible, call ExternalPurchaseCustomLink.token(for: ACQUISITION) Store the token for use in the external purchase flow // Simplified implementation guard #available(iOS 18.1, *) else { return } let isEligible = await ExternalPurchaseCustomLink.isEligible guard isEligible else { return } // This returns nil for some users despite isEligible being true let token = try await ExternalPurchaseCustomLink.token(for: ACQUISITION) Configuration Entitlement: com.apple.developer.storekit.external-purchase-link is present Info.plist: SKExternalPurchaseC
1
0
117
Jan ’26
Crash in libicucore via NSDateFormatter dateFromString: on iOS 26.2
Introduction: I’m encountering a consistent crash in production on iOS 26.2 (build 23C55). The crash occurs deep within libicucore when calling [NSDateFormatter dateFromString:]. Crash Summary: Exception Type: SIGSEGV (SEGV_ACCERR) Fault Address: 0xffffffff Thread: Crashed on Main Thread (Thread 0) Library: libicucore.A.dylib Code Snippet: The crash is triggered by the following method. It converts a string to an NSDate using a specific format and locale: // 获取日期date - (NSDate *)getDateWithTime:(NSString *)time formatter:(NSString *)formatterStr { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:formatterStr]; formatter.timeZone = [NSTimeZone timeZoneWithName:@Asia/Shanghai]; formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@en_US_POSIX]; return [formatter dateFromString:time]; } Backtrace: Here is the relevant part of the crash report: Incident Identifier: E24485B6-C53E-4115-A6CF-A7E4A952AD50 CrashReporter Key: 21FAC1CF-F56B-409A-98AA-351D3D2EB06C Ha
6
0
258
Jan ’26
Internal Tester not getting update
Have had issues all day with the delayed Processing times as seen by other posts on this forum. But after my app has completed Processing (took 4 hours, usually takes 10 minutes), the build doesn't show up for Internal Tester. Internal tester usually gets all app updates, but when I try to add Group to build, the internal tester group is greyed out. If I try to add individual tester to build I get An error has occurred. Try again later.
Replies
1
Boosts
0
Views
93
Activity
Jan ’26
Does accessing multiple Keychain items with .userPresence force multiple biometric prompts despite reuse duration?
Hi everyone, I'm working on an app that stores multiple secrets in the Keychain, each protected with .userPresence. My goal is to authenticate the user once via FaceID/TouchID and then read multiple Keychain items without triggering subsequent prompts. I am reusing the same LAContext instance for these operations, and I have set: context.touchIDAuthenticationAllowableReuseDuration = LATouchIDAuthenticationMaximumAllowableReuseDuration However, I'm observing that every single SecItemCopyMatching call triggers a new FaceID/TouchID prompt, even if they happen within seconds of each other using the exact same context. Here is a simplified flow of what I'm doing: Create a LAContext. Set touchIDAuthenticationAllowableReuseDuration to max. Perform a query (SecItemCopyMatching) for Item A, passing [kSecUseAuthenticationContext: context]. Result: System prompts for FaceID. Success. Immediately perform a query (SecItemCopyMatching) for Item B, passing the same [kSecUseAuthenticationContext: context]. Result: System pro
Replies
3
Boosts
0
Views
570
Activity
Jan ’26
Enrollment is not processing
I have been waiting for several months now for my enrollment to finish processing. I have reached out several times and was told that a new group is handling enrollment and there is no way to reach them. How can this issue be escalated??
Replies
2
Boosts
0
Views
71
Activity
Jan ’26
Reply to Update made browsing a headache
Two things: These are the Developer Forums, where developers of third-party apps for Apple's platforms ask each other for hints and tips on coding. You're talking to random third-party developers from around the world, not Apple's developers; If you have a suggestion, you should raise it at: https://www.apple.com/feedback/ but please note that your post doesn't really explain the issue, so please clearly state what's wrong with the three dots button. There is no option in that menu to directly delete a tab group; it's more than one tap away - so whatever you're doing it's not as a direct result of that menu.
Topic: Safari & Web SubTopic: General
Replies
Boosts
Views
Activity
Jan ’26
Update made browsing a headache
It’s the small things that make a difference, and the three dots at the top of the screen in Safari and Chrome are such examples. I’ve already accidentally deleted several tab groups by accident and try to relearn browsing is harder than it should be.
Topic: Safari & Web SubTopic: General
Replies
1
Boosts
0
Views
230
Activity
Jan ’26
Reply to Xcode Cloud builds stuck at App Store Connect
@DTS Engineer I also don't think it's anything to do with my code (though I could always be wrong). This pipeline ran for 1hr 33min until I canceled it and none of the 3 targets finished, they all got stuck at 93%: https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/ac32a2f1-0a28-446b-bae1-c3228612af8b/summary This pipeline ran for 53 minutes until I canceled it but iOS target succeeded, macOS and visionOS were stuck at 93%. https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/3cb93c56-2eb4-4984-97df-879c0e83c8dd/summary BOTH of these pipeline runs were for the same exact commit, the code didnt change between them yet in one of them iOS succeeded and in the other one it didnt.
Replies
Boosts
Views
Activity
Jan ’26
Reply to Xcode Cloud builds stuck at App Store Connect
@DTS Engineer yes I submitted a request but it was through the contact us form not through feedback assistant: https://developer.apple.com/contact/case/102801901445/solution/select Case 102801901445 As far as sharing the project, here's a direct link to the pipeline: https://appstoreconnect.apple.com/teams/411a63c1-9d73-4245-8bec-d755e3579ec7/apps/6737959724/ci/builds/28aadaf4-68e2-4e10-9a18-fd69a574307d/summary
Replies
Boosts
Views
Activity
Jan ’26
Reply to Push To Talk framework doesn't active audio session in background
Now the problem. When the application was initially in the foreground and has an established server connection, we initially keep the server connection active when the app enters the background state, until a certain timeout or the system decides our app needs to be killed/removed from memory. This allows us to finish an incoming audio stream, quickly react on incoming responses, etc. When we then receive an incoming audio stream after a certain delay (for example, 5 seconds), we call the channelManager.setRemoteParticipant method (using try await syntax). So, the short summary is that this should just work. More specifically, all PTT apps are allowed to initiate playback at any time by calling setRemoteParticipant(), even if they're in the background. In particular, what you're describing here: we initially keep the server connection active when the app enters the background state, until a certain timeout or the system decides our app needs to be killed/removed from memory. ...is actually pretty com
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to Get identities from a smart card in an authorization plugin
Thanks for the extra info. First up, an SFAuthorizationPluginView can’t support smart card authentication in the same way as the built-in login UI can (FB11978008). That’s because the built-in UI populates various authorization context values but SFAuthorizationPluginView does not. The name and format of these values is not documented, so the authorization plug-in can’t work around this issue itself. However, that’s not what you’re trying to do. Rather, you’re trying to simply use smart-card-back credentials, and that’s more feasible. There’s one thing to check here, and then a roadblock to get around. The thing to check is that your smart card is available in pre-login context. To do that, disable your authorisation plug-in, reverting to the built-in login UI. Then check that you can use the built-in PIV smart card support to pair your user with your smart card, and thus log in with your YubiKey. I don’t have docs for how to do that handy — that’s more of an Apple Support thing than a DTS thing — but I do it
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to QuickLookAR shares the actual USDZ model instead of the original website URL — critical copyright and data leak issue on iOS 26
[quote='871873022, White_Nebel, /thread/812348?answerId=871873022#871873022, /profile/White_Nebel'] FB20753534 [/quote] Thanks for that. I took a quick look [pun intended :-] and there’s nothing to report on that front. With regards Greg’s point, I guess that your key concern is that: On iOS 26 it’s trivial for users to grab your AR content. On iOS 18 it was still possible — there are a bazillion apps on the App Store that let you download files from the Internet — but it wasn’t trivial. Is that an accurate summary? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to Subscription Group Remains as Prepare for Submission
I've consulted the local Apple Contact Us group. They replied last week that 'Prepare for Submission' is indicative of missing information. I already know that since this app submission is about 250th with IAPs. Then he or she said that my subscription plan may not have a screenshot. That's the case, either. They often try to solve an issue with a guess, which leads nowhere.
Replies
Boosts
Views
Activity
Jan ’26
Reply to "In-App Purchases and Subscriptions" missing, WHY????
I'm in the same shoes since the end of the last December. Because my app contains the Japanese localization package, I thought I was not able to have subscription plans due to the holiday season and the Japan MSCA. But an Apple local rep. says that's not the case. I already released the app by reducing features. In the near future, I want to add subscription plans since it currently has no mineralization mechanism whatsoever. At this moment, it seems that I've reached the end of the rope. Seeing the last submission with subscription plans, I don't see anything wrong with the app in question. Also, I have deleted an existing sub group with a new one once or twice with no resolution.
Replies
Boosts
Views
Activity
Jan ’26
Reply to App Store version stuck in Developer Rejected state, blocking IAP submission
Isn't it just the matter of creating a new subscription group with a new set of product identifiers? You should have switched to the manual release as opposed to auto release and then submit a software update when you decided not to release the initial version. You have made the initial group of product identifiers useless, I guess.
Replies
Boosts
Views
Activity
Jan ’26
ExternalPurchaseCustomLink.token(for:) returns nil when isEligible is true
Environment iOS 18.1+ StoreKit External Purchase Link Entitlement (EU) App distributed via App Store in France Problem Summary I'm implementing external purchase links for EU users using ExternalPurchaseCustomLink. While the implementation works correctly in my TestFlight testing, some production users experience token(for:) returning nil. Implementation Following Apple's documentation, my flow is: Check eligibility using ExternalPurchaseCustomLink.isEligible If eligible, call ExternalPurchaseCustomLink.token(for: ACQUISITION) Store the token for use in the external purchase flow // Simplified implementation guard #available(iOS 18.1, *) else { return } let isEligible = await ExternalPurchaseCustomLink.isEligible guard isEligible else { return } // This returns nil for some users despite isEligible being true let token = try await ExternalPurchaseCustomLink.token(for: ACQUISITION) Configuration Entitlement: com.apple.developer.storekit.external-purchase-link is present Info.plist: SKExternalPurchaseC
Replies
1
Boosts
0
Views
117
Activity
Jan ’26
Crash in libicucore via NSDateFormatter dateFromString: on iOS 26.2
Introduction: I’m encountering a consistent crash in production on iOS 26.2 (build 23C55). The crash occurs deep within libicucore when calling [NSDateFormatter dateFromString:]. Crash Summary: Exception Type: SIGSEGV (SEGV_ACCERR) Fault Address: 0xffffffff Thread: Crashed on Main Thread (Thread 0) Library: libicucore.A.dylib Code Snippet: The crash is triggered by the following method. It converts a string to an NSDate using a specific format and locale: // 获取日期date - (NSDate *)getDateWithTime:(NSString *)time formatter:(NSString *)formatterStr { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:formatterStr]; formatter.timeZone = [NSTimeZone timeZoneWithName:@Asia/Shanghai]; formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@en_US_POSIX]; return [formatter dateFromString:time]; } Backtrace: Here is the relevant part of the crash report: Incident Identifier: E24485B6-C53E-4115-A6CF-A7E4A952AD50 CrashReporter Key: 21FAC1CF-F56B-409A-98AA-351D3D2EB06C Ha
Replies
6
Boosts
0
Views
258
Activity
Jan ’26