Search results for

A Summary of the WWDC25 Group Lab

10,095 results found

Post

Replies

Boosts

Views

Activity

Reply to Help with Entitlements for Keychain Access
[quote='793977021, neil218, /thread/793977, /profile/neil218'] I attempted to codesign my native dynamic library (.dylib) with an entitlement [/quote] That won’t work. Entitlements are only relevant to a main executable. If you sign library code with an entitlement it is, at best, ignored. Creating distribution-signed code for macOS has general guidelines for signing Mac code and it specifically calls this out. Expanding on this a little, when a process runs an executable, the system checks the entitlements claimed by that executable. If all the entitlements are authorised by the executable’s profile [1], the process starts running that program and gains those entitlements. If not, the system kills the process [2]. So, to get this to work you have to change how you sign your app as a whole. This can be tricky. I usually recommend that Java developers start Java by way of a native trampoline. See the info and links in the TCC and Main Executables section of On File System Permissions. However, that trampoline
Topic: Privacy & Security SubTopic: General Tags:
Jul ’25
Help with Entitlements for Keychain Access
Hi everyone, I’m working an Objective-C lib that performs Keychain operations, such as generating cryptographic keys and signing data. The lib will be used by my team in a Java program for macOS via JNI. When working with the traditional file-based Keychain (i.e., without access control flags), everything works smoothly, no issues at all. However, as soon as I try to generate a key using access control flags SecAccessControlCreateWithFlags, the Data Protection Keychain returns error -34018 (errSecMissingEntitlement) during SecKeyCreateRandomKey. This behavior is expected. To address this, I attempted to codesign my native dynamic library (.dylib) with an entitlement plist specifying various combinations of: keychain-access-groups com.apple.security.keychain etc. with: My Apple Development certificate Developer ID Application certificate Apple Distribution certificate None of these combinations made a difference, the error persists. I’d love to clarify: Is it supported to access Data Protection Keycha
1
0
378
Jul ’25
Reply to UITabBarController ignores UITab view controllers when in UITabGroup
By default, UITabBarController will only change the view controller for root tabs. Apps can manage how the view controller hierarchy changes within that root tab through system callbacks from UITabBarControllerDelegate. Setting managingNavigationController on UITabGroup will opt-in the specified group to allow UITabBarController to automatically manage its hierarchy for you. See this forum comment which has a deeper explanation on how managingNavigationController works, and how you can customize the stack that is built in. You can also watch Make your UIKit app more flexible from WWDC25 which also explains how this API works with examples.
Topic: UI Frameworks SubTopic: UIKit
Jul ’25
Significant scrolling lag when using .focused modifier in large LazyVStack/LazyHStack on tvOS
Summary: When using the new .focused modifier to track focus within a large LazyVStack or LazyHStack, we observe a major frame-rate drop and stuttering on Apple TV (1st and 2nd generation). Steps to Reproduce: Create a LazyVStack (or LazyHStack) displaying a substantial list of data models (e.g., 100+ GroupData items). Attach the .focused(::) modifier to each row, binding to an @FocusState variable of the same model type. Build and run on an Apple TV device or simulator. Scroll through the list using the remote. static func == (lhs: GroupData, rhs: GroupData) -> Bool { lhs.id == rhs.id } var id: String var name: String var subName: String var subGroup: [GroupData] = [] var logo: URL? } struct TestView: View { @FocusState var focusedGroup: GroupData? let groupsArr: [GroupData] var body: some View { ScrollView { LazyVStack { ForEach(groupsArr, id: .id) { group in Button { } label: { GroupTestView(group: group) } .id(group.id) .focused($focusedGroup, equals: group)
3
0
136
Jul ’25
Reply to How To Move Camera with PS5 Game Controller
Let me know if: • The red sphere is visible • Movement now feels trackable • You want right-stick support for turning (rotation) • Or we need to tweak scale/speed/clipping/etc You’re close — this should lock it in. ME: Yes, I see the red sphere, and It moves forward, backwards, left and right. Still no actual camera movement though. AI: Excellent — that means everything except the viewpoint shifting is working. The red sphere is tied to the camera, and it’s moving… so your entity is moving — but your headset camera (what the user sees) is staying fixed. Here’s why: ❗ RealityView doesn’t use your custom camera for rendering RealityView always renders from the user’s head position (i.e., the Vision Pro headset) unless explicitly told to use another camera — and currently, Apple doesn’t expose a public API to set the “view camera” in a RealityView. ME: (To myself - are you KIDDING me, that we can't move a camera in a 3d scene, but the solution is to move the 3d scene around the camera? ARE YOU KIDDING ME?!) AI:
Topic: Spatial Computing SubTopic: General Tags:
Jul ’25
DriverKit issue with TestFlight
Hi, We’re developing a DriverKit extension for iPadOS. In local Debug and Release builds, everything works as expected, but the same build uploaded to TestFlight fails at IOServiceOpen with the following errors: -536870212 (0xE00002EC) kIOReturnUnsupported -536870201 (0xE00002F7) kIOReturnNotPermitted What we’ve verified so far App entitlements We checked our main app entitlements file, and it has the correct capabilities for the driverkit communication <?xml version=1.0 encoding=UTF-8?> <!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd> <plist version=1.0> <dict> <key>com.apple.developer.driverkit.communicates-with-drivers</key> <true/> <key>com.apple.developer.driverkit.userclient-access</key> <array> <string>abc.def.ABCDriver</string> </array> <key>com.apple.developer.system-extension.install</key> <true/> <key>com.apple.security.app-sandbox</key> <t
8
0
213
Jul ’25
Reply to Using Past Versions of Foundation Models As They Progress
Thanks for filing that enhancement request @Hunter! In addition to what my colleague pointed out, keep in mind that it's important not to overtune your prompts to a specific version, as the models will indeed be updated over time via OS updates. One strategy that could help is to constrain output using guided generation to yield more consistent results. Furthermore, we suggest in this session from WWDC25 that developers evaluate and test responses over time as they update their prompts and as we update the models. This will ensure quality and safety over time. Best, -J
Jul ’25
Reply to Share extension with App Group: UserDefaults don't get persisted on iOS
Those log messages look like log noise. Specifically, the first one, the one referencing CFPrefsPlistSource, is something that I see all the time and isn’t a sign of an actual problem. As to what’s going wrong here, it’s hard to say. Let’s start with a simple test: In both your app and your share extension… Add some code that calls the containerURL(forSecurityApplicationGroupIdentifier:) method, passing in the same app group ID that you’re using as your suite name in UserDefaults. And then logs the resulting URL. Do both programs log the same URL? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: General Tags:
Jul ’25
Share extension with App Group: UserDefaults don't get persisted on iOS
I have a multiplatform app for Mac and iOS, for which I am implementing a share extension. This share extension has to share settings with the app itself on both platforms. I am currently trying to achieve this by adding all targets to the same App Group and using UserDefaults with the App Group as suiteName. The app consists of three targets: A multiplatform SwiftUI app, an iOS Share Extension, and a macOS Share Extension,. Settings get persisted correctly on Mac and on the iOS 26 simulator. However, on a real iOS 26 beta 3 device, the Share Extension is unable to load UserDefaults (loading anything with the App Group as a suite name returns nil). What could cause this behavior? The following log entries are generated from the Share Extension on the iOS device, but not on the iOS simulator: Couldn't read values in CFPrefsPlistSource<0x1030d3c80> (Domain: MY_APP_GROUP, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreference
1
0
103
Jul ’25
Accessing PIV Smart Card Certificates from iPadOS application.
I am new to swift development, and it's possible that I'm missing something fundamental/obvious. If so, I apologize in advance. My team is developing an application for iPadOS using SwiftUI, and I'm trying to accomplish something similar to what the original inquirer is asking for in this thread: https://developer.apple.com/forums/thread/725152. The only difference is that I'm trying to use a PIV smart card to achieve authentication to a server rather than digitally sign a document. Unfortunately, I'm getting stuck when attempting to run the list() function provided in the accepted answer to the post mentioned above. When attempting to call SecItemCopyMatching(), I'm getting a -34018 missing entitlement error. I've attempted to add the com.apple.token to my app's keychain-access-groups entitlements, but this does not resolve the issue. I have checked the entitlements in my built app, per the recommendation in the troubleshooting guide here: https://developer.apple.com/forums/thread/114456. The entitl
5
0
190
Jul ’25
Reply to Accessing PIV Smart Card Certificates from iPadOS application.
I went through the steps to reproduce this today and immediately hit a gotcha that’d slipped my mind. When you use Signing & Capabilities > Keychain Sharing to add a keychain access group, Xcode helpfully adds an App ID prefix. Consider: % plutil -p Test793203/Test793203.entitlements { keychain-access-groups => [ 0 => $(AppIdentifierPrefix)com.example.apple-samplecode.Test793203 1 => $(AppIdentifierPrefix)com.apple.token ] } This is correct normally, but is wrong in the com.apple.token case. The com.apple.token keychain access group is not prefixed. If you manually edit the .entitlements file to remove $(AppIdentifierPrefix) on that line, things should start to work. I’ve been bitten by this before. This time I actually filed a bug against Xcode about it (r. 156066253). Past Quinn™ definitely didn’t do his due diligence )-: Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Privacy & Security SubTopic: General Tags:
Jul ’25
Critical Notifications
Hey Together, I have seen that critical notifications need to be confirmed by apple to be used. Sadly I couldn't figure out where to ask for that. Context: I have a sports tournament app for Beach Handball. There are a couple of Courts like up to 20-25. The main use for that in my app would be to notify first aiders/Medics. Right now they are called in via Speakers or by the referees just writing that into a WhatsApp chat. As this takes a long time and the speakers can be deactivated due to rain, power shortage or even the medics sometimes are not in range to exactly hear the speakers calling them. To Speed up this process I want them to download the App, Register via an E-Mail or a One Time Code. Now if a referee needs immediate Help from the Medics on their court they can send the Critical alert to the Medics without having to write a chat into a WhatsApp group, to get a call through the speakers 10 minutes later which the medics may not even hear. A couple of weeks ago we had a player falling on h
1
0
50
Jul ’25
Requested NSURLSession task is neither requested nor has it timed out
Our application has initiated an NSURLSession data task, and we have received an initiation ID. However, Application not received callback on the subsequent activity: the task has not been requested, has not timed out, and no error callback has been received. [06/17 09:29:40:559][ 0x282a7d8c0] Requested TaskIdentifier 120 2025-06-17 09:29:40.623337 +0530 nsurlsessiond SUBMITTING: com.apple.CFNetwork-cc-166-373-Task .<120>:A71666 default 2025-06-17 09:29:40.631280 +0530 dasd Submitted Activity: com.apple.CFNetwork-cc-166-373-Task .<120>:A71666 at priority 10 default Seen couple of rejection with for CPUUsagePolicy and MemoryPressurePolicy 2025-06-17 09:29:40.989360 +0530 dasd com.apple.CFNetwork-cc-166-373-Task .<120>:A71666:[ {name: CPUUsagePolicy, policyWeight: 5.000, response: {Decision: Must Not Proceed, Score: 0.00, Rationale: [{[Max allowed CPU Usage level]: Required:90.00, Observed:95.00},]}} {name: MemoryPressurePolicy, policyWeight: 5.000, response: {Decision: Must Not Proceed, Score
7
0
112
Jul ’25