Search results for

A Summary of the WWDC25 Group Lab

10,365 results found

Post

Replies

Boosts

Views

Activity

Reply to Can I save data to an App Group container from a ILClassificationRequest classifier?
I haven't been able to find much in the documentation on whether this behavior is enforced in classificationResponse handlers. Apple's barebones page on SMS and Call Spam Reporting[1] says the system always deletes your extension’s container after your extension terminates, but that doesn't answer whether you can write to an App Group container. No, you cannot. This could have been more directly stated, but this is basically implementing one of the strongest possible restrictions* around your extension. For comparison, the filter data provider extension, which can examine the contents of all network traffic, is allowed to write to its data container but cannot write ANYWHERE else on the system (nor can its container be read). ILClassificationUIExtensionViewController takes that level of protection one step further and doesn't even preserve your app’s own container. *We could have simply blocked writing, but I suspect container writing was allowed to provide a bit more implementation flexibility. For
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’25
Reply to Building macOS apps with Xcode 26 on macOS 26 VM
[quote='860281022, RickMaddy, /thread/787500?answerId=860281022#860281022, /profile/RickMaddy'] where does this all stand? [/quote] For a summary of the current state of the issues being discussed in this thread, see my 27 Aug 2025 reply. However, your questions extend beyond that, so let’s dig in. [quote='860281022, RickMaddy, /thread/787500?answerId=860281022#860281022, /profile/RickMaddy'] is there any viable way for a solo developer with one Mac to develop and test a macOS app that runs on more than one version of macOS? [/quote] Yes. As marco.masser suggested, you can boot your Mac into older versions of macOS and test there. I want to stress that, while VMs are super useful, they are not a substitute for testing on real hardware [1]. VMs have limits: Some are bugs, as we’ve been discussing on this thread. Some of them are absent features. Of these, the lack of TestFlight support is the most critical. I’ll come back to that below. Some of them are just fundamental to VMs. For example, if you’re
Sep ’25
StoreKit Configuration Not Syncing to Xcode
Hello! I am attempting to add Subscriptions to an App that Is already published on the App Store. I cannot get Xcode to actually sync what is in my App Store Connect. When adding the Storekit configuration file, I go through the automatic linking process and select the proper bundleID. The configuration file says 'Synced @ [CurrentTime]' however there are no subscriptions listed in there. I have attempted deleting the file several times, creating a new subscription group. With no success. Do I need to publish the subscriptions without the features first? Upon attempting to write the supporting code that will enable these features within the app, I cannot get Xcode to identify that I have these subscriptions. I have also tried pushing these to TestFlight, still with no success. Thank you.
13
0
1.6k
Sep ’25
Reply to How To Position Controls With SwiftUI
After a bunch of more digging around, I am finally getting a little traction on how to create a SwiftUI interface. And I am posting this here in hopes of helping someone else in my position. struct MyCustomView: View { @State private var volume: Double = 0 var body: some View { Group { HStack { Text(oo) .padding(2) .border(Color.black) Button(Stop) { } Button(Play) { } Button(Jump) { } } .padding(.top, 10) VStack { Slider(value: $volume, in: -10...100) .offset(x: 13,y: 0) .frame(width: 150, height: 40) } } .offset(x: -150, y: 0) } } I did a screenshot of a portion of the original music player controls and the same thing using SwiftUI. Now there is the basis for improving the SwiftUI code to better match that of the original screen. I hope this helps someone else.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Sep ’25
Reply to Mac OS X App for collecting linear displacement of a sample
I've often used serial-to-USB converters connected to a Mac, and not had reliability problems with them. I like to use the Silabs CP2104. Silicon Labs have drivers for these for various platforms. Your code need to know the /dev name of the serial device, which you can derive by inspection in your case (just plug it in, install the driver, list /dev). To get things going, you can use a terminal emulator like CoolTerm. The Modbus RTU protocol is well described in the documentation you linked. If I were you, I'd make a command line tool written in Python which reads one displacement value from the voltmeter. I'd utilize that tool into my app's bundle and call it from there. Since I don't use Python very often and the problem is simple, I'd ask an LLM to write the program for me. you said although the instrument is displaying 0.000 volts, the data collected changes at each message I send to the instrument, proving me that Modbus RTU set up is not working. but what does the data you collected actually re
Topic: App & System Services SubTopic: Hardware Tags:
Sep ’25
Best practice to prevent users from switching between subscriptions in the same group?
Hello everyone, For example, our app currently has one subscription group in App Store Connect with 5 plans (2 annual, 2 monthly, and 1 quarterly). By default, users can go into Apple Subscriptions in Settings and freely switch between all of these plans. However, our business requirement is to only allow users to stay on one annual plan and one quarterly plan. We don’t want them to switch to the other plans. My questions are: Is there any best practice or recommended approach to restrict subscription switching within the same group? Would removing the unwanted products from sale be the correct approach, or are there any risks/downsides with this method? Has anyone faced a similar situation and found a practical solution? Any guidance or shared experience would be greatly appreciated. Thanks!
4
0
147
Sep ’25
SwiftSMTP broken: Error ioOnClosedChannel on latest macOS
Hi! I wrote an internal used backup command line tool which is in use since several years. Today I got an error while sending an email: “Failed: ioOnClosedChannel”. I assume that the latest macOS updates did break my app. On the server I use macOS 15.7 and on my development machine macOS 26. Here is the related code: private func sendMail() { var a : [Email.Attachment] = [] if self.imageData != nil { switch self.imageType { case .tiff: a.append(Email.Attachment(name: Statistics.tif, contentType: #image/tiff#, contents: ByteBuffer(bytes: self.imageData!))) case .pdf: a.append(Email.Attachment(name: Statistics.pdf, contentType: #application/pdf#, contents: ByteBuffer(bytes: self.imageData!))) case .unknown: fatalError(Unimplemented attachment type!) } } mailHtml = mailHtml.replacingOccurrences(of: , with: n) let email = Email(sender: .init(name: Backup, emailAddress: SENDER@MYDOMAIN), replyTo: nil, recipients: recipients, cc: [], bcc: [], subject: self.subject, body: .universal(plain: self.mailText, html: mailH
2
0
240
Sep ’25
kTCCServiceSystemPolicyAppData warning from Transparency Consent and Control (TCC)
The problem is described in full with log output in #16844 We are having an issue with TCC prompting users for access to the app group container despite signing with entitlements following all guidelines. This is a regression from the Feb 2025 Changes discussed in App Groups: macOS vs iOS: Working Towards Harmony The problem can only be reproduced with Xcode 16.0 and later. The entitlements for the app include access for the group container with [Key] com.apple.security.application-groups [Value] [Array] [String] G69SCX94XU.duck The documentation notes the group name can be arbitrary, e.g. .. Cyberduck uses G69SCX94XU.duck by default. Interestingly enough the alert is not shown when a group name matching the bundle identifier is used, e.g. G69SCX94XU.ch.sudo.cyberduck.
6
0
481
Sep ’25
Reply to 403 Forbidden error
I'm having the exact same problem. Keys are created in https://appstoreconnect.apple.com/access/integrations/api with sufficient access permissions. To eliminate all potential misdoings on my side I used altool to generate the JWTs for API requests: JWT=$(xcrun altool --generate-jwt --apiKey ${APP_STORE_CONNECT_KEY_IDENTIFIER} --apiIssuer ${APP_STORE_CONNECT_ISSUER_ID} 2>&1 | tail -1) With the generated JSON Web Token I can successfully access endpoints such as List Apps 10:56:08 priit@marmot ~ curl -H Authorization: Bearer ${JWT} https://api.appstoreconnect.apple.com/v1/apps | jq '.meta' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10945 100 10945 0 0 15788 0 --:--:-- --:--:-- --:--:-- 15770 { paging: { total: 1, limit: 50 } } and List Users 10:56:35 priit@marmot ~ curl -H Authorization: Bearer ${JWT} https://api.appstoreconnect.apple.com/v1/users | jq '.data[] | .attributes.roles' % Total % Received % Xferd Average Speed Time Time Time Curren
Sep ’25
CardDAV - empty Response
Hello,I try to get all contacts from an iCoud Account...First I run:< ?xml version=1.0 encoding=UTF-8 ?> < d:propfind xmlns:d=DAV: > < d:prop > < d:current-user-principal/ > < /d:prop > < /d:propfind >Then I get /xxxxxxxxxxx/carddavhome/ and run:< ?xml version=1.0 encoding=UTF-8? > < d:propfind xmlns:d=DAV: xmlns:card=urn:ietf:params:xml:ns:carddav > < d:prop > < card:addressbook-home-set/ > < /d:prop > < /d:propfind >This give me the URL https://pXX-contacts.icloud.com:443/xxxxxxxxxxx/carddavhome/ then I send the following request to this URL:< ?xml version=1.0 encoding=UTF-8? > < d:propfind xmlns:d=DAV: xmlns:card=urn:ietf:params:xml:ns:carddav > < d:prop > < d:displayname/ > < d:resourcetype/ > < /d:prop > < /d:propfind >And I get:< ?xml version=1.0 encoding=UTF-8? > < multistatus xmlns=DAV: > < response > < href >/xxxxxxxxxxx/carddavhome/< /href > < propstat &g
1
0
846
Sep ’25
Inconsistent Xcode cloud performance
Hi! For the past few days I have been experiencing slower builds in my workflows, without a clear reason of the cause as sometimes they run with the old usual time. I tried contacting the Developer Support without success in finding out the reason of these issues, the case number was 102661768064. As an example, I have a workflow for Pull request checks that involves testing and analyzing. This usually ran for 11-15mins, but now it could take up to 30mins or more. Looking into the logs it just seems that the machine it's particularly slow, then in another build it goes with usual times again. As an example, below are the summaries of two builds of the same branch: Being in the free tier, these new long times are burning my free time quite faster and probably will need to look into running this checks in GitHub Actions if it doesn't improve. A hint of what might be wrong is also found in an error in the test workflow, which denotes a problem booting a simulator. Any help on this will be appreciated, t
1
0
172
Sep ’25
Reply to kTCCServiceSystemPolicyAppData warning from Transparency Consent and Control (TCC)
I can confirm this is not reproduced in a virtual machine running 15.6_24G84 (btw cannot find 15.7 (24G222) for download). As previously written to DTS this was not reproduced in 26.0_25A5327h either and the reason was this was also tested in a clean virtual machine. On the installation this is reproduced running 15.7 (24G222) the folder in ~/Library/Group Containers has indeed a .com.apple.containermanagerd.metadata.plist file with faulty, cached MCMMetadataIdentifier key referencing a different team identifier that was used for testing at some point.
Topic: Code Signing SubTopic: Entitlements Tags:
Sep ’25
AppGroups data loss after App transfer and App update.
Hi, I just released a new version of an app that was transferred from another developer account. The previous version of this app used the App Groups feature to store some important data, and I would like to retrieve that data. In the new version, I’m using the same bundle identifier and the same App Group ID (which has already been deleted from the original developer account). I also added the App Groups entitlement in the project settings and set the same App Group ID. However, I still cannot access the data in the App Group. From the documentation and issues I’ve found, it seems that an app should still have permission to access the same App Group after being transferred. Did I miss something? Thanks!
2
0
238
Sep ’25
Reply to AppGroups data loss after App transfer and App update.
A colleague pointed out that I did't quite get the details right here. But, nonetheless the key thing to know is that any app groups created in a previous developer account will not follow an app to a new developer account after an app transfer. Any data stored using an app group created in a previous developer account will not be accessible after an app transfer even if you use the same app group names. Here are the corrected details: App group IDs never start with an App ID prefix. Rather: iOS-style app group IDs start with group. macOS-style app group IDs start with the Team ID. To read more, please see the forums thread App Groups: macOS vs iOS: Working Towards Harmony
Topic: Code Signing SubTopic: Entitlements Tags:
Sep ’25