Search results for

A Summary of the WWDC25 Group Lab

10,365 results found

Post

Replies

Boosts

Views

Activity

Can't Verify Merchant Domain - error Domain verification failed - Error 13014
Dear Apple Developer Support, I would like to request a technical escalation to the engineering team regarding an ongoing issue with Apple Pay domain verification. Error returned by Apple Even though Apple’s request to our domain returns HTTP 200, the verification still fails with: resultCode: 13014 resultString: Domain verification failed. Review your TLS Certificate configuration to confirm that the certificate is accessible and a supported TLS Cipher Suite is used. requestUrl: https://developer.apple.com/services-account/QH65B2/account/ios/identifiers/verifyDomain TLS Certificate Validation We performed a full TLS analysis: Certificate issued by Sectigo Public Server Authentication CA DV E36 (public trusted CA) Full and correct certificate chain No handshake errors Configuration fully valid SSL Labs rating: A From our side, the TLS configuration is confirmed to be correct. Accessibility of the .well-known file The file is publicly and accessible It returns 200 OK and the content is exactly identic
1
0
151
Nov ’25
Reply to Request: Allow Game Mode to be enabled locally for non-game App Store categories
I’m facing the exact same issue. Even though I’m not located in China, the classification still matters because Apple requires a government license for anything categorized as a “game” in China, which is practically impossible for an independent developer to obtain. Many users are asking for Game Mode support in my real-time streaming app, but enabling it would force me to change the category to “Games” on the App Store and that would immediately lock out thousands of users in China. So I’m stuck having to choose between delivering better performance for one group of users and keeping the app available for another, and that’s not a great position to be in as a developer.
Nov ’25
ZoneSharing CloudKit UI
I am trying to use Zone Sharing in my SwiftUI app. I have been attempting to get the UICloudSharingController to show an initial share screen to pick users and the mechanism to send the invitation. From the documentation, it appears that the UICloudSharingController .init(preparationHandler:) API is deprecated so I am not using that approach. Following the Apple documentation, I am creating a Zone Share and NOT saving it and presenting using the UICloudSharingController(share:container:) API. However, this presents a UI that is the 'mgmt' API for a Share. I can get to the UI I was expecting by tapping on the 'Share with More People' option, but I want to start on that screen for the user when they have not shared this before. So, I found an example app from Apple at: https://github.com/apple/sample-cloudkit-zonesharing. It has the same behavior. So we can simply discuss this problem based on that example code. How do I get the next View presented when tapping 'Share Group' to be the invitation for ne
4
0
321
Nov ’25
Reply to WidgetKit with Data from CoreData
A solution is not to rely on a Data Manager class and its associates but to use UserDefaults so that Widget's getTimeline method will be called when ContentView submits data to it. By this approach, you can update Widget's View. import SwiftUI import WidgetKit struct ContentView: View { var body: some View { VStack { Button { let task0 = TaskItem(id: UUID(), name: Dish washing, isComplete: false, dueDate: Date.now.addingTimeInterval(86400)) let task1 = TaskItem(id: UUID(), name: Bed making, isComplete: false, dueDate: Date.now.addingTimeInterval(86400 * 2)) saveTasksToWidget(tasks: [task0, task1]) } label: { Image(systemName: globe) .imageScale(.large) } .tint(.pink) .buttonStyle(.borderedProminent) } .padding() } private func saveTasksToWidget(tasks: [TaskItem]) { guard let sharedDefaults = UserDefaults(suiteName: group.abc) else { print(Failed to get shared UserDefaults.) return } do { let encoder = JSONEncoder() let encodedData = try encoder.encode(tasks) sharedDefaults.set(encodedData, forKey: widgetTasks
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Nov ’25
WidgetKit with Data from CoreData
I have a SwiftUI app. It fetches records through CoreData. And I want to show some records on a widget. I understand that I need to use AppGroup to share data between an app and its associated widget. import Foundation import CoreData import CloudKit class DataManager { static let instance = DataManager() let container: NSPersistentContainer let context: NSManagedObjectContext init() { container = NSPersistentCloudKitContainer(name: DataMama) container.persistentStoreDescriptions = [NSPersistentStoreDescription(url: FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: group identifier)!.appendingPathComponent(Trash.sqlite))] container.loadPersistentStores(completionHandler: { (description, error) in if let error = error as NSError? { print(Unresolved error (error), (error.userInfo)) } }) context = container.viewContext context.automaticallyMergesChangesFromParent = true context.mergePolicy = NSMergePolicy(merge: .mergeByPropertyObjectTrumpMergePolicyType) } func save() { do { try c
7
0
286
Nov ’25
Reply to Live Activities Push-to-Start flows
@bradpriddy Thank you for the post and the link to the code, this is really good with a great description as well as the comprehensive list of devices where the device fails to receive a push-to-start token. I believe is a bug however, regrettably, I am not an expert in the APN start token and update token. However, I believe the most expedient course of action, to resolve the issue is to submit a bug report with a zip file containing the code you have provided and a concise summary of the problem. Once you open the bug report, please post the FB number here for my reference. If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why? Albert Pascual
  Worldwide Developer Relations.
Nov ’25
Reply to Provisioning Profile Not Including Push Notifications Capability
There are two factors in play here, the Apple Developer website and your third-party tooling. Let’s separate them. Try this: In Certificates, Identifiers, and Profiles section of the Developer website, create a new App ID. I’d like you to share info about this App ID, so choose bundle ID that you’re comfortable posting here. During the creation process, enable the Push Notifications capability. Back in Certificates, Identifiers, and Profiles, create a new provisioning profile for that App ID. At the first screen, select iOS App Development. Check the entitlement authorised by that profile. I just did that here and this is what I see: % security cms -D -i Test808162_Dev.mobileprovision | plutil -p - { … Entitlements => { application-identifier => SKMME9E2Y8.com.example.apple-samplecode.Test808162 aps-environment => development com.apple.developer.team-identifier => SKMME9E2Y8 get-task-allow => 1 keychain-access-groups => [ 0 => SKMME9E2Y8.* 1 => com.apple.token ] } … } As you c
Nov ’25
Reply to Contrast for texts in widgets with image backgrounds transparent mode
Are you using @Environment(.widgetRenderingMode) var widgetRenderingMode already? If not, add that to your widget view, and change how the widget looks depending on the various values of widgetRenderingMode, i.e.: var body: some View { ZStack { switch renderingMode { case .fullColor: Text(Full color) case .accented: ZStack { Circle(...) VStack { Text(Accented) .widgetAccentable() Text(Normal) } } case .vibrant: Text(Full color) default: ... } } } Also, on images, there's a modifier: .widgetAccentedRenderingMode() with options like .accentedDesaturated. Take a look at how each of those values affects your widget, and you might find out the right combination that works in each of the various Home Screen modes. Note that this is only available from iOS 18 onwards. Also note (from the dev documentation) if the Image is a subview for a group that has widgetAccentable(true) applied, this modifier may conflict. It's quicker to check the various looks in Xcode previews than it is to build and deploy to an iP
Nov ’25
Reply to Check whether app is built in debug or release mode
Earlier I wrote: But, honestly, it sounds like a fun weekend project And indeed it was (-: Pasted below is some iOS code that is able to detect how your code is signed using only public APIs. To do this, it uses a sneaky combination of XPC loopback and XPC peer requirement checking. This code comes with a bunch of caveats. Read the doc comment before you use it [1]. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com [1] By my count the doc comments represent well over half the total number of lines (-: import Foundation extension CheckSelfEntitlement { /// Checks whether the current process claims the get-task-allow /// entitlement. /// /// - warning: As explained below, you shouldn’t use this routine but /// instead should use ``isGetTaskAllowTrue()``. This routine exists solely /// to illustrate the following point. /// /// This routine checks for the presence of the entitlement, rather than /// checking for it being present with a particular
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
568
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
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
199
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
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