I have developed three apps using the Screen Time API. The following are common problems I encountered in the three apps: DeviceActivityMonitorExtension is automatically killed after running for a few days (frequently) The same DeviceActivityEvent in DeviceActivityMonitorExtension is triggered twice during eventDidReachThreshold (especially obvious in iOS18.5) Screen Time authorization is automatically canceled for no reason (occasionally) I hope to get help
Search results for
A Summary of the WWDC25 Group Lab
10,109 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi, In my app, I have an option to remove a contact from a contact group (using the Contacts framework), and it's been working fine till recently users of the macOS version reported that it's not working. I have been using the CNSaveRequest removeMember(contact, from: group) API. The same API works fine on iOS. I'm not sure when it started but it seems to be affecting macOS14.6 as well as 15.1. I was able to reproduce it in a small test project as well, and have the same experience (the API works on iOS but not on macOS), so it definitely seems like a problem with the framework. Can someone confirm this, and/or suggest a workaround? Here's the code I run to test it out ...a simple SwiftUI view that has 4 buttons: Create contact and group Add contact to group Remove contact from group (optional) cleanup by deleting contact and group It's the 3rd step that seems to fail on macOS, but works fine on iOS. Here's the code to test it out: struct ContentView: View
Thanks a lot Quinn. I've checked the build files, no provisionprofile file in there. Also nothing in between, plain vanilla Unity 2023 project exported to Mac Xcode. The root:wheel thing might be a display thing because of the tooling (susipicious package), but I am not sure. I manually unpacked the package file using the cpio tool. There all files were belonging to me (martin:staff). I checked also the profiles in /Users/martin/Library/Developer/Xcode/UserData/Provisioning Profiles. All of those were root + group readable. I changed all those to 755 but that didn't change anything when rebuilding and re-creating the package. And I need to correct me, 2 files are root-only, the file CodeResources in the _CodeSignature subfolder is also root-only. I am absolutely not sure how to fix it. My first gut-feeling was, it is something the package & signing process of XCode needs to fix, to ensure all files are not only root-only. Any more idea how to solve it? Thank you very much for your help so far. He
Topic:
Code Signing
SubTopic:
General
Tags:
Hi @Kamlofsky As my colleague mentioned, the maxTotalThreadsPerThreadgroup property of your MTLComputePipelineState is the way to go for checking the maximum number of threads that can be dispatched per threadgroup. I suggest using that value along with threadExecutionWidth to determine the correct number of threads and thread groups to dispatch, as described in Calculating Threadgroup and Grid Sizes. Alternatively, you can also specify a value for maxTotalThreadsPerThreadgroup yourself by creating a MTLComputePipelineDescriptor and setting its maxTotalThreadsPerThreadgroup property to your desired value. You can then use that descriptor to create a compute pipeline state via the makeComputePipelineState(descriptor:options:reflection:) method. Let me know if you have any further questions!
Topic:
Spatial Computing
SubTopic:
ARKit
Tags:
.navigationTitle disappears when using .toolbar and List inside NavigationStack (iOS 26 beta) Summary In iOS 26 beta, using .navigationTitle() inside a NavigationStack fails to render the title when combined with a .toolbar and a List. The title initially appears as expected after launch, but disappears after a second state transition triggered by a button press. This regression does not occur in iOS 18. Steps to Reproduce Use the SwiftUI code sample below (see viewmodel and Reload button for state transitions). Run the app on an iOS 26 simulator (e.g., iPhone 16). On launch, the view starts in .loading state (shows a ProgressView). After 1 second, it transitions to .loaded and displays the title correctly. Tap the Reload button — this sets the state back to .loading, then switches it to .loaded again after 1 second. ❌ After this second transition to .loaded, the navigation title disappears and does not return. Actual Behavior The navigation title displays correctly after the initial launch transitio
Also, regarding prefixing, given my container app bundle id is com.XXX.YYY and my ES extension bundle id is com.XXX.YYY.esextension, and my NSEndpointSecurityMachServiceName is {TEAM_ID}.com.XXX.YYY.status, with an app group both in the extension and the container app: com.apple.security.application-groups group.{TEAM_ID}.com.XXX.YYY Is this incorrect? because a group must start with group. and now it is a prefix of the XPC endpoint but it still blocks it with the same error (159).
Topic:
App & System Services
SubTopic:
Core OS
Tags:
Also, regarding prefixing, given my container app bundle id is com.XXX.YYY and my ES extension bundle id is com.XXX.YYY.esextension, and my NSEndpointSecurityMachServiceName is {TEAM_ID}.com.XXX.YYY.status, with an app group both in the extension and the container app: com.apple.security.application-groups group.{TEAM_ID}.com.XXX.YYY Is this incorrect?
Topic:
App & System Services
SubTopic:
Core OS
Tags:
Hey Quinn, thanks for answering. I will try prefixing the XPC endpoint with an app group ID. In the meanwhile regarding the other options, I think I don't understand them fully. Is disabling sandbox good practice? This app is distributed via MDM so as I understand it will work and solve it, but I don't know if it is the correct usage. Temporary exception works fine, but I think I don't understand temporary-exceptions properly, are apps with temporary exceptions allowed by Apple? I currently can notarize and launch them but should I ask apple for a non temporary mach lookup entitlement? because I see mixed usage of com.apple.security.temporary-exception.mach-lookup.global-name and com.apple.security.exception.mach-lookup.global-name, Are temporary exception allowed in production usage? Thanks, David.
Topic:
App & System Services
SubTopic:
Core OS
Tags:
Hi @DTS Engineer, QUOTE (link) Our general advice is to prefer Network framework over BSD Sockets, but UDP broadcasts and multicasts are an exception to that rule. Network framework has very limited UDP broadcast support. And while it’s support for UDP multicasts is less limited, it’s still not sufficient for all UDP applications. In cases where Network framework is not sufficient, BSD Sockets is your only option. UNQUOTE The idea is to know if Network framework is sufficient for us or should we be using BSD sockets API for multicast? Our use case is not very fancy and want to receive and send multicast on all interfaces. The code which we have written above is very simple and works for a IPv4 multicast group address but gives warnings and errors as listed above for IPv6 multicast group address. So, we wanted to know if 'Network Framework' has limited support for IPv6 multicast or it is a bug? Some of the limitations which are already known to us and we might soon file bugs for them as sugge
Topic:
App & System Services
SubTopic:
Networking
Tags:
First up, terminology. When talking about extensions on Apple platforms: The container application is the application in which the extension is embedded. The host application is the app uses the extension. In the case of an ES sysex, the host application is the system itself. It seems like you’re trying to sandbox your container app. That’s pretty rare, because the ES sysex itself can’t be sandboxed and thus ES clients can’t be distributed on the Mac App Store. The simplest option here would be to not sandbox your container app. Beyond that, your description of how your ES sysex is constructed highlights a couple of oddities: I’m not sure what you’re expecting com.apple.security.xpc.server to do, but it’s not a known entitlement and thus won’t do anything useful [1]. NSExtensionPrincipalClass doesn’t make sense for an ES sysex because they don’t use Objective-C. [quote='789330021, justenx, /thread/789330, /profile/justenx'] I tried with the XPC_CONNECTION_MACH_SERVICE_PRIVILEGED flag but it still didn't work.
Topic:
App & System Services
SubTopic:
Core OS
Tags:
I’ve submitted a feedback request to Apple: FB18281742, requesting native sectioned grouping support in SwiftData similar to Core Data’s @SectionedFetchRequest.
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
With Core Data and SwiftUI we can use @SectionedFetchRequest. Does SwiftData support something similar to @SectionedFetchRequest? For example, I want to create a lazy-loaded list that groups posts by their date. @Model Post { let title: String let dateString: String // YYYY-MM-DD let createdAt: Date } @SectionedFetchRequest( entity: Post.self, sectionIdentifier: Post.dateString, sortDescriptors: [Post.createdAt] ) var postsByDate: SectionedFetchResults ForEach(postsByDate) { section in Section(header: Text(section.id)) { ForEach(section) { post in PostView(post) } } }
Question detail Dear Apple Developer Technical Support, We are currently following the official Apple documentation “TN3159: Migrating Sign in with Apple users for an app transfer” to carry out a Sign in with Apple user migration after successfully transferring several apps to a new developer account. Here is a summary of our situation: Under the original Apple developer account, we had five apps using Sign in with Apple, grouped under a shared primary app using App Grouping. Recently, we transferred three of these apps to our new Apple developer account via App Store Connect. After the transfer, these three apps are no longer associated with the original primary App ID. We reconfigured individual Services IDs for each app in the new account and enabled Sign in with Apple for each. More than 24 hours have passed since the app transfer was completed. Now we are attempting to follow the migration process to restore user access via the user.migration flow. Specifically, we are using th
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
--- START EtreCheck Summary (Sanitized) --- Model: MacBook Pro (M4, 2024) macOS: 15.5 Sequoia (24F74) iCloud Drive: Stalled hydration on this device only ❗ Symptom: bird shows sustained high CPU Console log reports: Waiting on local metadata index Other Macs (M1 and Intel) sync the same folders normally ✅ Attempted Fixes: killall bird Safe Mode boot Toggle iCloud Drive off/on Signed out and back in to Apple ID Isolated network and user profile Checked permissions and ran First Aid No third-party sync tools or VPN installed. mds_stores and mdworker_shared show intermittent activity. 💡 Request: Is there a known issue with Sequoia 15.5 (24F74) or M4 MacBooks and iCloud metadata sync? Safe way to reset bird metadata cache or hydration queue? Could sudo terminal usage during initial setup have affected local ownership? --- END Summary ---
Topic:
App & System Services
SubTopic:
iCloud & Data
Hello everyone, I've encountered a fascinating and perplexing rendering anomaly when using UIBezierPath(roundedRect:cornerRadius:) to create a CGPath. Summary of the Issue: When the shortest side of the rectangle (min(width, height)) is just under a certain multiple of the cornerRadius (empirically, around 3x), the algorithm for generating the path seems to change entirely. This results in a path with visually different (and larger) corners than when the side is slightly longer, even with the same cornerRadius parameter. How to Reproduce: The issue is most clearly observed with a fixed cornerRadius while slightly adjusting the rectangle's height or width across a specific threshold. Create a UIView (contentView) and another UIView (shadowView) behind it. Set the shadowView.layer.shadowPath using UIBezierPath(roundedRect: contentView.bounds, cornerRadius: 16).cgPath. Adjust the height of the contentView. Observe the shadowPath at height 48 vs. height 49 Minimal Reproducible Example: Here is a simple U