Search results for

A Summary of the WWDC25 Group Lab

10,109 results found

Post

Replies

Boosts

Views

Activity

Reply to Access Unix Socket from App Sandbox
I’m talking about the App Sandbox that I have to enable under Signing & Capabilities for the Mac app I’m developing. I need to keep it enabled because I want to publish the app on the App Store, so simply disabling it isn’t an option. I recently attended a one-on-one lab, and the engineer mentioned that it’s not necessarily a problem if the file isn’t inside the sandbox (which surprised me a bit). We tried to create a temporary exception for the socket file, but I’m still seeing a deny(1) network-outbound... error. Unfortunately, we weren’t able to resolve the issue during the session, so he recommended that I post the question here in the forum. When you mention selecting the socket, do you mean creating a bookmark for it?
Topic: Privacy & Security SubTopic: General Tags:
Jun ’25
Unable to send/receive IPv6 Mutlicast packets on NWConnectionGroup using Apple NF
Hello Everyone, I am currently using macOS 15.5 and XCode 16.4. I am using the following code to send/receive multicast packets on multicast group ff02::1 and port 49153 using Apple NF's NWConnectionGroup. import Network import Foundation // Creating a mutlicast group endpoint let multicastIPv6GroupEndpoint: NWEndpoint = NWEndpoint.hostPort(host: NWEndpoint.Host.ipv6(IPv6Address(ff02::1)!), port: NWEndpoint.Port(49153)!) do { let multicastGroupDescriptor: NWMulticastGroup = try NWMulticastGroup (for: [multicastIPv6GroupEndpoint]) let multicastConnectionGroupDescriptor = NWConnectionGroup (with: multicastGroupDescriptor, using: .udp) multicastConnectionGroupDescriptor.stateUpdateHandler = { state in print (🕰️ Connection Group state: (state)) if state == .ready { multicastConnectionGroupDescriptor.send (content: 👋🏻 Hello from the Mac 💻.data (using: .utf8)) { err in print (➡️ Now, I am trying to send some messages.) if let err = err { print (💥 Error sending multicast message: (err
8
0
164
Jun ’25
[WWDC25] For GuessTogether, can you initiate a FaceTime call via the custom SharePlay button?
Hello, For GuessTogether source code, it seems like the code assumes that you're already in a FaceTime call before pressing the custom SharePlay button (labeled Play Guess Together). If not already on a FaceTime call, my Apple Vision Pro and the visionOS simulator both do nothing after throwing warnings. Is this intended behavior? If so, how do I make it so that pressing the button can also initiate FaceTime calls? Is this allowed? Thank you!
3
0
104
Jun ’25
Reply to Widget error upon restore iPhone: The file "Name.sqlite" couldn't be opened
It's interesting huh! One option would be to simply delete the file and let CoreData pull the data from the cloud … you might want to consider just excluding the file from the backup entirely I think this is not an option because the user can turn off iCloud and NSPersistentCloudKitContainer still works to store data without syncing to iCloud. So not all users can get this data back from iCloud, it may only exist in their backup. What does your app actually do and, most importantly, what if any background modes/work does it use? You can think of it as a very simple todo app where you create a todo, it shows up in the widget, and tapping a button marks it complete (via the main app process). Note the widget's access to the database is read-only and cloudKitContainerOptions is not set so the widget extension process does not sync with iCloud (only the main app process does). The only background modes/work used in the app is the remote notifications capability that allows CloudKit to silently notify the app when
Jun ’25
MacOS app on Sonoma with xcode Version 16.3 (16E140)
We are working on a screen capture app. I have provisioning setup for a developer id certificate for do direct distribution and a distribution certificate for Mac Store distribution; I submitted the app to the store with the distribution certificate provisioning active. We need to add documentation so while we are waiting, we decided to distribute the app directly and this is where the problems come in. I made the developer id certificate and archive->exported the app. Then I manually stapled the app with xcrun stapler staple Madshot360.app. I created a dmg file with the exported app. The problems are; The app captures screen area with ScreenCaptureKit. A prior version of the app used a development certificate. When a user runs this new developer id cert app. the macos gets confused because it doesn't connect the new version to the already permissioned older app version. The user has to manually delete the old permission and then restart the app so the new version creates a new record which can then be ena
4
0
132
Jun ’25
Reply to Widget error upon restore iPhone: The file "Name.sqlite" couldn't be opened
So, the first thing here is that the basic difference between the initial path-> step 1 was file:///private/var/mobile/Containers/Shared/AppGroup/FAF64427-9826-4C86-9C2E-D7E5285BA7EC/MyApp.sqlite ...and the post restore path-> step 5 and 7 was file:///private/var/mobile/Containers/Shared/AppGroup/FDE4F3AF-E775-4D5F-842D-1C5AA77BE26F/MyApp.sqlite ...is the standard behavior of the system, as the UUIDs are generated by the system whenever the app group is created. The real oddity here is this: and yet FileManager says the file exists, the file is readable and writable, and the contents at that path are non-nil The FileManager is low level enough that whatever it says is inherently true. So, some kind of file was absolutely there and was manipulatable by your app. More to the point, the file NOT being there wouldn't have been a bad thing, as CoreData would simply have created the file from scratch using the cloud. In terms of what's going on here, I suspect that the actual issue is a lower level s
Jun ’25
Reply to VoiceOver navigation in carousels
Hello! Happy to answer a few of these, let me know if this helps! I think adjustable works well for carousels in some cases, and not others. It's kind of up to you as a developer to decide if this makes sense for your app. Personally, where I've found combining a carousel into one adjustable element to work well is in the following 2 cases. The first, is when you are implementing some sort of picker, that is a horizontal list. The focused item of the carousel in this case is often the selected item. An example of this would be the Animoji picker in Messages. The other is when the carousel is infinitely scrolling, or looping. In this case, grouping into one element is useful so that VO users don't get stuck swiping over the same elements in a loop without being able to get to the content underneath it. Grouping carousels tends to work less well when you have sub-elements in the items in the carousel. If you have a looping/infinite carousel that also has sub-elements, I think you'll just need
Jun ’25
Reply to How to trigger and timeline-control particle emitters in Reality Composer Pro (without Xcode or code)?
Hello @Ian_Chen thank you for your question! 

