Search results for

A Summary of the WWDC25 Group Lab

10,109 results found

Post

Replies

Boosts

Views

Activity

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
Sample code for WWDC25 Session
Hi! I watched the WWDC25 session Bring your SceneKit project to RealityKit which seemed like a great resource for those of us transitioning from the now-deprecated SceneKit framework. The session mentioned that the full sample code for the project would be available to download, but I haven't been able to find it in the Code section of the video page or in the Sample Code Library. Has the sample code been released yet? Having the project code would make it much easier to follow along with the RealityKit changes shown in the video. Thanks again for the great session.
4
0
260
Jun ’25
Reply to Detect and wait until a file has been unzipped to avoid permission errors
I didn't receive some notifications for recent replies to my posts. Were notifications disabled during the WWDC25 week? Not that I'm aware of, however, I'm also not sure they've ever been entirely reliable. I'm not sure I understand the difference between temporary and working (with in progress files). Here's what I meant by that: Temporary-> One of the system provided directories (retrieved through url(for:in:appropriateFor:create:)) which are typically invisible to the user. Working-> A user visible directory that the user either directly specifies/creates. Working-ish-> (variant of #2) A user visible directory your app creates for this, probably within the destination hierarchy. For example, creating a directory like In Progress at the top level of the hierarchy you're creating. Wouldn't the temporary one be for in progress files too? In terms of how your app uses these directories, they'd all work exactly the same way. The difference between the two (and which is the right choice) reall
Topic: App & System Services SubTopic: Core OS Tags:
Jun ’25
Reply to How to force soft scrollEdgeEffectStyle in iOS 26?
I believe the solution to this problem is to use the new safeAreaBar(edge:alignment:spacing:content:) view modifier, as suggested by its documentation and a comment made during the SwiftUI group lab. However, I also believe that this modifier is currently broken (as of beta 2), because its behaviour seems to be no different to using safeAreaInset. I have filed feedback for this: FB18350439.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’25
Any downsides to convert groups to folders on "enterprise level app"?
Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. If you have an enterprise level app would love to hear your experience if your team decided to convert to a folder structure.
1
0
41
Jun ’25
Reply to Xcode 16 Buildable Folders: Our Initial Experience & Seeking Downsides for Enterprise Apps
Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. The main advantage groups have is that separating the projects logical organization (what Xcode displays) from the physical configuration (where the file exist on disk) lets you restructure the logic of the project without actually moving objects on disk. Ironically, the biggest advantage of this is in version control since, for example, it allows the project structure to be reorganized without interferring with modifications to the individual source files. Having said that, there certainly is a place for using folder instead of
Jun ’25
Xcode 16 Buildable Folders: Our Initial Experience & Seeking Downsides for Enterprise Apps
Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. If your have an enterprise level app would love to hear your experience if your team decided to convert to a folder structure.
1
0
95
Jun ’25
How to use generated symbols from string catalogs in SPM packages
In WWDC25 Video Explore localization with Xcode they show how to use generated symbols from string catalogs. This is a great feature and I'd like to use it. However most of my code is split across smaller SPM packages. In the video they say at 19:20: Finally, generated symbols help you avoid boilerplate code in frameworks and packages. I've been able to use the refactoring tool to convert strings from my catalog to use generated symbols. Afterwards the code doesn't compile anymore: Type 'LocalizedStringResource' has no member '' Unfortunately the video only showcases this for frameworks but not for packages. Since they clearly speak about packages I'd like to learn how to use the feature for my packages.
1
0
73
Jun ’25
XPC between endpoint security and host application
Hello, I am having some issues with running an XPC server on an endpoint security and connecting to it from the sandboxed host application. I tried doing the following: setting xpc server in endpoint security extension entitlements: <key>com.apple.developer.endpoint-security.client</key> <true/> <key>com.apple.security.xpc.server</key> <true/> Adding the mach service with the plist: <dict> <key>NSExtension</key> <dict> <key>NSExtensionPointIdentifier</key> <string>com.apple.system-extension-endpoint-security</string> <key>NSExtensionPrincipalClass</key> <string>$(PRODUCT_MODULE_NAME).ESFExtension</string> </dict> <key>NSEndpointSecurityMachServiceName</key> <string>[TEAMID]com.[UNIQUE_ID]</string> </dict> </plist> Putting a mach-lookup in sandboxed host application entitlements <dict> <key>com.apple.security.app-sandbox</key> <true/> <
6
0
264
Jun ’25
Reply to Custom Intent ParameterSummary based on Widget Kind/ID
Following some further work I think the accepted and recommended answer is actually not all that clear. From some further testing I've found that the following code works just fine in my WidgetConfigurationIntent for conditionally hiding parameters based on the widget family.... Should the statement actually be Parameters cannot be conditionally hidden based on variables passed into the intent? Thanks static var parameterSummary: some ParameterSummary { When(widgetFamily: .equalTo, .accessoryRectangular) { Summary(Test Info) { .$hideAverageMarks .$extendChart .$showDaysDate } } otherwise : { Summary(Test Info) { .$recentValueFormat } } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’25
Custom Intent ParameterSummary based on Widget Kind/ID
I'm trying to create two widgets, widget A and B. Currently A and B are very similar so they share the same Intent and Intent Timeline Provider. I use the Intent Configuration interface to set a parameter, in this example lets say its the background tint. On one of the widgets, widget A, I want to also set another String enum parameter (for a timescale), but I don't want this option to be there for widget B as it's not relevant. I'm aware of some of the options for configuring the ParameterSummary, but none that let me pass in or inject the kind string (or widget ID) of the widget that's being modified. I'll try to provide some code for examples. My Widget Definition (targeting >= iOS 17) struct WidgetA: Widget { // I'd like to access this parameter within the intent let kind: String = WidgetA var body: some WidgetConfiguration { AppIntentConfiguration(kind: kind, intent: WidgetIntent.self, provider: IntentTimelineProvider()) { entry in WidgetView(data: entry) } .configurationDisplayName(Widget A) .descrip
2
0
446
Jun ’25
Reply to XPC between endpoint security and host application
[quote='845170022, justenx, /thread/789330?answerId=845170022#845170022, /profile/justenx'] Is disabling sandbox good practice? [/quote] *shrug* There are valid arguments either way. I actually have a long post, The Case for Sandboxing a Directly Distributed App, that tackles this directly. [quote='845170022, justenx, /thread/789330?answerId=845170022#845170022, /profile/justenx'] are apps with temporary exceptions allowed by Apple? [/quote] That depends on the context. Temporary exception entitlements are tightly controlled on the App Store, but they’re just fine to use outside of the App Store. Again, The Case for Sandboxing a Directly Distributed App talks about this. Regarding your app group ID choice, I recommend that you use an iOS-style app group ID because you can authorise that with a provisioning profile [1] If you use an iOS-style app group ID then there’s no need to encode your Team ID in it. It just lengthens the string for no reason. There’s also no specific need to us
Topic: App & System Services SubTopic: Core OS Tags:
Jun ’25