Search results for

A Summary of the WWDC25 Group Lab

10,109 results found

Post

Replies

Boosts

Views

Activity

Reply to Unable to send/receive IPv6 Mutlicast packets on NWConnectionGroup using Apple NF
[quote='844730022, vishalsehgal, /thread/788532?answerId=844730022#844730022, /profile/vishalsehgal'] No, I am only connected to only a single wifi interface which supports IPv6 multicast. [/quote] That’s pretty much never the case on modern Apple platforms. Here’s what I seen on my Mac (running macOS 15.5) when it’s bound to Wi-Fi: % ifconfig | grep MULTICAST | grep -v POINTOPOINT lo0: flags=8049 mtu 16384 anpi2: flags=8863 mtu 1500 anpi1: flags=8863 mtu 1500 anpi0: flags=8863 mtu 1500 en4: flags=8863 mtu 1500 en5: flags=8863 mtu 1500 en6: flags=8863 mtu 1500 en1: flags=8963 mtu 1500 en2: flags=8963 mtu 1500 en3: flags=8963 mtu 1500 bridge0: flags=8863 mtu 1500 ap1: flags=8863 mtu 1500 en0: flags=8863 mtu 1500 awdl0: flags=8863 mtu 1500 llw0: flags=8863 mtu 1500 vmenet0: flags=8963 mtu 1500 bridge100: flags=8a63 mtu 1500 This is with nothing special (such as VPN and VMs) running. This is why my advice in Broadcasts and Multicasts, Hints and Tips is to always target a specific interface when you send. Anyway,
Jun ’25
Reply to NSPersistentCloudKitContainer causes crash on watchOS when device is offline
Hi, and thank you for the quick response. It's greatly appreciated! Unfortunately, this crash does not appear to generate a crash log. However, we're able to reproduce it consistently on two separate Apple Watch devices. When using NSPersistentCloudKitContainer and the device is offline (no Wi-Fi and no Bluetooth), the app crashes when entering the background. If we switch to NSPersistentContainer, no crash occurs under the same conditions. If the device is online, no crash occurs, even when using NSPersistentCloudKitContainer and allowing the app to enter the background. If we keep the app in the foreground (e.g., by continuously tapping the screen), the app also does not crash, even when offline and using NSPersistentCloudKitContainer. So in summary, the crash consistently occurs under the following three conditions: Using NSPersistentCloudKitContainer Device is offline (no Wi-Fi, no Bluetooth) App transitions to the background. We would appreciate any insight, particularly if this might be a known
Jun ’25
Reply to Unable to send/receive IPv6 Mutlicast packets on NWConnectionGroup using Apple NF
No, I am only connected to only a single wifi interface which supports IPv6 multicast. For IPv4, it is working fine. I am able to send/receive data using the code mentioned here: [quote='788532021, vishalsehgal, /thread/788532, /profile/vishalsehgal'] import Network import Foundation // Creating a mutlicast group endpoint [/quote] But for IPv6, it is failing with the following errors/warnings: nw_endpoint_flow_failed_with_error [C1 ff02::1.49153 waiting parent-flow (unsatisfied (Local network prohibited), interface: en0[802.11], ipv4, ipv6, uses wifi)] already failing, returning nw_socket_connect [C1:1] connectx(7, [srcif=0, srcaddr=::.62838, dstaddr=ff02::1.49153], SAE_ASSOCID_ANY, 0, NULL, 0, NULL, SAE_CONNID_ANY) failed: [48: Address already in use] nw_socket_connect [C1:1] connectx failed (fd 7) [48: Address already in use] nw_socket_connect connectx failed [48: Address already in use] nw_endpoint_flow_failed_with_error [C1 ff02::1.49153 in_progress socket-flow (satisfied (Path is satisfied), int
Jun ’25
Reply to Network.framework UDP requiredLocalEndpoint/allowLocalEndpointReuse still broken in macOS 26
[quote='788798021, enodev, /thread/788798, /profile/enodev'] Still broken on macOS 26 first beta. [/quote] Yep. That matches my expectations based on the state of FB13678278. I recommend that you update your bug with the latest findings. Also, if this issue is having a significant impact on your product, I recommend that you add a summary of that impact to your bug report. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Jun ’25
Reply to Choosing interface for multicast UDP
Thank you. I have got it working with NWMulticastGroup but, interfacing aside, I have an issue I had back when I was using NWConnection as well. After a period of inactivity (5 minutes) the receiver is buffering all the messages it receives within a second and then releasing them all. My server is sending out 20 messages per second. Wireshark confirms that these are leaving as a steady stream, but the receiving side (IOS) becomes jittery and updates every second. If I close the group and reopen the connection it's solved, but then I cant send messages back to the MacOS app without also closing and reopening that connection. Here is the start of my listener on iOS: func openConnection() { let host = NWEndpoint.Host(multicastAddress) let multicastEndpoint = NWEndpoint.hostPort(host: host, port: port) do { activity = ProcessInfo.processInfo.beginActivity(options: [.background, .latencyCritical], reason: Multicast receiving) let group = try NWMulticastGroup(for: [multicastEndpoint]) self.multica
Jun ’25
Reply to Cannot add Wi-Fi Aware entitlement due to automatic signing failure
Hmmmm, this is working for me. Here’s what I did: Using Xcode 26.0 beta on macOS 15.5, I created a new project from the iOS > App template. In Signing & Capabilities, I added Wi-Fi Aware. And enabled the Publish option. I selected Any iOS Device as my run destination. And then built the app. This is what I see: % codesign -d --entitlements - Test788807.app Executable=/Users/quinn/Library/Developer/Xcode/DerivedData/Test788807-dcmkbvkgvfliviecoruqexidkqbe/Build/Products/Debug-iphoneos/Test788807.app/Test788807 [Dict] [Key] application-identifier [Value] [String] SKMME9E2Y8.com.example.apple-samplecode.Test788807 [Key] com.apple.developer.team-identifier [Value] [String] SKMME9E2Y8 [Key] com.apple.developer.wifi-aware [Value] [Array] [String] Publish [Key] get-task-allow [Value] [Bool] true % security cms -D -i Test788807.app/embedded.mobileprovision | plutil -p - { … Entitlements => { application-identifier => SKMME9E2Y8.com.example.apple-samplecode.Test788807 com.apple.developer.team-identifier =
Jun ’25
Reply to Unable to send/receive IPv6 Mutlicast packets on NWConnectionGroup using Apple NF
[quote='844214022, DTS Engineer, /thread/788532?answerId=844214022#844214022'] Are you still working on the protocol you outlined in your previous thread? [/quote] Yes similar, my project involves multicast communication between processes running on different devices within the same network. For all my Apple devices (macOS, iOS, etc.), I am using NWConnectionGroup, which listens on an IPv6 as well as IPv4 multicast address passed through a NWMulticastGroup and a specific multicast port. For IPv6, I am unable to send multicast packets to the IPv6 multicast group using NWConnectionGroup even though I allow the access of the local network as mentioned here. But for IPv4, I am able to send multicast packets to the IPv4 multicast group.
Jun ’25
Reply to Why a driverkit extension needs a CMIO extension
My project like following: ExampleCam is the main app, which install CMIO extension and USB driver extension. The ExampleCam.entitlements: com.apple.developer.system-extension.install com.apple.developer.driver-extension.install com.apple.security.app-sandbox com.apple.security.application-groups $(TeamIdentifierPrefix)com.lqs.example.ExampleCam com.apple.security.files.user-selected.read-only If I use the line: com.apple.developer.driver-extension.install, I can't run the app as the picture 2. But If I delete it, I got the error picture 1: picture 1: picture 2: ContentView.swift: // // ContentView.swift // ExampleCam // // import SwiftUI import SystemExtensions import Logging struct ContentView: View { @State private var logs: [String] = [] @State private var extensionDelegate: ExtensionDelegate? var body: some View { VStack { Image(systemName: globe) .imageScale(.large) .foregroundStyle(.tint) Text(Hello, world!) // 日志显示区域 ScrollView { Text(logs.joined(separator: n)) .frame(maxWidth: .i
Jun ’25
Reply to WidgetKit WidgetConfigurationIntent Parameter Icons
I have solved this problem. The answer was in the WWDC25 video Get to know App Intends. Here's an example of an WidgetConfigurationIntent to toggle a chart showing data points on or off including icons for the two data point display options. struct WatchDataPointsWidgetIntent: AppIntent, WidgetConfigurationIntent { static var title: LocalizedStringResource = Data Points Widget Configuration static var description = IntentDescription(Configure individual data point display for Watch Widgets.) static var isDiscoverable: Bool { return false} init() {} func perform() async throws -> some IntentResult { print(WatchDataPointsWidgetIntent perform) return .result() } @Parameter(title: Chart Display Options, default: ChartDataPointsOption.showDataPoints) var showDataPoints: ChartDataPointsOption? static var parameterSummary: some ParameterSummary { Summary(Chart Options: (.$showDataPoints)) } } enum ChartDataPointsOption: String, AppEnum { case showDataPoints case hideDataPoints static let typeDis
Jun ’25
WidgetKit WidgetConfigurationIntent Parameter Icons
In WatchOS 26 you can now configure Apple Watch Widgets that use AppIntents instead of having a preconfigured option via AppIntentRecommendation. This is demonstrated in the Weather Details Widget. In that, the Intent has been set up such that the options have icons for each parameter. How can I update my Intent code to offer this? struct DataPointsWidgetIntent: AppIntent, WidgetConfigurationIntent { static var title: LocalizedStringResource = Data Points Widget Configuration static var description = IntentDescription(Configure the individual data point display for Widgets.) static var isDiscoverable: Bool { return false} init() {} func perform() async throws -> some IntentResult { print(DataPointsWidgetIntent perform) return .result() } @Parameter(title: Show Individual Data Points, default: true) var showDataPoints: Bool? @Parameter(title: Trend Timescale, default: .week) var timescale: TimescaleTypeAppEnum? static var parameterSummary: some ParameterSummary { Summary(Test Info) { .$showDataPoin
1
0
97
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
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 Reality Composer to Reality Composer Pro?
@ForeverTangent Thank you for your question! As @cooleo pointed out, the recommended way to export from Reality Composer on iPad to Reality Composer Pro is to export your scene as a USDZ file. This can be enabled in the app settings of the Reality Composer app on iPad. USD and its variants is the standard 3D asset file for RealityKit and Reality Composer Pro projects. You can also use third party DCCs, such as Blender, to produce USD content for your apps. For some practical examples of how to use USD in your project, I recommend taking a look at two samples we just released for WWDC25: Petite Asteroids and Canyon Crosser. Both are fully scoped sample projects that heavily rely on RealityKit and RCP workflows.
Jun ’25