Much of what you want to do will require code. 

 In order to trigger any behavior in response to a tap gesture you must first setup an entity with a collision component, an input target component, and if you are triggering a timeline animation, a behaviors component configured to start the timeline animation when a tap is applied. Then, you call applyTapForBehaviors() when a tap occurs in order to propagate the tap event to your entity.

 You can disable and enable an entity in the timeline, and if this entity has a particle emitter component, the particles will also be disabled or enabled. There is not a way to control this precisely with only Reality Composer Pro, you will need to use the particle emitter component API to manage this. 

I recommend taking a look at the new sample Petite Asteroids released for WWDC25. The intro sequence contains a particle system that is controlled in code. Additionally, see Compose interactive 3D content in Reality Co
Jun ’25
iOS 26 Liquid Glass - How to achieve separate glass backgrounds for multiple leading toolbar items?
I'm updating my app for iOS 26's new Liquid Glass design and encountering unexpected behavior with toolbar items. I want to display multiple buttons on the leading side of the navigation bar, each with its own glass background (similar to how LandmarkDetailView shows separate glass backgrounds for its toolbar items). Current Behavior: When using .navigationBarLeading placement for multiple ToolbarItems, they all group under ONE glass background When using NO placement (like in Apple's LandmarkDetailView example), items get separate glass backgrounds but appear on the RIGHT side Using different leading placements (.topBarLeading vs .navigationBarLeading) still groups them together What I've Tried: swift// Attempt 1: All items with same placement - they group together .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button(action: {}) { Image(systemName: dollarsign.circle) } } ToolbarItem(placement: .navigationBarLeading) { Button(action: {}) { Image(systemName: qrcode) } }
Topic: UI Frameworks SubTopic: SwiftUI
2
0
333
Jun ’25
Reply to App Keychain will sync secitem from old device to new device
Keychain items stored using SecItem in your app will generally be migrated or synced to a new iPhone when a user transfers data from their old device, but the specifics depend on how the transfer is performed and the Keychain item attributes you’ve set. Here’s a concise explanation: iCloud Keychain Syncing: If iCloud Keychain is enabled on both devices, Keychain items with the kSecAttrSynchronizable attribute set to true are automatically synced to the new device via iCloud. This includes passwords, certificates, and other secure data stored in the Keychain. Items without this attribute (i.e., non-syncable items) are not synced via iCloud and require a different transfer method. Device-to-Device Transfer (Encrypted Backup or Direct Transfer): When using iCloud Backup or iTunes/Finder encrypted backup, Keychain items (both syncable and non-syncable) are included in the encrypted backup. Restoring this backup to a new iPhone will transfer all Keychain items. During a direct device-to-device transfer (e.g., usin
Topic: Privacy & Security SubTopic: General Tags:
Jun ’25
DCError.invalidInput on generateAssertion() - Affecting Small Subset of Users
Issue Summary I'm encountering a DCError.invalidInput error when calling DCAppAttestService.shared.generateAssertion() in my App Attest implementation. This issue affects only a small subset of users - the majority of users can successfully complete both attestation and assertion flows without any issues. According to Apple Engineer feedback, there might be a small implementation issue in my code. Key Observations Success Rate: ~95% of users complete the flow successfully Failure Pattern: The remaining ~5% consistently fail at assertion generation Key Length: Logs show key length of 44 characters for both successful and failing cases Consistency: Users who experience the error tend to experience it consistently Platform: Issue observed across different iOS versions and device types Environment iOS App Attest implementation Using DCAppAttestService for both attestation and assertion Custom relying party server communication Issue affects ~5% of users consistently Key Implementation Details 1. Attestat
2
0
156
Jun ’25
Reply to WideFOV - APMP - Stereo
Hello dc48: Thank you for your posing your questions. I'll do my best to answer them here. Does anyone have a template of an Apple Projected Media Profile Format Description I'd encourage you to take a look at Learn about the Apple Projected Media Profile from WWDC25. This session includes links to reference material, as well as a sample project: Converting projected video to Apple Projected Media Profile. This particular sample project includes a stereoscopic 180 asset, but it should be possible to adapt it for Wide FoV content. or a File of a Stereo wideFOV video? An example Wide FoV HLS stream can be found at Streaming Examples. The Streams for Apple Vision Pro listed here are used in both of the following sample projects: Playing immersive media with AVKit Playing immersive media with RealityKit Use case I have 2 compatible cameras that I stereo sync and I want to move the projection information from the compatible video to the Spatial video that combines them. You may also find it helpful to ref
Topic: Media Technologies SubTopic: Video Tags:
Jun ’25
Reply to WatchOS INSendMessage handoff
According to this document: https://developer.apple.com/documentation/usernotifications/implementing-communication-notifications Communication notifications provide a rich experience for direct communication. These notifications have a unique user experience, highlighting prominent avatars and group names. But when NSUserActiveTypes ->INSendMessage Intent is added to info. plist, the WatchOS startup app will display Outlook Handoff on Mac. However, there will be no Outlook Handoff after iOS startup. 按照此文档:https://developer.apple.com/documentation/usernotifications/implementing-communication-notifications 通讯通知为直接沟通提供了丰富的体验。这些通知具有独特的用户体验,突出了醒目的头像和群组名称。 但是当添加NSUserActivityTypes->INSendMessageIntent到info.plist后,WatchOS启动App就会在Mac 上出现Outlook接力。但是iOS启动后不会出现Outlook接力。
Jun ’25