Search results for

“A Summary of the WWDC25 Group Lab”

10,645 results found

Post

Replies

Boosts

Views

Activity

VisionOs Development: Seeking Advice on Key Strategic Crossroads
I am a developer working on developing a space journal application. During the development process, I encountered several crucial strategic and technical decisions, and I would like to hear the experiences of those who have gone through similar situations. Here are the simplified versions of several questions I have. Resource allocation: Which problem should I address first? Design direction: In terms of interaction and UI design, how should I balance immersion and usability? Market selection: Was it easier for a business to survive in the early stages as a B2B or B2C entity? Cost estimation: How can I reasonably present to my investors the development costs of this project? In order to avoid relying solely on intuition in my decisions, I created a short questionnaire, hoping to gather more structured opinions from my colleagues. If you are also exploring VisionOS, I sincerely hope you can take a few minutes to fill it out. The results are extremely important to me, and I would be more than happy to share the
1
0
158
Feb ’26
Reply to Sample code not working as expected: Implementing SharePlay for immersive spaces in visionOS
hi @sopmac , I just downloaded and tested the sample and can see the cube's color updating for me & another person. My steps: Sign and run the sample (please make sure your developer team has the group activities capability) press start shareplay -> choose a nearby person aligned views tapped on the cube & we both saw it update Could you please either file a feedback report with all of the details or provide your steps and any updates you made to the sample here? Thank you! note: one other thing is that if both people that are signing it don't have the same team, SharePlay may not work. This isn't an issue in a production app, but if both people download the sample and sign it with different teams, there's a chance that you get an alert that you don't have the same bundle ID so you can't start a SharePlay session.
Feb ’26
NEFilterManager fails with NEFilterErrorDomain Code=1 (“Configuration invalid or read/write failed”) on iOS — is NEFilter supported on non-supervised devices?
Hi, I’m implementing a NetworkExtension content filter provider on iOS and I can’t get it to activate on device. I have an iOS app (App Store distribution) with a content filter provider extension (NEFilterDataProvider). The app builds, installs, and runs fine, and the extension is embedded correctly. Entitlements appear to be set for both the app and the extension, and the extension’s Info.plist is configured as expected. However, when I try to enable the filter via NEFilterManager (loadFromPreferences → set configuration → isEnabled = true → saveToPreferences), saveToPreferences fails with NEFilterErrorDomain code 1 and the message “Configuration invalid or read/write failed.” The extension never starts and startFilter() is never called. Main app bundle ID: uk.co.getnovi.student Extension bundle ID: uk.co.getnovi.student.NoviContentFilter Extension type: NEFilterDataProvider We are testing on an iPhone 15 running iOS 18.6.2 (22G100), the app is designed to run on iPhone. This app is intended for education u
1
0
76
Feb ’26
EPERM upon kill(2) of "empty" group
At least on $ uname -r -v -m 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18 21:09:55 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T8103 arm64 running the Posix program test.c #include #include #include #include #include #include int main() { pid_t ch = fork(); if (ch == -1) { perror(fork); return EXIT_FAILURE; } if (ch == 0) { return EXIT_SUCCESS; } if (setpgid(ch, ch) == -1) { perror(setpgid); return EXIT_FAILURE; } siginfo_t stat; if (waitid(P_PID, ch, &stat, WEXITED | WNOWAIT) == -1) { perror(waitid); return EXIT_FAILURE; } if (kill(-ch, SIGKILL) == -1) { perror(kill); return EXIT_FAILURE; } return EXIT_SUCCESS; } as $ clang test.c $ ./a.out kill: Operation not permitted fails with EPERM even though the lifetime of the process group has not yet ended (due to the WNOWAIT).
2
0
105
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have run some tests on my copy of StoreKit testing project. When the app is not active, and a renewal comes through, it will be unfinished. The listener task you have in Transaction.updates might not catch it. Question: Does your app handle unfinished transactions? You need to listen for Transaction.unfinished, and finish any verified transactions. Either call it on the next launch, or create another Task to listen for unfinished. func processUnfinishedTransactions() async { for await result in Transaction.unfinished { switch result { case .verified(let verified): // Always finish verified transactions await verified.finish() case .unverified(let unverified, _): // Handle unverified } } } If you check the Understanding StoreKit Workflows sample from WWDC25, notice they have 3 things going on in the Store.swift file: Task(priority: .background) { // Finish any unfinished transactions -- for example, if the app was terminated before finishing a transaction. for await verificationResult in Transaction
Topic: App & System Services SubTopic: StoreKit Tags:
Feb ’26
iOS 26+ (some users only) Keychain item readable right after save, but missing after app relaunch (errSecItemNotFound -25300)
Hi, I’m seeing a production issue on iOS 26+ that only affects some users. symptoms: It does NOT happen for all users. It happens for a subset of users on iOS 26+. If we write a value to Keychain and read it immediately in the same session, it succeeds. However, after terminating the app and relaunching, the value appears to be gone: SecItemCopyMatching returns errSecItemNotFound (-25300). Repro (as observed on affected devices): Launch app (iOS 26+). Save PIN data to Keychain using SecItemAdd (GenericPassword). Immediately read it using SecItemCopyMatching -> success. Terminate the app (swipe up / kill). Relaunch the app and read again using the same service -> returns -25300. Expected: The Keychain item should persist across app relaunch and remain readable (while the device is unlocked). Actual: After app relaunch, SecItemCopyMatching returns errSecItemNotFound (-25300) as if the item does not exist. Implementation details (ObjC): We store a “PIN” item like this (simplified): addItem: kSecClass: kSec
3
0
320
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
Your listenerTask will update the purchasedProducts/purchasedSubscriptions. If there is any change in the Transaction.updates, you can update the array. With Observable, your views will update accordingly to this change. Take a look at the WWDC25 sample on Understanding StoreKit workflows. https://developer.apple.com/documentation/StoreKit/understanding-storekit-workflows
Topic: App & System Services SubTopic: StoreKit Tags:
Feb ’26
Nested RealityKit entity collisions priority
Hello, I'm struggling trying to interact with a RealityKit entity nested (or at least visually nested) in a second one. I think I've the same issue as mentioned on this StackOverflow post, but I can't manage to reproduce the solution. https://stackoverflow.com/questions/79244424/how-to-prioritize-a-specific-entity-when-collision-boxes-overlap-in-realitykit What I'd like to achieve is to translate the red box using a DragGesture, while still be able to interact using a TapGesture on the sphere. Currently, I can only do one at a time. Does anyone know the solution? extension CollisionGroup { static let parent: CollisionGroup = CollisionGroup(rawValue: 1 << 0) static let child: CollisionGroup = CollisionGroup(rawValue: 1 << 1) } struct ImmersiveView: View { var body: some View { RealityView { content in let boxMesh = MeshResource.generateBox(size: 0.35) let boxMaterial = SimpleMaterial(color: .red.withAlphaComponent(0.25), isMetallic: false) let boxEntity = ModelEntity(mesh: boxMesh, materials: [boxM
3
0
305
Feb ’26
Reply to How can I create a more complex XPCPeerRequirement?
Entitlements and code-signing requirements are very different. See the following for more background on each: TN3125 Inside Code Signing: Provisioning Profiles TN3127 Inside Code Signing: Requirements You can use a code-signing requirement to check for an entitlement, for example: % codesign --verify -R '=entitlement [com.apple.security.app-sandbox] exists' -v /Applications/Pages.app … /Applications/Pages.app: explicit requirement satisfied % codesign --verify -R '=entitlement [com.apple.security.app-sandbox] exists' -v /usr/bin/true … test-requirement: code failed to satisfy specified code requirement(s) However, entitlements are tricky to use in this situation because: You can’t create a provisioning profile that authorises a custom requirement. Many of of the popular entitlements are either unrestricted on macOS, or only restricted in that they clear the entitlement-validate flag [1]. Given that, I think maintaining your previous approach makes sense, that is, check for the Team ID and a list of code-signi
Topic: Code Signing SubTopic: Entitlements Tags:
Feb ’26
Reply to iOS 26+ (some users only) Keychain item readable right after save, but missing after app relaunch (errSecItemNotFound -25300)
Most of the weird keychain failures I see like this are caused by folks using the keychain API incorrectly. I talk about this a lot of in: SecItem: Fundamentals SecItem: Pitfalls and Best Practices However, your additem and readitem summaries look pretty reasonable. It’s hard to see how you could hit the symptoms you’ve described based on this setup. Are you able to reproduce this on a device that you control? Or are you investing this based solely on reports coming in from your users? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Privacy & Security SubTopic: General Tags:
Feb ’26
Reply to iOS Keychain + Derived Credentials: Technical help needed!
Thanks for bringing this to the Apple Developer Forums. First up, I want to double check that this is for iOS. You mentioned the “System Keychain”, which is a macOS thing [1]. On iOS there is only one keychain, known as the data protection keychain. Within that keychain, credentials exist within a keychain access group. Your app’s access to keychain access groups is moderated by entitlements, as explained in Sharing access to keychain items among a collection of apps. Note For a lot more background on keychain APIs, see: SecItem: Fundamentals SecItem: Pitfalls and Best Practices Next, let’s look at your specific questions: [quote='815135021, HSB, /thread/815135, /profile/HSB'] 1- Is there an API that allows us to create a signature without us having to pass the private key itself [/quote] No. iOS does have the ability to work with keys where the key material isn’t directly accessible to your app. We use this, for example, to allow keys to be protected by the Secure Enclave and to support key
Topic: Privacy & Security SubTopic: General Tags:
Feb ’26
Live Activities widget extension does not reflect updated SwiftUI UI (custom views/assets appear ignored)
Hello Apple Developer Technical Support, I’m following up on case #102807413324 and submitting this as a code-level support request. We are integrating iOS Live Activities (ActivityKit + WidgetKit extension written in SwiftUI) into an Expo/React Native app. We’re seeing behavior where the Live Activity UI shown on the Lock Screen appears to “stick” to an older layout and ignores updated SwiftUI code and/or bundled assets, even after rebuilding, reinstalling, and removing existing Live Activities before testing again. Environment Device: iPhone 13 iOS: 26.2 macOS: 15.7.3 (24G419) Xcode: 16.4 (16F6) Expo SDK: 52 React Native: 0.76.9 expo-live-activity: ^0.4.2 Build type: Ad-Hoc signed IPA (EAS local build) Summary We have a WidgetKit extension target (LiveActivity.appex, bundle id: stimul8.LiveActivity) using ActivityConfiguration(for: LiveActivityAttributes.self). The extension contains multiple SwiftUI views selected via a “route” (derived from deepLinkUrl / title / subtitle), and uses images/backgro
1
0
136
Feb ’26
TUINSRemoteViewController over-release crash in ViewBridge during autorelease pool drain
Summary A crash occurs in ViewBridge framework when a TUINSRemoteViewController object receives -release message after being deallocated. This appears to be a reference counting issue within the ViewBridge framework's internal autorelease pool management. Environment macOS Version: [15.0.0] Application: Custom Qt-based application using Chromium Embedded Framework (xcode version: xcode 15; QT version: 6.5.4 ; CEF version: 138.0.47+g2728d53+chromium-138.0.7204.221) Steps to Reproduce Users are typically using the app normally, but a crash occasionally occurs when they activate and click on the application. This happens infrequently, but it occurs roughly every day. Currently, only a few specific users experience this crash, and it may appear for several consecutive days before disappearing for several days. We cannot reliably reproduce this issue but have collected crash logs from affected users. Crash Analysis Zombie Detection Log: Zombie received -release Deallocation Stack Trace (when object was f
1
0
231
Feb ’26
Expro International Group Ltd - Profile issues
Certificate Details Certificate Name Expro International Group Ltd Certificate Type iOS Distribution Expiration Date 2029/02/11 Created By Thavaseelan Kudarsamy Enabled Capabilities iCloud, In-App Purchase, Personal VPN, Push Notifications App ID ESTSMobile (com.exprogroup.estsmobile) This profile is not installing.
Replies
1
Boosts
0
Views
127
Activity
Feb ’26
VisionOs Development: Seeking Advice on Key Strategic Crossroads
I am a developer working on developing a space journal application. During the development process, I encountered several crucial strategic and technical decisions, and I would like to hear the experiences of those who have gone through similar situations. Here are the simplified versions of several questions I have. Resource allocation: Which problem should I address first? Design direction: In terms of interaction and UI design, how should I balance immersion and usability? Market selection: Was it easier for a business to survive in the early stages as a B2B or B2C entity? Cost estimation: How can I reasonably present to my investors the development costs of this project? In order to avoid relying solely on intuition in my decisions, I created a short questionnaire, hoping to gather more structured opinions from my colleagues. If you are also exploring VisionOS, I sincerely hope you can take a few minutes to fill it out. The results are extremely important to me, and I would be more than happy to share the
Replies
1
Boosts
0
Views
158
Activity
Feb ’26
Reply to Sample code not working as expected: Implementing SharePlay for immersive spaces in visionOS
hi @sopmac , I just downloaded and tested the sample and can see the cube's color updating for me & another person. My steps: Sign and run the sample (please make sure your developer team has the group activities capability) press start shareplay -> choose a nearby person aligned views tapped on the cube & we both saw it update Could you please either file a feedback report with all of the details or provide your steps and any updates you made to the sample here? Thank you! note: one other thing is that if both people that are signing it don't have the same team, SharePlay may not work. This isn't an issue in a production app, but if both people download the sample and sign it with different teams, there's a chance that you get an alert that you don't have the same bundle ID so you can't start a SharePlay session.
Replies
Boosts
Views
Activity
Feb ’26
NEFilterManager fails with NEFilterErrorDomain Code=1 (“Configuration invalid or read/write failed”) on iOS — is NEFilter supported on non-supervised devices?
Hi, I’m implementing a NetworkExtension content filter provider on iOS and I can’t get it to activate on device. I have an iOS app (App Store distribution) with a content filter provider extension (NEFilterDataProvider). The app builds, installs, and runs fine, and the extension is embedded correctly. Entitlements appear to be set for both the app and the extension, and the extension’s Info.plist is configured as expected. However, when I try to enable the filter via NEFilterManager (loadFromPreferences → set configuration → isEnabled = true → saveToPreferences), saveToPreferences fails with NEFilterErrorDomain code 1 and the message “Configuration invalid or read/write failed.” The extension never starts and startFilter() is never called. Main app bundle ID: uk.co.getnovi.student Extension bundle ID: uk.co.getnovi.student.NoviContentFilter Extension type: NEFilterDataProvider We are testing on an iPhone 15 running iOS 18.6.2 (22G100), the app is designed to run on iPhone. This app is intended for education u
Replies
1
Boosts
0
Views
76
Activity
Feb ’26
EPERM upon kill(2) of "empty" group
At least on $ uname -r -v -m 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18 21:09:55 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T8103 arm64 running the Posix program test.c #include #include #include #include #include #include int main() { pid_t ch = fork(); if (ch == -1) { perror(fork); return EXIT_FAILURE; } if (ch == 0) { return EXIT_SUCCESS; } if (setpgid(ch, ch) == -1) { perror(setpgid); return EXIT_FAILURE; } siginfo_t stat; if (waitid(P_PID, ch, &stat, WEXITED | WNOWAIT) == -1) { perror(waitid); return EXIT_FAILURE; } if (kill(-ch, SIGKILL) == -1) { perror(kill); return EXIT_FAILURE; } return EXIT_SUCCESS; } as $ clang test.c $ ./a.out kill: Operation not permitted fails with EPERM even though the lifetime of the process group has not yet ended (due to the WNOWAIT).
Replies
2
Boosts
0
Views
105
Activity
Feb ’26
Reply to EPERM upon kill(2) of "empty" group
thanks; filed https://feedbackassistant.apple.com/feedback/21938996 EPERM upon kill(2) of 'empty' group now
Replies
Boosts
Views
Activity
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have run some tests on my copy of StoreKit testing project. When the app is not active, and a renewal comes through, it will be unfinished. The listener task you have in Transaction.updates might not catch it. Question: Does your app handle unfinished transactions? You need to listen for Transaction.unfinished, and finish any verified transactions. Either call it on the next launch, or create another Task to listen for unfinished. func processUnfinishedTransactions() async { for await result in Transaction.unfinished { switch result { case .verified(let verified): // Always finish verified transactions await verified.finish() case .unverified(let unverified, _): // Handle unverified } } } If you check the Understanding StoreKit Workflows sample from WWDC25, notice they have 3 things going on in the Store.swift file: Task(priority: .background) { // Finish any unfinished transactions -- for example, if the app was terminated before finishing a transaction. for await verificationResult in Transaction
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
iOS 26+ (some users only) Keychain item readable right after save, but missing after app relaunch (errSecItemNotFound -25300)
Hi, I’m seeing a production issue on iOS 26+ that only affects some users. symptoms: It does NOT happen for all users. It happens for a subset of users on iOS 26+. If we write a value to Keychain and read it immediately in the same session, it succeeds. However, after terminating the app and relaunching, the value appears to be gone: SecItemCopyMatching returns errSecItemNotFound (-25300). Repro (as observed on affected devices): Launch app (iOS 26+). Save PIN data to Keychain using SecItemAdd (GenericPassword). Immediately read it using SecItemCopyMatching -> success. Terminate the app (swipe up / kill). Relaunch the app and read again using the same service -> returns -25300. Expected: The Keychain item should persist across app relaunch and remain readable (while the device is unlocked). Actual: After app relaunch, SecItemCopyMatching returns errSecItemNotFound (-25300) as if the item does not exist. Implementation details (ObjC): We store a “PIN” item like this (simplified): addItem: kSecClass: kSec
Replies
3
Boosts
0
Views
320
Activity
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
Your listenerTask will update the purchasedProducts/purchasedSubscriptions. If there is any change in the Transaction.updates, you can update the array. With Observable, your views will update accordingly to this change. Take a look at the WWDC25 sample on Understanding StoreKit workflows. https://developer.apple.com/documentation/StoreKit/understanding-storekit-workflows
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Nested RealityKit entity collisions priority
Hello, I'm struggling trying to interact with a RealityKit entity nested (or at least visually nested) in a second one. I think I've the same issue as mentioned on this StackOverflow post, but I can't manage to reproduce the solution. https://stackoverflow.com/questions/79244424/how-to-prioritize-a-specific-entity-when-collision-boxes-overlap-in-realitykit What I'd like to achieve is to translate the red box using a DragGesture, while still be able to interact using a TapGesture on the sphere. Currently, I can only do one at a time. Does anyone know the solution? extension CollisionGroup { static let parent: CollisionGroup = CollisionGroup(rawValue: 1 << 0) static let child: CollisionGroup = CollisionGroup(rawValue: 1 << 1) } struct ImmersiveView: View { var body: some View { RealityView { content in let boxMesh = MeshResource.generateBox(size: 0.35) let boxMaterial = SimpleMaterial(color: .red.withAlphaComponent(0.25), isMetallic: false) let boxEntity = ModelEntity(mesh: boxMesh, materials: [boxM
Replies
3
Boosts
0
Views
305
Activity
Feb ’26
Reply to How can I create a more complex XPCPeerRequirement?
Entitlements and code-signing requirements are very different. See the following for more background on each: TN3125 Inside Code Signing: Provisioning Profiles TN3127 Inside Code Signing: Requirements You can use a code-signing requirement to check for an entitlement, for example: % codesign --verify -R '=entitlement [com.apple.security.app-sandbox] exists' -v /Applications/Pages.app … /Applications/Pages.app: explicit requirement satisfied % codesign --verify -R '=entitlement [com.apple.security.app-sandbox] exists' -v /usr/bin/true … test-requirement: code failed to satisfy specified code requirement(s) However, entitlements are tricky to use in this situation because: You can’t create a provisioning profile that authorises a custom requirement. Many of of the popular entitlements are either unrestricted on macOS, or only restricted in that they clear the entitlement-validate flag [1]. Given that, I think maintaining your previous approach makes sense, that is, check for the Team ID and a list of code-signi
Topic: Code Signing SubTopic: Entitlements Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to iOS 26+ (some users only) Keychain item readable right after save, but missing after app relaunch (errSecItemNotFound -25300)
Most of the weird keychain failures I see like this are caused by folks using the keychain API incorrectly. I talk about this a lot of in: SecItem: Fundamentals SecItem: Pitfalls and Best Practices However, your additem and readitem summaries look pretty reasonable. It’s hard to see how you could hit the symptoms you’ve described based on this setup. Are you able to reproduce this on a device that you control? Or are you investing this based solely on reports coming in from your users? 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
Feb ’26
Reply to iOS Keychain + Derived Credentials: Technical help needed!
Thanks for bringing this to the Apple Developer Forums. First up, I want to double check that this is for iOS. You mentioned the “System Keychain”, which is a macOS thing [1]. On iOS there is only one keychain, known as the data protection keychain. Within that keychain, credentials exist within a keychain access group. Your app’s access to keychain access groups is moderated by entitlements, as explained in Sharing access to keychain items among a collection of apps. Note For a lot more background on keychain APIs, see: SecItem: Fundamentals SecItem: Pitfalls and Best Practices Next, let’s look at your specific questions: [quote='815135021, HSB, /thread/815135, /profile/HSB'] 1- Is there an API that allows us to create a signature without us having to pass the private key itself [/quote] No. iOS does have the ability to work with keys where the key material isn’t directly accessible to your app. We use this, for example, to allow keys to be protected by the Secure Enclave and to support key
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
Feb ’26
Live Activities widget extension does not reflect updated SwiftUI UI (custom views/assets appear ignored)
Hello Apple Developer Technical Support, I’m following up on case #102807413324 and submitting this as a code-level support request. We are integrating iOS Live Activities (ActivityKit + WidgetKit extension written in SwiftUI) into an Expo/React Native app. We’re seeing behavior where the Live Activity UI shown on the Lock Screen appears to “stick” to an older layout and ignores updated SwiftUI code and/or bundled assets, even after rebuilding, reinstalling, and removing existing Live Activities before testing again. Environment Device: iPhone 13 iOS: 26.2 macOS: 15.7.3 (24G419) Xcode: 16.4 (16F6) Expo SDK: 52 React Native: 0.76.9 expo-live-activity: ^0.4.2 Build type: Ad-Hoc signed IPA (EAS local build) Summary We have a WidgetKit extension target (LiveActivity.appex, bundle id: stimul8.LiveActivity) using ActivityConfiguration(for: LiveActivityAttributes.self). The extension contains multiple SwiftUI views selected via a “route” (derived from deepLinkUrl / title / subtitle), and uses images/backgro
Replies
1
Boosts
0
Views
136
Activity
Feb ’26
TUINSRemoteViewController over-release crash in ViewBridge during autorelease pool drain
Summary A crash occurs in ViewBridge framework when a TUINSRemoteViewController object receives -release message after being deallocated. This appears to be a reference counting issue within the ViewBridge framework's internal autorelease pool management. Environment macOS Version: [15.0.0] Application: Custom Qt-based application using Chromium Embedded Framework (xcode version: xcode 15; QT version: 6.5.4 ; CEF version: 138.0.47+g2728d53+chromium-138.0.7204.221) Steps to Reproduce Users are typically using the app normally, but a crash occasionally occurs when they activate and click on the application. This happens infrequently, but it occurs roughly every day. Currently, only a few specific users experience this crash, and it may appear for several consecutive days before disappearing for several days. We cannot reliably reproduce this issue but have collected crash logs from affected users. Crash Analysis Zombie Detection Log: Zombie received -release Deallocation Stack Trace (when object was f
Replies
1
Boosts
0
Views
231
Activity
Feb ’26