Search results for

A Summary of the WWDC25 Group Lab

10,084 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:
2w
Getting Started with SMAppService
I was stuck on a long train journey this weekend, so I thought I’d use that time to write up the process for installing a launchd daemon using SMAppService. This involves a number of deliberate steps and, while the overall process isn’t too hard — it’s certainly a lot better than with the older SMJobBless — it’s easy to accidentally stray from the path and get very confused. If you have questions or comments, start a new thread in the App & System Services > Processes & Concurrency subtopic and tag it with Service Management. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com Getting Started with SMAppService This post explains how to use SMAppService to install a launchd daemon. I tested these instructions using Xcode 26.0 on macOS 15.6.1. Things are likely to be slightly different with different Xcode and macOS versions. Create the container app target To start, I created a new project: I choose File > New > Project. In the t
0
0
44
2w
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
2w
Crash in libquic.dylib when app is backgrounded and issues an HTTP/3 request on iOS 26
Title / Summary Crash in libquic.dylib when app is backgrounded and issues an HTTP/3 request Description On iOS 26, the app crashes inside libquic.dylib while performing a network request using HTTP/3 (QUIC) after the app has moved to the background. The crash happens within low-level QUIC / libquic internals. Reproduction Steps Launch the app, perform normal operations. Background the app (press home / switch away). While in background, trigger a network request that uses HTTP/3 / QUIC. Observe that the app crashes (stack trace pointing into libquic.dylib). Expected Behavior The HTTP/3 request in background should either be handled gracefully (fail or complete) without causing a crash; the app must not be terminated due to internal libquic failures. Actual Behavior The app crashes with signals/exceptions coming from libquic.dylib (in the QUIC / packet building / encryption / key state logic) when a HTTP/3 request is made in background. Environment / Device Information • OS: iOS 26 • Device: iPhone 1
3
0
111
2w
Windows Apple Music: how to enumerate the local library or export it? Is Library.musicdb documented / API available?
Environment Windows 11 [edition/build]: [e.g., 23H2, 22631.x] Apple Music for Windows version: [e.g., 1.x.x from Microsoft Store] Library folder: C:UsersMusicApple MusicApple Music Library.musiclibrary Summary I need a supported way to programmatically enumerate the local Apple Music library on Windows (track file paths, playlists, etc.) for reconciliation with the on-disk Media folder. On macOS this used to be straightforward via scripting/export; on Windows I can’t find an equivalent. What I’m seeing in the library bundle Library.musicdb → not SQLite. First 4 bytes: 68 66 6D 61 (hfma). Library Preferences.musicdb → also starts with hfma. artwork.sqlite → SQLite but appears to be artwork cache only (no track file paths). Extras.itdb → has SQLite format 3 header but (from a quick scan) not seeing track locations. Genius.itdb → not a SQLite database on this machine. What I’ve tried Attempted to open Library.musicdb with SQLite providers → error: “file is not a database.” Binary/string scans (ASCII, UT
0
0
142
2w
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:
2w
Xcode 26 macOS 26 mac app UI Testing issues
Testing is hit or miss since I've tried testing my mac App using Xcode 26 on macOS 26. Instrumenting my code shows this when things work Various App state variables initialized correctly ContentView onAppear runs App Delegate's applicationDidFinishLaunching runs When things don't work I see that the ContentView onAppear code was not executed and the app's window does not appear on my display. What would cause that to happen? This ONLY happens when testing the app in Xcode, either selecting individual tests or groups of tests or using cmd-U to run all tests.
0
0
119
2w
Can I save data to an App Group container from a ILClassificationRequest classifier?
Title's basically the whole question. I'm writing an SMS/Call Reporting extension (ILClassificationUIExtensionViewController). My goal is to keep everything on device and not use the built-in SMS/network reporting. To that end, I'm trying to write to a file in the App Group container from the classificationResponse handler. I'm getting Error 513: You don’t have permission to save the file “classification_log.txt” in the [app group container folder]. 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. I haven't been able to find that answer elsewhere. ChatGPT and Gemini are both very sure it can be done. Any thoughts? [1] https://developer.apple.com/documentation/identitylookup/sms-and-call-sp
5
0
318
2w
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:
2w
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
2w
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:
2w
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:
2w
iOS 26: Navigation bar unexpectedly switches to Light appearance during navigation in Dark Mode
Summary On iOS 26, the navigation bar unexpectedly switches to a Light appearance during/after a view transition while the device/app is in Dark Mode. This seems correlated with applying listStyle(.plain) to a List. Removing .plain prevents the issue, but my app’s layout requires it. Sample code: import SwiftUI @main struct iOS26NavigationTitleSampleApp: App { var body: some Scene { WindowGroup { NavigationStack { ContentView() .navigationTitle(Root) .navigationBarTitleDisplayMode(.inline) } } } } struct ContentView: View { var body: some View { VStack { NavigationLink { ListView() } label: { VStack { Image(systemName: globe) .imageScale(.large) .foregroundStyle(.tint) Text(Hello, world!) } } } .padding() .toolbar { ToolbarItemGroup(placement: .navigation) { Button(Test) { } Button(Test2) { } } } } } struct ListView: View { var items: [Int] = Array(0..<100) var body: some View { List { ForEach(items.indices, id: .self) { idx in cell(items[idx]) } } .listStyle(.plain) .toolbar { ToolbarItemGroup(pl
5
0
305
2w
MissingEntitlement Error with Keychain Access in Mac Catalyst App
My Mac Catalyst app fails with a MissingEntitlement error when accessing keychain/secure storage, while the same code works perfectly on iOS. I have tested this extensively on macOS using Visual Studio Code on a MacBook, trying both automatic and manual provisioning approaches - both result in the same MissingEntitlement error during keychain operations. Error Message: An error occurred during OTP verification: Error adding record: MissingEntitlement Environment : Platform: Mac Catalyst (.NET 9.0) Issue: Keychain access fails on macOS, works on iOS Development: Using .NET MAUI What I've Tried : Entitlements Configuration Added keychain-access-groups to Entitlements.plist: xml keychain-access-groups $(AppIdentifierPrefix)com.example.myapp Project Signing Setup (.csproj configuration) : true manual TEAM_ID Apple Development: Name (XXXXXXXXXX) PROVISIONING_PROFILE_UUID Platforms/MacCatalyst/Entitlements.plist true Has anyone encountered similar issues with Mac Catalyst keychain access? Any
0
0
25
2w