Search results for

A Summary of the WWDC25 Group Lab

10,365 results found

Post

Replies

Boosts

Views

Activity

Reply to Missing notification – APNs success but not delivered to device
There really isn't a better way to trace/debug specific push requests after the fact. If you are generally interested in tracking/confirming the fate of notifications, you can do that via a Notification Service Extension, which will be executed for every visible launch, so you can log your received notifications. This still wouldn't help if the customer disables or otherwise configures your app's notifications to not ever be shown, but would work under normal circumstances like focus modes, sending your notifications to Summaries, and so on.
Nov ’25
Crashes because main actor isolated closures are called on a background thread with `DispatchGroup.notify`, but no compiler warnings
Hello! We are in the progress of migrating a large Swift 5.10 legacy code base over to use Swift 6.0 with Strict Concurrency checking. We have already stumbled across a few weird edge cases where the guaranteed @MainActor isolation is violated (such as with @objc #selector methods used with NotificationCenter). However, we recently found a new scenario where our app crashes accessing main actor isolated state on a background thread, and it was surprising that the compiler couldn't warn us. Minimal reproducible example: class ViewController: UIViewController { var isolatedStateString = Some main actor isolated state override func viewDidLoad() { exampleMethod() } /// Note: A `@MainActor` isolated method in a `@MainActor` isolated class. func exampleMethod() { testAsyncMethod() { [weak self] in // !!! Crash !!! MainActor.assertIsolated() // This callback inherits @MainActor from the class definition, but it is called on a background thread. // It is an error to mutate main actor isolated state off the main thre
3
0
501
Nov ’25
iPhone17 (iOS26) BLE connection issue (MTU, Primary Service)
I'm developing an App that works with BLE connection based devices. The BLE connection process, which connects well to the iPhone 16 without any problems, has not worked at all since the iPhone 17. Even when using the same iOS26 version, iPhone 17 is the only one having problems. Progress is stuck after frame 124 in the entire snoop below. Please check if it is a known problem or if there is a solution. 123 2025-11-04 02:01:39.262000 0.000000 localhost () 7c:c6:b6:91:10:04 () ATT 12 Sent Exchange MTU Response, Server Rx MTU: 232 124 2025-11-04 02:01:39.265000 0.003000 localhost () 7c:c6:b6:91:10:04 () ATT 16 Sent Read By Group Type Request, GATT Primary Service Declaration, Handles: 0x0001..0xffff
2
0
180
Nov ’25
Reply to [DEXT Migration Issue] IOUserSCSIParallelInterfaceController fails to handle low-level I/O from `diskutil`
We could not find the relevant properties in the KEXT's IORegistryExplorer snapshot. Looking at the snapshots you sent, I've listed the configuration of both drivers. Note that the first section lists the properties of the direct driver itself, while the second is the actual IOSCSIPeripheralDeviceType00, the parent IOBlockStorageServices. Here are the two configurations: (1) KEXT configuration: KEXT (subclass of IOSCSIParallelInterfaceController): IOMaximumSegmentAddressableBitCount = 0x20 IOMaximumSegmentCountRead = 0x81 IOMaximumSegmentCountWrite = 0x81 IOMaximumByteCountRead = 0x80000 IOMaximumByteCountWrite = 0x80000 IOMinimumSegmentAlignmentByteCount = 0x4 IOSCSIPeripheralDeviceType00: IOMaximumBlockCountRead = 0x400 IOMaximumBlockCountWrite = 0x400 IOMaximumByteCountWrite = 0x80000 IOMaximumByteCountRead = 0x80000 (2) DEXT Configuration DEXT: IOMaximumSegmentAddressableBitCount = 0x40 IOMaximumSegmentCountRead = 0x81 IOMaximumSegmentCountWrite = 0x81 IOMinimumSegmentAlignmentByteCount = 0 IOSCSIPeripher
Topic: App & System Services SubTopic: Drivers Tags:
Nov ’25
Reply to Trying to remove app groups from my macOS app doesn't seem to work
That makes sense. I think it's not going to be too bad for customers. The data in the containers is basically transient cache and temp files (another reason why this particular App Store restriction is probably inappropriate in this case). The user's programs are stored in NSDocument bundles wherever they put them on disk (these bundles are used by the IDE via security scoped URLs which we bookmark and pass to the XPC service in the new versions of the app). In all app versions, a customer can wipe the app container, even the group container, and as soon as they restart the IDE it's all recreated and works perfectly. I test this use case regularly and it's bullet proof. Financially, the app uses (very cheap) monthly auto renewing expenses. The app itself is free to download (the auto renewing subscription is required for building programs, and comes with a month free trial) and doesn't have any permanent in-app purchases that people would lose. I can work with the new developer (a good friend), custo
Nov ’25
Trying to remove app groups from my macOS app doesn't seem to work
Hi, a short question really, which boils down to... How do I make sure I have removed all usage of app groups in my Mac app store app, such that the Mac app store agrees I have! Fundamentally, what I'm trying to do is transfer my app to another developer. In previous releases of this app on the App Store, I used a shared app group container to communicate between the main app and it's (embedded) XPC service, but this blocks App Store transfer of the app to another developer. So I came up with another approach for the App and XPC service to communicate (using a URL bookmark for security scoped files to be passed to the XPC service). And then tried various things to get the app store to accept that I'm no longer using app groups. So far with no luck... removed the app groups entitlements by hand from the entitlements files used to sign the main app and the XPC service, respectively. when that didn't work, go into the Developer Portal, find the app ids for the main app and the
4
0
210
Nov ’25
Provisioning profile entitlements
Hi, I am developing a iOS app with Packet Tunnel Provider Network Extension. I manage signing manually. I created a distribution provisioning profile. Then when I archive and click validate I get this error: Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value 'url-filter-provider' for key 'com.apple.developer.networking.networkextension' So I run security cms -D -i profiles/vpn_distribution.mobileprovision and I see there Entitlements com.apple.developer.networking.networkextension app-proxy-provider content-filter-provider packet-tunnel-provider dns-proxy dns-settings relay url-filter-provider hotspot-provider Where are those coming from. My entitlement file has com.apple.developer.networking.networkextension packet-tunnel-provider com.apple.security.application-groups group.my-app-group What is happening here. How can I get a provisioning profile that only has the entitlements that I actually need?
2
0
178
Nov ’25
Reply to How to use the WebAssembly (wasm) binary module in macos App
We have found the cause of the issue. Below are our current entitlements: com.apple.developer.endpoint-security.client com.apple.developer.networking.networkextension content-filter-provider-systemextension dns-proxy-systemextension app-proxy-provider-systemextension com.apple.developer.system-extension.install com.apple.security.application-groups $(TeamIdentifierPrefix)xxxxxx com.apple.security.get-task-allow com.apple.security.network.client com.apple.security.cs.allow-unsigned-executable-memory We discovered that com.apple.developer.endpoint-security.client and com.apple.security.cs.allow-unsigned-executable-memory are in conflict. Currently, our approach is to download wasm files from the server to the local machine and load them dynamically at runtime, so we cannot package the wasm files into the Contents/Resources directory inside the app bundle. Could you please advise how to resolve this problem?
Topic: Code Signing SubTopic: Notarization Tags:
Nov ’25
Reply to [DEXT Migration Issue] IOUserSCSIParallelInterfaceController fails to handle low-level I/O from `diskutil`
Hi Kevin, Thank you again for your guidance. We have an important update based on your advice. Following your suggestion to compare property configurations, we analyzed our KEXT's source code, as we could not find the relevant properties in the KEXT's IORegistryExplorer snapshot. We then attempted to replicate the KEXT's behavior in our DEXT, which has led us to a final, specific contradiction that we hope you can help us resolve. Here is a summary of our findings and final questions: 1 - KEXT Source Code Contains setProperty Calls We discovered that our KEXT's Start() function programmatically sets several IOBlockStorageCharacteristics using setProperty. The key value is: // In KEXT's Start() function: #define MAX_IO_LENGTH (512 * 1024) // 512KB setProperty(kIOMaximumByteCountWriteKey, (UInt64)MAX_IO_LENGTH, 64); // ... plus other similar properties. 2 - DEXT Fails Despite Replicating KEXT's Configuration Based on this finding and your previous advice, we implemented the following in our DEXT: We im
Topic: App & System Services SubTopic: Drivers Tags:
Nov ’25
UICollectionView Move Item Method Not Called in iOS 18
Summary In iOS 18, the UICollectionViewDelegate method collectionView(_:targetIndexPathForMoveOfItemFromOriginalIndexPath:atCurrentIndexPath:toProposedIndexPath:) is not being called when moving items in a UICollectionView. This method works as expected in iOS 17.5 and earlier versions. Steps to Reproduce Create a UICollectionView with drag and drop enabled. Implement the UICollectionViewDelegate method: func collectionView(_ collectionView: UICollectionView, targetIndexPathForMoveOfItemFromOriginalIndexPath originalIndexPath: IndexPath, atCurrentIndexPath currentIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) -> IndexPath { print(🐸 Move) return proposedIndexPath } Run the app on iOS 18. Attempt to drag and drop items within the collection view. Expected Behavior The method should be called during the drag and drop operation, and 🐸 Move should be printed to the console. Actual Behavior The method is not called, and nothing is printed to the console. The drag and drop oper
Topic: UI Frameworks SubTopic: UIKit Tags:
4
0
692
Nov ’25
Reply to Trying to remove app groups from my macOS app doesn't seem to work
[quote='805890021, carlos4242, /thread/805890, /profile/carlos4242'] what I'm trying to do is transfer my app to another developer [/quote] Right. You’ve misunderstand the relevant bit of App Store Connect > Transfer an app > App transfer criteria. It says: Mac apps that have used the sandbox environment and share the Application Group Container Directory with other Mac apps can't be transferred. That “have used” is important. It doesn’t mean “are currently using” but rather it means “have ever used”. If your Mac app has ever used an app group, you can’t transfer it )-: Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Nov ’25
SwiftData Migration: Objects Created in Custom Migration Aren't Persisted or Queryable (Repost)
I'm experiencing a critical issue with SwiftData custom migrations where objects created during migration appear to be inserted successfully but aren't persisted or found by queries after migration completes. The migration logs show objects being created, but subsequent queries return zero results. I'm migrating from schema version V2 to V2_5, which involves: Renaming Person class to GroupData Keeping the same data structure but changing the class name while keeping the old class. Using a custom migration stage to copy data from old to new schema Below is an extract of my two schema and migration plan: Environment: Xcode 16.0, iOS 18.0, Swift 6.0 SchemaV2 enum LinkMapV2: VersionedSchema { static let versionIdentifier: Schema.Version = .init(2, 0, 0) static var models: [any PersistentModel.Type] { [AnnotationData.self, Person.self, History.self] } @Model final class Person { @Attribute(.unique) var id: UUID var name: String var photo: String var requirement: String var statue: Bool var annotationId: UUID? var
1
0
142
Nov ’25
SwiftData Migration: Objects Created in Custom Migration Aren't Persisted or Queryable
Description: I'm experiencing a critical issue with SwiftData custom migrations where objects created during migration appear to be inserted successfully but aren't persisted or found by queries after migration completes. The migration logs show objects being created, but subsequent queries return zero results. Problem Details: I'm migrating from schema version V2 to V3, which involves: Renaming Person class to GroupData Keeping the same data structure but changing the class name Using a custom migration stage to copy data from old to new schema Migration Code: swift static let migrationV2toV3 = MigrationStage.custom( fromVersion: LinkMapV2.self, toVersion: LinkMapV3.self, willMigrate: { context in do { let persons = try context.fetch(FetchDescriptor()) print(Found (persons.count) Person objects to migrate) // ✅ Shows 11 objects for person in persons { let newGroup = LinkMapV3.GroupData( id: person.id, // Same UUID name: person.name, // ... other properties ) context.insert(newGroup) print(Inserted GroupData:
1
0
97
Nov ’25
App crashed when switching between Annotation Tab and Group Tab with TabView init(selection:content:)
This app will not crash when switching between these two tabs with TabView init(content:) import SwiftUI import SwiftData struct ContentView: View { @StateObject private var highlightManager = HighlightManager.shared @State private var selectedTab: Int = 0 var body: some View { TabView(selection: $selectedTab) { MapView() .tabItem { Label(Map, systemImage: map) } .tag(0) // Annotation Tab AnnotationList() .tabItem { Label(Annotation, systemImage: mappin.and.ellipse) } .tag(1) // Group Tab PeopleList() .tabItem { Label(Group, systemImage: person.and.person) } .tag(2) } .tutorialOverlay() // Apply the overlay to the root view .environmentObject(highlightManager) .toolbar { ToolbarItem(placement: .confirmationAction) { NavigationLink(Help) { NavigationStack { HelpView(selectedTab: selectedTab) } } } } } }
2
0
128
Nov ’25
Game Controller Input Limitations in visionOS Volumetric Windows - Need Clarification
Game Controller Input Limitations in visionOS Volumetric Windows Hello Apple Developer Community, I'm developing a game for visionOS and have encountered significant limitations with game controller input when using volumetric windows (WindowGroup with .volumetric style). I'd appreciate clarification on whether this is expected behavior and any guidance on best practices. 🧩 Issue Summary When using a DualSense controller with a volumetric window in visionOS, only a subset of controller inputs are available to the app. The remaining inputs appear to be reserved by the system for UI navigation. ✅ Working Inputs (Volumetric Window) D-Pad (all directions) L3 (left thumbstick button click) R3 (right thumbstick button click) Menu button Options button ❌ Not Working Inputs (Volumetric Window) Left thumbstick analog movement (used for UI scrolling instead) Right thumbstick analog movement (used for UI scrolling instead) Face buttons (Cross, Circle, Square, Triangle / A, B, X, Y) Shoulder buttons (L1, R1) Tr
1
0
571
Oct ’25