Search results for

A Summary of the WWDC25 Group Lab

10,370 results found

Post

Replies

Boosts

Views

Activity

Reply to App IPA upgrade loses access to keychaingroup
There are two important criteria for evaluating keychain access groups: The list of groups you can access. The default keychain access group, that is, the one used when you add an item and don’t specify a group. Sharing access to keychain items among a collection of apps explains how these are set based on three different entitlements in your app’s code signature. When debugging problems like this, I recommend that you unpack the old and new .ipa files (they’re a zip archive under the covers) and dump the entitlements of both apps: % codesign -d --entitlements - /path/to/your.app Compare the two to see what’s changed. Once you understand what’s, you can then start investigating how the new app got signed in that way, and then work out how to fix it. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Privacy & Security SubTopic: General Tags:
Aug ’25
Reply to Invalid code signing entitlements
[quote='796256021, Qeg, /thread/796256, /profile/Qeg'] I suspect that there is a problem with the App ID Prefix (that is 37CG5MY799 for the app) when our team ID is E4R7RJ7LA3 [/quote] Right. Unique App ID prefixes are not supported on the Mac [1] and, AFAIK, they never have been. [quote='796256021, Qeg, /thread/796256, /profile/Qeg'] I'm currently trying to upload a new version of an existing application. [/quote] It’s hard to say anything for sure without know which App ID we’re talking about, but I usually see this problem in one of two cases: When someone tries to take an iOS app with a unique App ID prefix and create a Mac Catalyst version. When someone tries to replace a Mac-specific app with an universal app. The canonical fix for this is to switch the iOS app to using your Team ID as its App ID prefix. This resolves this problem and is a good idea in general. Specifically, it allows you to share more resources, like keychain access groups, between the various apps in your team. IMPORTANT Chan
Topic: Code Signing SubTopic: Notarization Tags:
Aug ’25
Reply to ba-package tool not available
Unfortunately, the packaging tool and the mock server require macOS 26 Tahoe. You could try installing macOS 26 Tahoe and Xcode 26 inside a virtual machine (VM) on your host Mac running macOS 15 Sequoia, though this isn’t something that we’ve officially validated for the Background Assets developer tools. There are several different VM apps available on the Mac App Store. You can download the macOS 26 Tahoe beta restoration image from the Apple Developer website. Make sure to install the Device Support for macOS 26 Beta on your host Mac before setting up your VM. As we announced at WWDC25, the packaging tool and the mock server will soon be available for Linux, which you could use in a virtual machine on your host Mac running macOS Sequoia or on a dedicated Linux computer as an alternative.
Aug ’25
Reply to /v1/salesReports API started returning 400 Bad Request
so it did work for me with curl, then I had to see what made it work, it seems the html formatting was the issue, not sure why it stopped working now from Apple's side, but I was able to make it work by changing my C# code from this: NameValueCollection queryParams = HttpUtility.ParseQueryString(); queryParams[filter[frequency]] = DAILY; queryParams[filter[reportDate]] = day.ToString(yyyy-MM-dd); queryParams[filter[reportType]] = SALES; queryParams[filter[reportSubType]] = SUMMARY; queryParams[filter[vendorNumber]] = VendorId; queryParams[filter[version]] = 1_0; to this: string url = $https://api.appstoreconnect.apple.com/v1/salesReports + $?filter%5Bfrequency%5D=DAILY + $&filter%5BreportDate%5D={day:yyyy-MM-dd} + $&filter%5BreportType%5D=SALES + $&filter%5BreportSubType%5D=SUMMARY + $&filter%5BvendorNumber%5D={VendorId} + $&filter%5Bversion%5D=1_0;
Aug ’25
Reply to Safari App Extension fails to connect to CloudKit daemon (cloudd) with XPC communication errors -- CKErrorDomain Code=6 / NSCocoaErrorDomain Code=4099 – Unable to connect to CloudKit daemon
Hi Ziqiao, That would be fine, I am actually not interested in sharing a container between the main app and extension. The only reason I even started interacting with the data in the main app was because I couldn't understand why the extension wasn't synchronizing. With the main app I verified that everything about cloudkit was set up correctly. And then when I put them in the same group, they started sharing a container, and I am sure the extension is reading/writing correctly to the container. However, if I disable all interaction with the container in the main app, the records from the extension are never synchronized with cloudkit. Is there some reason for the safari extension to be blocked from synchronizing?
Aug ’25
/v1/salesReports API started returning 400 Bad Request
We run an analytics query every day; this worked fine for the past 6 years or so. Two days ago this query has stopped working. It always returns a non-descript 400 Bad Request. Here's the exact query: curl -H 'Accept: application/a-gzip' -H 'Authorization: Bearer ' 'https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=DAILY&filter[reportType]=SALES&filter[reportSubType]=SUMMARY&filter[version]=1_0&filter[vendorNumber]=' And the response: HTTP Status 400 – Bad RequestHTTP Status 400 – Bad Request I have confirmed that the is correct (with an incorrect token I get a specific error message). Same with missing or incorrect filter parameters: the API returns an exact error message. I have also confirmed that our vendor number is correct (from AppstoreConnect › Payments and Financial Reports, top left corner), though specifying an invalid vendor number yields the same non-descript 400 Bad Request. With seemingly valid filter parameters, (no matter the report type or f
9
0
727
Aug ’25
spatial-backdrop feature available yet?
In WWDC25 session What’s new for the spatial web, the presenter showed creating an immersive environment for a web page by adding to the page's HEAD section My first attempt failed, and I am trying to track down why. Before I search all the potential failure paths, I wanted to ask the community, Is this feature available in the latest visionOS 26 beta? I haven't seen anyone talk about their use of the feature yet.
2
0
233
Aug ’25
Reply to Unable to Write to UserDefaults from Widget Extension Despite Correct App Group Configuration
It kinda looks like the widget extension is limited to read-only access to the group. However, I’d like to check one thing just to be sure. In the error you posted you elided the full path shown by the error. Please post that full path. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Aug ’25
Invalid code signing entitlements
Hello, I'm currently trying to upload a new version of an existing application. But each time I try to validate the archive of the application, I got the following error in Xcode (v16.2) : Invalid code signing entitlements. Your application bundle’s signature contains code signing entitlements that aren’t supported on macOS. Specifically, the “37CG5MY799.com.example.app” value for the com.apple.application-identifier key in “com.example.app.pkg/Payload/app.app/Contents/MacOS/app” isn’t supported. This value should be a string that starts with your Team ID, followed by a dot (“.”), followed by the bundle ID. I suspect that there is a problem with the App ID Prefix (that is 37CG5MY799 for the app) when our team ID is E4R7RJ7LA3 but I cannot find a solution. I asked the Apple Developer Support for help and I have read the documentation they sent but it couldn't solve this problem so they redirected me to the forums. https://developer.apple.com/library/archive/qa/qa1879/_index.html https://developer.apple.com/lib
1
0
199
Aug ’25
App IPA upgrade loses access to keychaingroup
Hi, Our App relies on a keychain to store certificates and key-value pairs. However, when we upgraded from an older XCode 15.2 (1 year old) app version to a newer version XCode 16.2 (with identical keychain-groups entitlement), we found that the newer ipa cannot see the older keychain group anymore... We tried Testflight builds, but limited to only generating newer versions, we tried using the older App's code, cast as a newer App version, and then upgraded to the newer code (with an even newer app version!). Surprisingly we were able to see the older keychain group. So it seems that there's something different between the packaging/profile of the older (1 year) and newer (current) App versions that seems to cause the new version to not see the old keychainGroup... Any ideas?
1
0
193
Aug ’25
Unable to Write to UserDefaults from Widget Extension Despite Correct App Group Configuration
Hi Apple team, I'm experiencing a persistent issue with writing to UserDefaults from a widget extension on iOS. Here's the situation: I've set up an App Group: group.test.blah The main app has the correct entitlement and can read/write from UserDefaults(suiteName:) using this group successfully. I can read the value written by the app from the widget (e.g., testFromApp: hiFromApp). The widget extension has the same App Group enabled under Signing & Capabilities. The provisioning profile reflects the App Group and the build installs successfully on a real device. The suite name is correct and matches across both targets. I’ve confirmed via FileManager.default.containerURL(...) that the app group container resolves properly. When I try to write from the widget extension like this let sharedDefaults = UserDefaults(suiteName: group.test.blah) sharedDefaults?.set(hiFromWidget, forKey: testFromWidget) ...I get this error in the console: Couldn't write values for keys
7
0
250
Aug ’25
Safari App Extension fails to connect to CloudKit daemon (cloudd) with XPC communication errors -- CKErrorDomain Code=6 / NSCocoaErrorDomain Code=4099 – Unable to connect to CloudKit daemon
I'm working on a macOS app with a Safari web extension. I'm trying to share a SwiftData model between devices using CloudKit synchronization. I am able to get synchronization in the main app on the same device, CloudKit sync works correctly — changes appear in the CloudKit Dashboard under com.apple.coredata.cloudkit.zone. However, in the Safari App Extension, data is saved locally and persists across launches, but never syncs to CloudKit. I have followed the recommended practices for configuring the App Group and entitlements, but the issue persists. Questions: Is there an official limitation preventing Safari App Extensions from connecting to the CloudKit daemon (cloudd)? If not, what entitlements or configuration changes are required for a Safari App Extension to successfully sync with CloudKit? Is the xpc_error=159 from bootstrap_look_up() a known sandbox restriction for this extension type? Any guidance from Apple engineers or others who have successfully used CloudKit from a Safari App Extension
2
0
121
Aug ’25
StoreKit 2 Sandbox Testing - Product not found
Hi, I've been unable to successfully test in the sandbox environment for a StoreKit 2 subscription group and can't seem to find the missing piece. I am calling the following line of code: let products = try await Product.products(for: [subscriptionID]) Expected behavior: The product is returned in the products array. Actual result: The array is empty I have done the following: Successfully tested our logic using a storekit configuration file locally in Xcode. Created the Subscription group in App Store Connect. The subscription product is currently Waiting for Review, but it is our first so will not be approved without being attached to a distribution build review. Created a Sandbox user account in App Store Connect -> Users -> Sandbox Signed into the sandbox user account in Settings -> Developer -> Sandbox Apple Account Signed the Paid Apps Agreement for our organization A few debugging notes: I deleted all apps before installing from Xcode I've tried both locally and in TestFli
1
0
124
Aug ’25
Reply to visionOS: Unable to programmatically close child WindowGroup when parent window closes
Hello @Jir_253, Thanks for your questions. I’d recommend that you start by watching Set the scene with SwiftUI in visionOS from this year’s WWDC. Your “CWindow” sounds similar to the Tools window covered in this talk: WindowGroup(Tools, id: tools) { ToolsView() } .restorationBehavior(.disabled) .defaultLaunchBehavior(.suppressed) Similar to iOS where you cannot quit the application yourself, you cannot dismiss the last window of your application. When a user goes to close the main window when the secondary window is open, you cannot close this secondary window if it’s the only window group that is open in your application. Consider adding an affordance to the secondary window to reopen the main window in this case. There's no supported way for you to create parent/child window relationships with the APIs currently available. If you'd like us to consider adding the necessary functionality, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number
Topic: Spatial Computing SubTopic: General Tags:
Aug ’25
Reply to Modal Presentation in UIKit Adds Solid Background in iOS 26
Is this change in modal presentation documented anywhere? I can't seem to find anything on it in the Apple Dev Documentation or from WWDC25. We don't document the implementation details, but the design change was mentioned in this video. (It is a SwiftUI video, but the design change applies to UIKit.) Best, —— Ziqiao Chen  Worldwide Developer Relations.
Topic: UI Frameworks SubTopic: UIKit Tags:
Aug ’25