Search results for

A Summary of the WWDC25 Group Lab

10,092 results found

Post

Replies

Boosts

Views

Activity

Reply to Gatekepper acts against .app package developed by a freelancer for our company
You’re right to be careful about giving this freelancer full access to your Developer ID credentials. Those are precious, as I discuss in The Care and Feeding of Developer ID. IMO the easiest path forward is: Add your freelancer to your team as you would for iOS. They’ll be able do day-to-day development for your team, using an Apple Developer signing identity, just like they would on iOS. When they’re done, have them do a Product > Archive and send you the resulting .xcarchive. You can import that into your Xcode organiser. And do Developer ID distribution from there. This is a manual process but you can take various steps to automate it. Specifically: xcodebuild can do the equivalent of the Product > Archive in step 3. And it can also export from an archive, so you can automate the first part of step 5. Finally, notarytool lets you automate the second part of step 5. See Customizing the notarization workflow. The beginning of Creating distribution-signed code for macOS has a quick summary of
Topic: Code Signing SubTopic: General Tags:
Aug ’25
Xcode folder reference to an aggregate target's output folder breaks between Debug/Release builds. BUILT_PRODUCTS_DIR not relative to the aggregate
In my project I have an aggregate target that runs a script that generates a web bundle in a folder build/ with all the html/css/resources needed for the website. These resources are generated via a script. I use these resources in multiple targets so I have created an aggregate target to make this simple. However, I have not found this simple. If I have the aggregate target output to $(DERIVED_FILE_DIR)/ then it outputs to a path that looks like this DerivedData/BrowserApp-bla/Build/Intermediates.noindex/BrowserApp.build/Debug-iphonesimulator/WebBundle.build/DerivedSources/build/index.html If I then drag that folder into Xcode and create a folder that references it. Then take that reference and make it relative to build products I get this A9DE6A502E41E397005EF4E0 /* build */ = { isa = PBXFileSystemSynchronizedRootGroup; name = build; path = ../../Intermediates.noindex/BrowserApp.build/Debug-iphonesimulator/WebBundle.build/DerivedSources/build; sourceTree = BUILT_PRODUCTS_DIR; }; This is because to the main
3
0
83
Aug ’25
Reply to Foundation Models Adapter Training Toolkit v0.2.0 LoRA Adapter Incompatible with macOS 26 Beta 4 Base Model
Thank you @illidan80. We found the underlying cause. The framework currently only supports adapters whose identifiers match the regex /fmadapter-w+-w+/. Here, your adapter name foundation-lab contains a hyphen, which tripped our name validation logic. If you update the adapter name in the toolkit to foundation_lab, that should resolve the issue. To test this quickly without re-exporting the adapter, you can manually edit the adapterIdentifier entry in the metadata.json file to fmadapter-foundation_lab-9799725. Thank you for reporting the issue and the follow-up debugging steps. We will use your feedback FB19237327 to track an improvement to the adapter training toolkit to perform this validation at adapter export time. Please don't hesitate to reach out again if you need more help with custom adapters!
Aug ’25
NavigationSplitView content column renders list in plain style – even on iPhone
Hi everyone, I’m building an iOS app that originally targeted iPhone using NavigationStack. Now I’m adapting it for iPad and switched to using NavigationSplitView to support a three-column layout. The structure looks like this: NavigationSplitView { A // Sidebar } content: { B // Middle column – this shows a list } detail: { C // Detail view } The issue is with the list shown in view B (the content column). It appears completely unstyled, as if it’s using .listStyle(.plain) — with no background material, and a very flat look. I can understand that this might be intentional on iPad to visually distinguish the three columns. However, the problem is that this same unstyled list also appears on iPhone, even though iPhone only shows a single column view at a time! I tried explicitly setting .listStyle(.insetGrouped) or .listStyle(.grouped) on the list in view B, but it makes no difference. When I go back to NavigationStack, the list in B is styled properly, just as expected — but then I lose the enhanced
0
0
59
Aug ’25
NavigationSplitView content column renders list in plain style – even on iPhone
Hi everyone, I’m building an iOS app that originally targeted iPhone using NavigationStack. Now I’m adapting it for iPad and switched to using NavigationSplitView to support a three-column layout. The structure looks like this: NavigationSplitView { A // Sidebar } content: { B // Middle column – this shows a list } detail: { C // Detail view } The issue is with the list shown in view B (the content column). It appears completely unstyled, as if it’s using .listStyle(.plain) — with no background material, no grouped sections, and a very flat look. I can understand that this might be intentional on iPad to visually distinguish the three columns. However, the problem is that this same unstyled list also appears on iPhone, even though iPhone only shows a single column view at a time! I tried explicitly setting .listStyle(.insetGrouped) or .listStyle(.grouped) on the list in view B, but it makes no difference. When I go back to NavigationStack, the list in B is styled properly, just as expected —
0
0
45
Aug ’25
Device Activity Privacy Restrictions
Hey there! So, I'm trying to see what I'm able to do with the Device Activity Report Extension, and I have a few questions about the following quote: To protect the user’s privacy, your extension runs in a sandbox. This sandbox prevents your extension from making network requests or moving sensitive content outside the extension’s address space. In particular, what constitutes the address space for this extension? Can I save data to a UserDefaults object that only the extension can access? (Apps like Opal allow the user to label apps as distracting and non-distracting, and I'm wondering how they do that!) From what I've read, I believe it cannot write to a shared app group or model (and I just want to confirm this) It also seems that there's nothing preventing it from reading data from the main app, so I'm just wondering if it's able to read data from an app group or model with no problem. Thanks in advance!
0
0
114
Aug ’25
Reply to Xcode Automatic Signing Fails with App Groups - Provisioning profile "Mac Team Provisioning Profile : com.example.testapp.mobile" doesn't support the App Groups capability.
App groups have been evolving a lot recently, primarily to bring the macOS and iOS stories into alignment. See App Groups: macOS vs iOS: Working Towards Harmony for all the backstory. Your app group ID, $(TeamIdentifierPrefix)group.com.example.testapp.mobile, is weird. It seems be a macOS-style ID, with the Team ID prefix, but then it also kinda uses the iOS-style format. I recommend that you use one or the other. Actually, I’ll take that one step further: I recommend that you you use an iOS-style app group ID unless you have a really good reason to stick with a macOS-style one [1]. As to what’s going on here, it’s hard to say. I tried looking up the state of com.example.testapp.mobile but AFAICT that’s not your real bundle ID, but rather a placeholder you used for this post. What version of Xcode are you using? If you’re using anything older than Xcode 16.4, I recommend that you upgrade to that. Xcode 16.4 is aware of this app group harmonisation effort. And once
Aug ’25
Can custom user images be displayed as backgrounds on Lock Screen?
Background I'm developing an iOS app with Live Activities that allows users to select custom background images. While these custom images display correctly in widgets, they fail to appear in Live Activities on both Lock Screen and Dynamic Island, despite successful image loading and data transfer. Technical Details iOS Version: Testing on iOS 17.2+ Image Storage: Using App Group shared container for image sharing between main app and widget extension Image Loading: Successfully confirmed via logs - images load correctly with proper dimensions UI Framework: SwiftUI with ActivityKit What Works ✅ Custom images display correctly in Home Screen widgets ✅ Built-in bundled images work in Live Activities ✅ Image data successfully transfers via App Group shared container ✅ Image loading logs show successful UIImage creation with correct dimensions What Doesn't Work ❌ Custom user images don't display in Live Activities (Lock Screen) ❌ Custom user images don't display in Dynamic Island ❌ Images appear
0
0
94
Aug ’25
Xcode Automatic Signing Fails with App Groups - Provisioning profile "Mac Team Provisioning Profile : com.example.testapp.mobile" doesn't support the App Groups capability.
Xcode automatic signing consistently fails for the macOS target when adding the App Groups capability, even though the Developer Portal is correctly configured. Error: Provisioning profile “Mac Team Provisioning Profile: com.example.testapp.mobile” doesn’t support the App Groups capability. Setup: • Bundle ID: com.example.testapp.mobile • App Group: $(TeamIdentifierPrefix)group.com.example.testapp.mobile Troubleshooting Steps Tried (None Helped): • Changed bundle identifiers and deleted/recreated them in the Developer Portal • Deleted and recreated App Groups • Removed and re-added the developer account in Xcode • Deleted all provisioning profiles from the system • Cleared Derived Data and Xcode caches • Even tried on a clean macOS system This setup used to work previously. The issue seems to have started after the Apple Developer account was renewed.
1
0
141
Aug ’25
Reply to About AppShortcuts limit
And to build on my colleagues answer above, the code of interest in that project is in TrailShortcuts.swift: AppShortcut(intent: GetTrailInfo(), phrases: [ Get (.$trail) conditions with (.applicationName), Get conditions on (.$trail) with (.applicationName) ], shortTitle: Get Conditions, systemImageName: cloud.rainbow.half, parameterPresentation: ParameterPresentation( for: .$trail, summary: Summary(Get (.$trail) conditions), optionsCollections: { OptionsCollection(TrailEntityQuery(), title: Favorite Trails, systemImageName: cloud.rainbow.half) } )) — Ed Ford,  DTS Engineer
Topic: App & System Services SubTopic: General Tags:
Aug ’25
[iOS 26] iOS App Does Not Receive Deep Link from Widget When Using widgetAccentedRenderingMode on Image
Summary When a SwiftUI widget uses a Link containing an Image modified with .widgetAccentedRenderingMode (using any mode except .fullColor), tapping the image on the widget launches the app but does not pass the expected deep link URL to the SceneDelegate. Steps to Reproduce Create a SwiftUI Widget View with a Link: struct ImageView: View { var image: UIImage var body: some View { Link(URL(string: myapp://image)!) { Image(uiImage: image) .resizable() .widgetAccentedRenderingMode(.accentedDesaturated) // or any mode other than .fullColor .scaledToFill() .clipped() } } } Add Custom URL Scheme in Info.plist: CFBundleURLName com.company.myapp CFBundleURLSchemes myapp Implement Deep Link Handling in SceneDelegate: func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { if let url = connectionOptions.urlContexts.first?.url { handle(url) } } func scene(_ scene: UIScene, openURLContexts urlContexts: Set) { if let url = urlContexts.first?
1
0
199
Aug ’25
Reply to RealityKit fullscreen layer
Thanks a lot for your response. Sorry, I have not enoughly described my goal. I work in a HCI research lab, so I will probably try to do things that are not conventionnal. My full idea is to stream another XR scene on top of a current RealityKit scene. For that purpose, I try to get a realtime stream of the other scene, rendered side-by-side, that I apply on a plane with a material that render for each eye anchored to the head send to the other scene inputs (head pose, hands, etc...) to keep in sync the rendering This way, even if I anchor the texture to the head, It will be updated depending on head pose like a normal xr scene, and will just act as a scene layer. Ideally, I would also put depth into the stream texture to be also able to render at the right depth and no more do a scene layer but kind of scene fusion. In some way, I'll try to reproduce at a higher level some kind of compositor between multiple immersive scenes. I currently think that I can only do that with Compositor Services without
Topic: Spatial Computing SubTopic: General Tags:
Aug ’25
Reply to NEAppPushProvider blocked from local network access even when container app has permission
After testing in our tech lab with all devices updated to iOS/iPadOS 18.6, I’m seeing improved behavior overall, but some inconsistencies remain, particularly with older hardware. On iPhone SE (18.6), the issue does not reproduce. Local network access from the extension works as expected. On iPad 10th gen (18.6), the issue is no longer observed. Notably, this device did occasionally fail on 18.5. On iPad 7th gen (18.6), behavior remains inconsistent. The extension is sometimes able to send local network traffic, but in other cases, it fails with the same “Local network prohibited” error. Success seems more likely after switching Wi-Fi networks or if the main app has already made a successful local connection beforehand, but this is not reliable or predictable. So while iPadOS 18.6 clearly improves the situation, it appears that residual issues may still affect older devices. I’ll be extending testing to 8th and 9th gen iPads on Monday and will share any additional findings. Let me know if there are a
Aug ’25
Reply to Mitigating overlapping text for sticky section headers for a plain List in iOS 26
Is there a modifier to make section headers non-sticky? You can use the automatic .listStyle(.automatic) or opt for a lazy stack instead and apply your decorators. For examples, refer to Grouping data with lazy stack views. .listStyle(.automatic) results in in .insetGrouped, so that's a different look. I tried the LazyVStack approach and this worked well for a screen that was pretty custom-styled anyway. Side note: LazyVStack made me a little upset by applying the spacing not only between rows, but also after the section header; requiring dancing around with the spacing and paddings to get the correct look; I wished for a separation of spacing between sections, spacing between rows and spacing between [section header/rows/section footer]. But I'm wondering if this is a well-rounded approach for Views that just want a plain styled data list. It's certainly more feasible with the delicate separators-going-all-the-way-through-to-the-edge-of-the-screen gone in iOS 26, but still, custom-rebuilding all the
Topic: UI Frameworks SubTopic: SwiftUI
Aug ’25
Reply to How to customize UIActivityViewController
The API highlighted by @RickMaddy is one of the only choices, in addition to the newer excludedActivitySectionTypes property. It's worth though taking a step back and looking at your core premises: We are currently developing an enterprise iOS application and are in the process of implementing Data Leakage Protection (DLP) features. In broad terms, an app generally does not have the right level of visibility to understand the mix of user intention and corporate data policies. An app is not an island, and may be only one of several apps to get specific work tasks done. That's why the right thing here is that the device needs to be managed by the enterprise through MDM, so there's a higher level view of what the enterprise intends to allow and disallow through its chosen policies. There's a chain of trust to this — if an enterprise doesn't trust the device by managing it at the device level, then why should it trust a potentially unknown device with an unmanaged app with its sensitive enterprise data? There is
Topic: UI Frameworks SubTopic: UIKit Tags:
Aug ’25