Search results for

A Summary of the WWDC25 Group Lab

10,109 results found

Post

Replies

Boosts

Views

Activity

App crashed when switching between Annotation Tab and Group Tab with TabView init(selection:content:)
This app will not crash when switching between these two tabs with TabView init(content:) import SwiftUI import SwiftData struct ContentView: View { @StateObject private var highlightManager = HighlightManager.shared @State private var selectedTab: Int = 0 var body: some View { TabView(selection: $selectedTab) { MapView() .tabItem { Label(Map, systemImage: map) } .tag(0) // Annotation Tab AnnotationList() .tabItem { Label(Annotation, systemImage: mappin.and.ellipse) } .tag(1) // Group Tab PeopleList() .tabItem { Label(Group, systemImage: person.and.person) } .tag(2) } .tutorialOverlay() // Apply the overlay to the root view .environmentObject(highlightManager) .toolbar { ToolbarItem(placement: .confirmationAction) { NavigationLink(Help) { NavigationStack { HelpView(selectedTab: selectedTab) } } } } } }
1
0
66
Jul ’25
TestFlight installations repeatedly failing on macOS
I'm repeatedly hitting an issue when deploying Xcode Cloud builds to macOS from TestFlight. Once the build appears in TestFlight I hit the Install or Update button in TestFlight and after a couple of seconds of spinning-wheel the button goes back to it's original state and the app fails to install. There's no error pop-up but I've noticed an Error Domain=ASDErrorDomain Code=710 Invalid hash 'xxx' expected 'yyy' error in console each time it happens. My project needs to deploy 2 different macOS/Catalyst apps (actually they are 2 different targets in the same project) and it seems completely random as to which will actually successfully install on which machine. For my last build, one of the 2 binaries was failing to install on a Mac Studio on 15.5, but the other was fine. All were fine on 3 other machines I tried. For my latest build, both binaries are fine on the Mac Studio but both now fail to install on an M2 Air on macOS 26 beta 2. I'm now extremely nervous about deploying to my TestFlight beta group
6
0
390
Jul ’25
Reply to A Summary of the WWDC25 Group Lab - visionOS
(Continued) Are there best practices for taking an existing swiftUI app and making a two dimentional visionOS app? Compatible iOS apps can run on visionOS, see Making your existing app compatible with visionOS. If you want to go further than compatibility, you can add visionOS as a platform to your Xcode project’s target, and develop with the visionOS Simulator. Principles of spatial design, Design for spatial user interfaces, Design hover interactions for visionOS, and Bringing your existing apps to visionOS will provide you with lots of best practices to apply! I’m aware that baked lighting is often recommended, but is there a supported way to use dynamic lights and shadows on Apple Vision Pro—especially when working natively with RealityKit or Reality Composer Pro? If so, what are the limitations or best practices? RealityKit offers dynamic lights with shadows, limited to 8 dynamic lights at a time in a scene. You can use ShaderGraph to combine baked lighting and RealityKit’s dynamic lights, reference Peti
Jul ’25
A Summary of the WWDC25 Group Lab - visionOS
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for visionOS. I saw that there is a new way to add SwiftUI View attachments in my RealityView, what advantages does this have over the old way? Attachments can now be added directly to your entities with ViewAttachmentComponent. The removes the need to declare your attachments upfront in your RealityView initializer and then add those attachments as child entities. The new approach provides greater flexibility. Canyon Crosser and Petite Asteroids both utilize the new approach. ManipulationComponent looks really cool! Right now my app has a series of complicated custom gestures
4
0
273
Jul ’25
Concentricity not working
This line in the WWDC25: Build a SwiftUI app with the new design talk, Doesn't work. no .rect is not member and neither corner a parameter or containerConcentric listed. Help .background(.tint, in: .rect(corner: .containerConcentric))
Topic: UI Frameworks SubTopic: SwiftUI
2
0
160
Jul ’25
Reply to Unable to Obtain com.apple.managed.vpn.shared Entitlement
I have submitted multiple requests to Apple Developer Technical Support (DTS) over the past two months, clearly explaining our use case and referencing the official documentation as well as the above forum thread. I dug into this a bit and found two requests, one from you on 4/27/25 (replied to on 4/29/25) and one from a similarly named company on 6/18/25 (replied to on 6/30/25). Both received the same standard reply we send for that request, which asks a series of questions (A-> E) necessary for us to properly grant the entitlement. Unfortunately, I have either received no response or responses that do not address my request for the special entitlement. What response did you receive? The standard response we replied to both of these requests with opens with this: I’m responding to your request for access to the com.apple.managed.vpn.shared keychain access group. Before we start, I want to clarify one thing. As of Nov 2016, it’s possible for any developer to enable the Network Extension provider e
Jul ’25
Screen Time API: Does syncing aggregated daily usage (minutes) to our server—after explicit opt-in—violate App Store Review Guidelines?
Hi there. I’m building a digital-well-being app for iOS 17.x that relies on the Screen Time API (FamilyControls / DeviceActivity.framework). Before we implement the server side, we’d like to confirm that the architecture below complies with current App Store Review Guidelines. Planned flow FamilyActivityPicker User selects an app set. we receive only opaque ApplicationTokens, no bundle IDs. DeviceActivityMonitorExtension Whenever usage of any selected app crosses a threshold, we increment a running daily total (integer minutes) stored in UserDefaults for our App Group. Server sync If the user completes a two-step opt-in (Settings toggle + confirmation dialog), we would POST only the aggregated daily total—never bundle IDs or app names—over HTTPS to our server, enabling cross-device dashboards and weekly reports. MonitorExtension currently allows URLSession / HTTPS; DeviceActivityReportExtension does not, per Apple’s sandbox docs. Users can disable sync or request deletion of their server data at any
1
0
66
Jul ’25
Keyboard becomes unresponsive after backgrounding app while iCloud Keychain “Save Password?” sheet is visible
Product & Version: iOS 17.5.1 (21F90) – reproducible since iOS 13 Test devices: iPhone 14 Pro, iPhone 15, iPad (10th gen) Category: UIKit → Text Input / Keyboard Summary: If the system “Save Password?” prompt (shown by iCloud Keychain after a successful login) is onscreen and the user sends the app to background (Home gesture / App Switcher), the prompt is automatically dismissed. When the app returns to foreground, the keyboard does not appear, and text input is impossible in the entire app until it is force-quit. Steps to Reproduce: Run any app from AppStore that shows Save Password alert. Enter any credentials and tap Login, iOS shows the system “Save Password?” alert. Without interacting with the alert, swipe up to the Home screen (or open the App Switcher). Reactivate the app. Tap the text field in the app.
2
0
68
Jul ’25
Reply to Collection Reusable View Added Via Storyboard Not Registering with the Collection View
Thanks @BabyJ. I have updated my code to address the discrepancy which you've noted. My code now looks like this: ` let section = NSCollectionLayoutSection(group: group) let headerSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .estimated(37.0)) let header = NSCollectionLayoutBoundarySupplementaryItem( layoutSize: headerSize, elementKind: ElementKind.sectionHeader.rawValue, alignment: .topLeading) section.boundarySupplementaryItems = [header] emotionFiltersDataSource.supplementaryViewProvider = { collectionView, kind, indexPath in guard let headerView = collectionView.dequeueReusableSupplementaryView( ofKind: ElementKind.sectionHeader.rawValue, withReuseIdentifier: emotionFiltersHeaderReusableView, for: indexPath ) as? EmotionFiltersHeaderView else { fatalError(Could not dequeue header view as EmotionFiltersHeaderView) } let sectionTitle = Section.allCases[indexPath.section].rawValue headerView.sectionTitleLabel.text = sectionTitle return headerView } Bu
Topic: UI Frameworks SubTopic: UIKit
Jul ’25
Reply to Crash in libswiftCore with swift::RefCounts
(For posterity and web searches) One can create a serial queue by using the default initializer for DispatchQueue: private let serialQueue = DispatchQueue(label: some.custom.label) I'm then initializing the Connection Group like: connectionGroup = NWConnectionGroup(with: multicastGroup!, using: params) and finally starting it with: connectionGroup.start(queue: serialQueue) It's that last line that's super important because the default global() queue will give you a concurrent queue rather than a serial one.
Topic: Programming Languages SubTopic: Swift Tags:
Jul ’25
Reply to Crash in libswiftCore with swift::RefCounts
Ah yes, great point! I think that's exactly what it was. I had fixed the issue initially by processing in a serial queue, but your comment made me go back and realize the connection group was getting started like this: connectionGroup.start(queue: .global()) Which is, of course, a concurrent queue. With the serial queue in place I was able to flood the device with thousands of UDP messages without issue. Thanks so much!
Topic: Programming Languages SubTopic: Swift Tags:
Jul ’25
Reply to Crash in libswiftCore with swift::RefCounts
I’m glad to hear you’re making progress. [quote='847078022, FT-cfoy, /thread/791083?answerId=847078022#847078022, /profile/FT-cfoy'] The completion handler is spinning up a new thread [/quote] I noticed that the crashing code is being called out of Network framework. One thing to watch out for there is the type of queue that you pass into Network framework when you create your NWConnection [1]. Network framework will accept either a serial queue or a concurrent queue. Internally it does its own serialisation, so it doesn’t care. However, for your own sanity it’s important to use a serial queue. If you use a concurrent queue, it becomes very hard to reason about your code. Similarly, if you have multiple connections running simultaneously, it often makes sense to use the same serial queue for all of them. Oh, and be wary of concurrent queues in general. See Avoid Dispatch Global Concurrent Queues. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.c
Topic: Programming Languages SubTopic: Swift Tags:
Jul ’25
Reply to How to satisfy a custom Authorization Right?
I’m not sure I can properly help you with this, because I’m not confident I understand QA1277, which is problematic because I originally wrote it! Honestly, I’m not sure I fully understood it back then either )-: Regarding your issue, my understanding is that these credentials are generated on successful authentication. However, I’ve never looked into the exact point that generates them, that is, are they generated by the act of successfully gaining a right, or by successfully running a rule, or by the builtin:authenticate method. You can almost certainly work this out by looking at the code for the authorisation engine in Darwin. A good place to start would be here [1]. WARNING You have to be careful when digging into Darwin. It’s full of implementation details, and encoding such implementation details in your product is not the path to long-term binary compatibility. However, in this case I think it’s reasonable. Authorisation plug-in development is already a field full of compatibility pitfalls. If you’re
Topic: Privacy & Security SubTopic: General Tags:
Jul ’25
A Summary of the WWDC25 Group Lab - Developer Tools
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for Developer Tools. Will my project codebase be used for training when I use Xcode's intelligent assistant powered by cloud-based models? When using ChatGPT without logging in, your data will not be used to improve any models. If you log in to a ChatGPT account, this is based on your ChatGPT account settings, which allows you to opt-out (it defaults to on). When using Xcode with accounts for other model providers, you should check with the policies of your provider. And finally, at no point will any portion of your codebase be used to train or improve any Apple models. We'd l
1
0
630
Jul ’25
WWDC25 Camera & Photos group lab summary (Part 3 of 3)
(Note: this is part 3 of a 3 part posting. See Part 1 or Part 2) At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for Camera & Photos. WWDC25 Camera & Photos group lab ran for one hour at 6 PM PST on Tuesday June 10th, 2025 Question 24 What’s the best approach for optimizing barcode scanning using AVFoundation or Vision in low-light or angled scenarios Turn on flash in low-light scenarios Lower framerate to improve exposure and reduce noise Wait until the capture is in focus/notify your user that they need to get closer Question 25 Recent iPhone models introduced macro mode which automatica
0
0
172
Jul ’25