Search results for

“A Summary of the WWDC25 Group Lab”

10,637 results found

Post

Replies

Boosts

Views

Activity

Siri can’t place calls while device is locked
Hello, I’m developing a third-party VoIP app called Heyno and trying to support Siri-initiated calls so they behave like WhatsApp / FaceTime, especially from the lock screen. Target behavior From the locked device, the user says: “Hey Siri, call using Heyno” Expected result: • System CallKit audio-call UI appears. • No “continue in ” sheet, no forced unlock or foregrounding. • Our app handles the VoIP leg in the background via CXProviderDelegate. WhatsApp already does this with: “Hey Siri, call on WhatsApp” I’m trying to reproduce that behavior for Heyno using public APIs. I have followed the SiriKit + CallKit VoIP docs but cannot get a clean Siri → CallKit → app flow from the lock screen without either: Being forced into .continueInApp (unlock + foreground), or Hitting CallKit transaction errors when starting the call from the app in response to the intent. Current implementation Intents extension (INStartCallIntentHandling) • resolveContacts(for:with:) normalizes to E.164 and returns INPersonResolutionRes
0
0
330
Nov ’25
Feedbacks for DeclaredAgeRange - missing platform support
I've been writing about the DeclaredAgeRange a bit on LinkedIn and now it is time to take to the developer forums. In my efforts to prepare my apps for new local requirements, I've run across some rough edges. The DeclaredAgeRange API is missing on several platforms, and extension types. First and foremost, watchOS. An Apple Watch is a clear single user platform and for standalone apps, the DeclaredAgeRange being absent is felt by developers. FB20954931 - DeclaredAgeRange: Framework not available on watchOS making compliance a challenge for watchOS standalone apps In the same vein of thinking, while users on Apple Vision Pro are far fewer numbers than Apple Watch, it is also a miss. The tricky part would be testing on the simulator. So far I haven't gotten the simulator and sandbox testing to work and give real values across any platform. I don't think an Apple Store will let me try my app out via TestFlight on their devices and they're still too expensive to reasonably buy for most developers. Too bad Feedba
1
0
492
Nov ’25
Reply to Access Main Camera not working in VisionOS 26.1
Hi @Ewan_Ke Thanks for the reply. We pushed a small refactor to the sample yesterday. Here's the diff. I recommend applying the changes. It's worth calling out that the changes would not cause the behavior you reported, but they will make your app better. Changes Summary This patch addresses camera feed handling and removes unnecessary scene phase restart logic. Files Modified 1. CameraFeed.swift Added flush check before processing sample buffers to prevent decoding issues if preview.sampleBufferRenderer.requiresFlushToResumeDecoding { preview.sampleBufferRenderer.flush() } 2. CameraSessionManager.swift Changed restart() method visibility to private Was: func restart() async Now: private func restart() async 3. MainCameraView.swift Removed unused @Environment(.scenePhase) property Removed .onChange(of: scenePhase) modifier that was calling sessionManager.restart() when returning from background Rationale Restarting CameraSessionManager after the app is backgrounded is excessive. Instead the code shou
Topic: Spatial Computing SubTopic: ARKit Tags:
Nov ’25
Reply to Apple-hosted managed asset pack not found on macOS
[quote='866998022, imaier, /thread/807154?answerId=866998022#866998022, /profile/imaier'] Does it need the is-Beta-App flag? [/quote] No. My expectation is that this wouldn’t be set. And yes, that flag is primarily associated with TestFlight. [quote='866998022, imaier, /thread/807154?answerId=866998022#866998022, /profile/imaier'] The code signing info from launchctl procinfo looks exactly like yours [/quote] Interesting. If, yesterday, you’d made me guess as to this result, I would’ve guessed the opposition. This results rules out my main theory as to what’s going on, namely that your app group was causing your entitlements to get invalidated. This is something I talk about in the Entitlements-Validated Flag section of App Groups: macOS vs iOS: Working Towards Harmony. And that leaves me out of ideas. My best guess right now is that this problem is the result of the different install machinery used on iOS and macOS. Well, the lack of install machinery on macOS, where Xcode just constructs t
Topic: App & System Services SubTopic: General Tags:
Nov ’25
Reply to Structured Concurrency with Network Framework Sample
[quote='866975022, nikhil2701, /thread/807854?answerId=866975022#866975022, /profile/nikhil2701'] What options do I have with NetworkConnection in that case? [/quote] Use TLS-PKI. To start you out, lemme point you at two posts: TLS for App Developers TLS For Accessory Developers The first defines key terminology. The second offers some suggestions for how to deploy TLS in local environment. While TLS-PSK is an option in that context, it’s not required. Indeed, most of that post covers options that use TLS-PKI. Regarding the better path and viability handlers, these are conceptually the same as the equivalent constructs in the old APIs, so you can look for information about those old APIs and map that to this API. The better path handler is typically not necessary in a peer-to-peer context. It’s more commonly used to handle the switch between WWAN and Wi-Fi. See Extra-ordinary Networking > Network Interface Techniques > A Better Path. OTOH, a viability handler is a good idea in most cases. I actually hav
Nov ’25
Reply to DEXT (IOUserSCSIParallelInterfaceController): Direct I/O Succeeds, but Buffered I/O Fails with Data Corruption on Large File Copies
Hi Kevin, The data corruption issue has been resolved! Special thanks for asking the key question: So what's IS there? This prompted us to shift our focus from high-level hash verification to inspecting the raw bytes written to the disk. This investigation revealed that the root cause was not related to cache flushing, but rather a hardware limitation regarding single transfer lengths. Here is a summary of our findings and the solution: By using a Python script to verify the data on disk byte-by-byte, we discovered: When macOS coalesced writes into 2MB chunks (as we had previously set maxTransferSize to 128MB), data corruption consistently began exactly at Offset 1MB + 16KB within the command (manifesting as 0x00 or garbage data). The LSI 3108 controller/firmware seems cannot correctly handle a single SCSI command with a data length exceeding 1MB in the DEXT environment. We implemented a two-layer fix: In UserGetDMASpecification, we explicitly set maxTransferSize to 1MB (1,048,576 bytes). This forces
Topic: App & System Services SubTopic: Drivers Tags:
Nov ’25
UIKit Crash During Navigation Transition After Changing UIView.appearance().semanticContentAttribute (Arabic RTL) — iOS 17.2.1
Device: iPhone 11 iOS Version: 17.2.1 Frameworks: UIKit, Auto Layout App Behavior: App supports Arabic (RTL). User can switch language in-app. When language is switched, the app sets UIView.appearance().semanticContentAttribute and fully rebuilds the window’s rootViewController. Problem Summary I update the global semantic direction only when the user explicitly switches language inside the app — e.g.: // Only run when user switches language inside the app UIView.appearance().semanticContentAttribute = .forceRightToLeft // or .forceLeftToRight // then rebuild the window's rootViewController I do not change UIView.appearance().semanticContentAttribute during navigation transitions. Despite that, after switching the language (and rebuilding the root), the app sometimes crashes during a subsequent UINavigationController push/pop animation. The crash appears to be caused by UIKit’s Auto Layout engine removing or updating directional constraints while a navigation transition is running. Crash Log (most re
0
0
86
Nov ’25
App Clip still loads even after being deactivated in App Store Connect (48+ hours later)
Hi everyone, We’re experiencing a persistent issue with an App Clip Experience that continues to load on iOS devices even after being deactivated in App Store Connect more than 48 hours ago. Issue Summary An App Clip Experience tied to the URL pattern https://srgplus.com/u/... keeps appearing when scanning NFC tags or QR codes, despite being removed from App Store Connect. Key Details The App Clip Experience was deactivated over 48 hours ago. iOS still launches the App Clip when scanning NFC tags or QR codes that match the URL structure. The specific token-based App Clip Experience (for example: https://srgplus.com/u/iohgqa) was removed, but iOS still loads an App Clip as if the Experience exists. It seems like iOS is falling back to a previously registered base URL Pattern such as: https://srgplus.com/u or possibly even https://srgplus.com The problem: This fallback App Clip is not visible anywhere in App Store Connect → Advanced App Clip Experiences. So we cannot delete or modify it. The behavior p
3
0
243
Nov ’25
Reply to Add Button next to "toggle sidebar" button in NavigationSplitView
Hi, thanks for your answer! Technically it works this way, but with a few drawbacks (button group displayed outside the sidebar and no animation when toggling the sidebar visibility). I'm doing the toggling like this: Button { self.columnVisibility = self.columnVisibility == NavigationSplitViewVisibility.detailOnly ? NavigationSplitViewVisibility.automatic : NavigationSplitViewVisibility.detailOnly } label: { Image(systemName: sidebar.left) } Is there any way to also enable the sliding animation it does when using the built-in toggle switch? Any other ideas how apple does it in their apps? Thanks! Jan
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Nov ’25
XCode StoreKit helper application failure - Purchase Fails with NSCocoaErrorDomain Code=4099 and ASDErrorDomain Code=5115
XCode version = 26 && macOS version = 26 Running the app from XCode (not in release mode) I want to implement in app purchases for my macOS application, for that i want to first test it locally through StoreKit config file. Steps i have done uptill now: Added the capability in target-> Signing & Capabilities -> In_App Purchase(while adding this i had got the popup: Make changes to In-App Purchase by changing all configurations - i have no idea about it, Researched on it - didnt got something) Added the storekit config file -> added Group for autorenewable subscription -> reference name & product ID (i have used same Bundle ID and product ID, also i have used different both but still the same issue in both case) - also added it to scheme Added the storeManager implementation that is: import StoreKit class IAPManager { // Shared instance (optional singleton pattern) static let shared = IAPManager() private init() { } // Array to store fetched products var products: [Product]
0
0
55
Nov ’25
Screen Time shield not hiding after “Access App” custom button on Shield on TestFlight (works in local debug)
Hi, I am building an iOS app that uses FamilyControls / ManagedSettings to restrict apps. Flow of my app: In my main app, the user chooses which apps to restrict using FamilyActivityPicker (for example, they select Instagram). I save the selection in an App Group. I then use ManagedSettingsStore in the main app to add those app tokens into store.shield.applications, so a Screen Time shield appears when the user opens Instagram. In my ShieldConfigurationExtension, I show a shield UI with a primary button called “Access App”. In my ShieldActionExtension, when the user taps “Access App”, I want to immediately hide the shield and allow Instagram. To hide the shield, I am using this code in my ShieldActionExtension: final class ShieldActionExtension: ShieldActionDelegate { // ... override func handle( action: ShieldAction, for application: ApplicationToken, completionHandler: @escaping (ShieldActionResponse) -> Void ) { switch action { case .primaryButtonPressed: handlePrimaryButton(for: application, c
1
0
584
Nov ’25
Reply to Questions about migrating accounts between ServiceIDs
Hi @jdeats, The /usermigrationinfo endpoint is intended to be used by both developer teams to perform the user migration for Sign in with Apple: the transferring team uses the endpoint to generate transfer IDs the recipient team uses the endpoint to exchange transfer IDs with user credentials, such as the user's relay email address and user ID associated with their developer team Both teams must provide the client ID associated with the user's session in these requests (as well as the /token requests for access tokens, if needed. The value for the client ID could be either the app's bundle ID or the Services ID for the developer team that was granted access to the user's data. The Services ID should have been automatically transferred with the app (unless it was associated with an app ID that was the parent app of an app group), so I'd suggest submitting a bug report via Feedback Assistant so we can resolve this for you. Please follow the steps outlined in the post below and reply here with your Feed
Nov ’25
Reply to Migrating App ID prefix to Team ID
Hi, For native apps, Sign in with Apple uses the bundle ID as its client identifier (ID); for websites or apps on other platforms, the Services ID associated with the primary app ID is used instead. For an individual app, migrating to a Team ID App ID prefix will not cause any issues with your Sign in with Apple implementation. However, if you plan to use app groups for Sign in with Apple, you'll want to ensure that all child apps have the same App ID prefix as the primary app. Cheers, Paris X Pinkney |  WWDR | DTS Engineer
Nov ’25
OTP AutoFill Fails to Distribute Code Across Multiple UITextFields on iOS 26.x
Issue Summary: On iOS 26.0.1 to 26.3, apps using multiple UITextFields for OTP input face a critical issue where the system autofill pastes the entire OTP string into a single text field, usually the focused one, rather than splitting digits across fields. Delegate events like textDidChange: do not trigger consistently on autofill, breaking existing input handling logic. Expected Behavior: OTP autofill should distribute each digit correctly across all OTP UITextFields. Delegate or control events should fire on autofill to enable manual handling. (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (string.length > 1) { // Autofill detected - distribute OTP manually for (int i = 0; i < string.length && i < self.arrayOTPText.count; i++) { UITextField *field = self.arrayOTPText[i]; field.text = [NSString stringWithFormat:@%c, [string characterAtIndex:i]]; } UITextField *lastField = self.arrayOTPText[string.length
1
0
223
Nov ’25
Issue: Plain Executables Do Not Appear Under “Screen & System Audio Recording” on macOS 26.1 (Tahoe)
Summary I am investigating a change in macOS 26.1 (Tahoe) where plain (non-bundled) executables that request screen recording access no longer appear under: System Settings → Privacy & Security → Screen & System Audio Recording This behavior differs from macOS Sequoia, where these executables did appear in the list and could be managed through the UI. Tahoe still prompts for permission and still allows the executable to capture the screen once permission is granted, but the executable never shows up in the UI list. This breaks user expectations and removes UI-based permission management. To confirm the behavior, I created a small reproduction project with both: a plain executable, and an identical executable packaged inside an .app bundle. Only the bundled version appears in System Settings. Observed Behaviour 1. Plain Executable (from my reproduction project) When running a plain executable that captures the screen: macOS displays the normal screen-recording permission prompt. Before grantin
3
0
1k
Nov ’25
Siri can’t place calls while device is locked
Hello, I’m developing a third-party VoIP app called Heyno and trying to support Siri-initiated calls so they behave like WhatsApp / FaceTime, especially from the lock screen. Target behavior From the locked device, the user says: “Hey Siri, call using Heyno” Expected result: • System CallKit audio-call UI appears. • No “continue in ” sheet, no forced unlock or foregrounding. • Our app handles the VoIP leg in the background via CXProviderDelegate. WhatsApp already does this with: “Hey Siri, call on WhatsApp” I’m trying to reproduce that behavior for Heyno using public APIs. I have followed the SiriKit + CallKit VoIP docs but cannot get a clean Siri → CallKit → app flow from the lock screen without either: Being forced into .continueInApp (unlock + foreground), or Hitting CallKit transaction errors when starting the call from the app in response to the intent. Current implementation Intents extension (INStartCallIntentHandling) • resolveContacts(for:with:) normalizes to E.164 and returns INPersonResolutionRes
Replies
0
Boosts
0
Views
330
Activity
Nov ’25
Feedbacks for DeclaredAgeRange - missing platform support
I've been writing about the DeclaredAgeRange a bit on LinkedIn and now it is time to take to the developer forums. In my efforts to prepare my apps for new local requirements, I've run across some rough edges. The DeclaredAgeRange API is missing on several platforms, and extension types. First and foremost, watchOS. An Apple Watch is a clear single user platform and for standalone apps, the DeclaredAgeRange being absent is felt by developers. FB20954931 - DeclaredAgeRange: Framework not available on watchOS making compliance a challenge for watchOS standalone apps In the same vein of thinking, while users on Apple Vision Pro are far fewer numbers than Apple Watch, it is also a miss. The tricky part would be testing on the simulator. So far I haven't gotten the simulator and sandbox testing to work and give real values across any platform. I don't think an Apple Store will let me try my app out via TestFlight on their devices and they're still too expensive to reasonably buy for most developers. Too bad Feedba
Replies
1
Boosts
0
Views
492
Activity
Nov ’25
Reply to Access Main Camera not working in VisionOS 26.1
Hi @Ewan_Ke Thanks for the reply. We pushed a small refactor to the sample yesterday. Here's the diff. I recommend applying the changes. It's worth calling out that the changes would not cause the behavior you reported, but they will make your app better. Changes Summary This patch addresses camera feed handling and removes unnecessary scene phase restart logic. Files Modified 1. CameraFeed.swift Added flush check before processing sample buffers to prevent decoding issues if preview.sampleBufferRenderer.requiresFlushToResumeDecoding { preview.sampleBufferRenderer.flush() } 2. CameraSessionManager.swift Changed restart() method visibility to private Was: func restart() async Now: private func restart() async 3. MainCameraView.swift Removed unused @Environment(.scenePhase) property Removed .onChange(of: scenePhase) modifier that was calling sessionManager.restart() when returning from background Rationale Restarting CameraSessionManager after the app is backgrounded is excessive. Instead the code shou
Topic: Spatial Computing SubTopic: ARKit Tags:
Replies
Boosts
Views
Activity
Nov ’25
Reply to Apple-hosted managed asset pack not found on macOS
[quote='866998022, imaier, /thread/807154?answerId=866998022#866998022, /profile/imaier'] Does it need the is-Beta-App flag? [/quote] No. My expectation is that this wouldn’t be set. And yes, that flag is primarily associated with TestFlight. [quote='866998022, imaier, /thread/807154?answerId=866998022#866998022, /profile/imaier'] The code signing info from launchctl procinfo looks exactly like yours [/quote] Interesting. If, yesterday, you’d made me guess as to this result, I would’ve guessed the opposition. This results rules out my main theory as to what’s going on, namely that your app group was causing your entitlements to get invalidated. This is something I talk about in the Entitlements-Validated Flag section of App Groups: macOS vs iOS: Working Towards Harmony. And that leaves me out of ideas. My best guess right now is that this problem is the result of the different install machinery used on iOS and macOS. Well, the lack of install machinery on macOS, where Xcode just constructs t
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Nov ’25
Reply to Structured Concurrency with Network Framework Sample
[quote='866975022, nikhil2701, /thread/807854?answerId=866975022#866975022, /profile/nikhil2701'] What options do I have with NetworkConnection in that case? [/quote] Use TLS-PKI. To start you out, lemme point you at two posts: TLS for App Developers TLS For Accessory Developers The first defines key terminology. The second offers some suggestions for how to deploy TLS in local environment. While TLS-PSK is an option in that context, it’s not required. Indeed, most of that post covers options that use TLS-PKI. Regarding the better path and viability handlers, these are conceptually the same as the equivalent constructs in the old APIs, so you can look for information about those old APIs and map that to this API. The better path handler is typically not necessary in a peer-to-peer context. It’s more commonly used to handle the switch between WWAN and Wi-Fi. See Extra-ordinary Networking > Network Interface Techniques > A Better Path. OTOH, a viability handler is a good idea in most cases. I actually hav
Replies
Boosts
Views
Activity
Nov ’25
Reply to DEXT (IOUserSCSIParallelInterfaceController): Direct I/O Succeeds, but Buffered I/O Fails with Data Corruption on Large File Copies
Hi Kevin, The data corruption issue has been resolved! Special thanks for asking the key question: So what's IS there? This prompted us to shift our focus from high-level hash verification to inspecting the raw bytes written to the disk. This investigation revealed that the root cause was not related to cache flushing, but rather a hardware limitation regarding single transfer lengths. Here is a summary of our findings and the solution: By using a Python script to verify the data on disk byte-by-byte, we discovered: When macOS coalesced writes into 2MB chunks (as we had previously set maxTransferSize to 128MB), data corruption consistently began exactly at Offset 1MB + 16KB within the command (manifesting as 0x00 or garbage data). The LSI 3108 controller/firmware seems cannot correctly handle a single SCSI command with a data length exceeding 1MB in the DEXT environment. We implemented a two-layer fix: In UserGetDMASpecification, we explicitly set maxTransferSize to 1MB (1,048,576 bytes). This forces
Topic: App & System Services SubTopic: Drivers Tags:
Replies
Boosts
Views
Activity
Nov ’25
UIKit Crash During Navigation Transition After Changing UIView.appearance().semanticContentAttribute (Arabic RTL) — iOS 17.2.1
Device: iPhone 11 iOS Version: 17.2.1 Frameworks: UIKit, Auto Layout App Behavior: App supports Arabic (RTL). User can switch language in-app. When language is switched, the app sets UIView.appearance().semanticContentAttribute and fully rebuilds the window’s rootViewController. Problem Summary I update the global semantic direction only when the user explicitly switches language inside the app — e.g.: // Only run when user switches language inside the app UIView.appearance().semanticContentAttribute = .forceRightToLeft // or .forceLeftToRight // then rebuild the window's rootViewController I do not change UIView.appearance().semanticContentAttribute during navigation transitions. Despite that, after switching the language (and rebuilding the root), the app sometimes crashes during a subsequent UINavigationController push/pop animation. The crash appears to be caused by UIKit’s Auto Layout engine removing or updating directional constraints while a navigation transition is running. Crash Log (most re
Replies
0
Boosts
0
Views
86
Activity
Nov ’25
App Clip still loads even after being deactivated in App Store Connect (48+ hours later)
Hi everyone, We’re experiencing a persistent issue with an App Clip Experience that continues to load on iOS devices even after being deactivated in App Store Connect more than 48 hours ago. Issue Summary An App Clip Experience tied to the URL pattern https://srgplus.com/u/... keeps appearing when scanning NFC tags or QR codes, despite being removed from App Store Connect. Key Details The App Clip Experience was deactivated over 48 hours ago. iOS still launches the App Clip when scanning NFC tags or QR codes that match the URL structure. The specific token-based App Clip Experience (for example: https://srgplus.com/u/iohgqa) was removed, but iOS still loads an App Clip as if the Experience exists. It seems like iOS is falling back to a previously registered base URL Pattern such as: https://srgplus.com/u or possibly even https://srgplus.com The problem: This fallback App Clip is not visible anywhere in App Store Connect → Advanced App Clip Experiences. So we cannot delete or modify it. The behavior p
Replies
3
Boosts
0
Views
243
Activity
Nov ’25
Reply to Add Button next to "toggle sidebar" button in NavigationSplitView
Hi, thanks for your answer! Technically it works this way, but with a few drawbacks (button group displayed outside the sidebar and no animation when toggling the sidebar visibility). I'm doing the toggling like this: Button { self.columnVisibility = self.columnVisibility == NavigationSplitViewVisibility.detailOnly ? NavigationSplitViewVisibility.automatic : NavigationSplitViewVisibility.detailOnly } label: { Image(systemName: sidebar.left) } Is there any way to also enable the sliding animation it does when using the built-in toggle switch? Any other ideas how apple does it in their apps? Thanks! Jan
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Nov ’25
XCode StoreKit helper application failure - Purchase Fails with NSCocoaErrorDomain Code=4099 and ASDErrorDomain Code=5115
XCode version = 26 && macOS version = 26 Running the app from XCode (not in release mode) I want to implement in app purchases for my macOS application, for that i want to first test it locally through StoreKit config file. Steps i have done uptill now: Added the capability in target-> Signing & Capabilities -> In_App Purchase(while adding this i had got the popup: Make changes to In-App Purchase by changing all configurations - i have no idea about it, Researched on it - didnt got something) Added the storekit config file -> added Group for autorenewable subscription -> reference name & product ID (i have used same Bundle ID and product ID, also i have used different both but still the same issue in both case) - also added it to scheme Added the storeManager implementation that is: import StoreKit class IAPManager { // Shared instance (optional singleton pattern) static let shared = IAPManager() private init() { } // Array to store fetched products var products: [Product]
Replies
0
Boosts
0
Views
55
Activity
Nov ’25
Screen Time shield not hiding after “Access App” custom button on Shield on TestFlight (works in local debug)
Hi, I am building an iOS app that uses FamilyControls / ManagedSettings to restrict apps. Flow of my app: In my main app, the user chooses which apps to restrict using FamilyActivityPicker (for example, they select Instagram). I save the selection in an App Group. I then use ManagedSettingsStore in the main app to add those app tokens into store.shield.applications, so a Screen Time shield appears when the user opens Instagram. In my ShieldConfigurationExtension, I show a shield UI with a primary button called “Access App”. In my ShieldActionExtension, when the user taps “Access App”, I want to immediately hide the shield and allow Instagram. To hide the shield, I am using this code in my ShieldActionExtension: final class ShieldActionExtension: ShieldActionDelegate { // ... override func handle( action: ShieldAction, for application: ApplicationToken, completionHandler: @escaping (ShieldActionResponse) -> Void ) { switch action { case .primaryButtonPressed: handlePrimaryButton(for: application, c
Replies
1
Boosts
0
Views
584
Activity
Nov ’25
Reply to Questions about migrating accounts between ServiceIDs
Hi @jdeats, The /usermigrationinfo endpoint is intended to be used by both developer teams to perform the user migration for Sign in with Apple: the transferring team uses the endpoint to generate transfer IDs the recipient team uses the endpoint to exchange transfer IDs with user credentials, such as the user's relay email address and user ID associated with their developer team Both teams must provide the client ID associated with the user's session in these requests (as well as the /token requests for access tokens, if needed. The value for the client ID could be either the app's bundle ID or the Services ID for the developer team that was granted access to the user's data. The Services ID should have been automatically transferred with the app (unless it was associated with an app ID that was the parent app of an app group), so I'd suggest submitting a bug report via Feedback Assistant so we can resolve this for you. Please follow the steps outlined in the post below and reply here with your Feed
Replies
Boosts
Views
Activity
Nov ’25
Reply to Migrating App ID prefix to Team ID
Hi, For native apps, Sign in with Apple uses the bundle ID as its client identifier (ID); for websites or apps on other platforms, the Services ID associated with the primary app ID is used instead. For an individual app, migrating to a Team ID App ID prefix will not cause any issues with your Sign in with Apple implementation. However, if you plan to use app groups for Sign in with Apple, you'll want to ensure that all child apps have the same App ID prefix as the primary app. Cheers, Paris X Pinkney |  WWDR | DTS Engineer
Replies
Boosts
Views
Activity
Nov ’25
OTP AutoFill Fails to Distribute Code Across Multiple UITextFields on iOS 26.x
Issue Summary: On iOS 26.0.1 to 26.3, apps using multiple UITextFields for OTP input face a critical issue where the system autofill pastes the entire OTP string into a single text field, usually the focused one, rather than splitting digits across fields. Delegate events like textDidChange: do not trigger consistently on autofill, breaking existing input handling logic. Expected Behavior: OTP autofill should distribute each digit correctly across all OTP UITextFields. Delegate or control events should fire on autofill to enable manual handling. (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (string.length > 1) { // Autofill detected - distribute OTP manually for (int i = 0; i < string.length && i < self.arrayOTPText.count; i++) { UITextField *field = self.arrayOTPText[i]; field.text = [NSString stringWithFormat:@%c, [string characterAtIndex:i]]; } UITextField *lastField = self.arrayOTPText[string.length
Replies
1
Boosts
0
Views
223
Activity
Nov ’25
Issue: Plain Executables Do Not Appear Under “Screen & System Audio Recording” on macOS 26.1 (Tahoe)
Summary I am investigating a change in macOS 26.1 (Tahoe) where plain (non-bundled) executables that request screen recording access no longer appear under: System Settings → Privacy & Security → Screen & System Audio Recording This behavior differs from macOS Sequoia, where these executables did appear in the list and could be managed through the UI. Tahoe still prompts for permission and still allows the executable to capture the screen once permission is granted, but the executable never shows up in the UI list. This breaks user expectations and removes UI-based permission management. To confirm the behavior, I created a small reproduction project with both: a plain executable, and an identical executable packaged inside an .app bundle. Only the bundled version appears in System Settings. Observed Behaviour 1. Plain Executable (from my reproduction project) When running a plain executable that captures the screen: macOS displays the normal screen-recording permission prompt. Before grantin
Replies
3
Boosts
0
Views
1k
Activity
Nov ’25