Search results for

A Summary of the WWDC25 Group Lab

10,092 results found

Post

Replies

Boosts

Views

Activity

StoreKit 2 Sandbox Testing - Product not found
Hi, I've been unable to successfully test in the sandbox environment for a StoreKit 2 subscription group and can't seem to find the missing piece. I am calling the following line of code: let products = try await Product.products(for: [subscriptionID]) Expected behavior: The product is returned in the products array. Actual result: The array is empty I have done the following: Successfully tested our logic using a storekit configuration file locally in Xcode. Created the Subscription group in App Store Connect. The subscription product is currently Waiting for Review, but it is our first so will not be approved without being attached to a distribution build review. Created a Sandbox user account in App Store Connect -> Users -> Sandbox Signed into the sandbox user account in Settings -> Developer -> Sandbox Apple Account Signed the Paid Apps Agreement for our organization A few debugging notes: I deleted all apps before installing from Xcode I've tried both locally and in TestFli
1
0
90
Aug ’25
Reply to visionOS: Unable to programmatically close child WindowGroup when parent window closes
Hello @Jir_253, Thanks for your questions. I’d recommend that you start by watching Set the scene with SwiftUI in visionOS from this year’s WWDC. Your “CWindow” sounds similar to the Tools window covered in this talk: WindowGroup(Tools, id: tools) { ToolsView() } .restorationBehavior(.disabled) .defaultLaunchBehavior(.suppressed) Similar to iOS where you cannot quit the application yourself, you cannot dismiss the last window of your application. When a user goes to close the main window when the secondary window is open, you cannot close this secondary window if it’s the only window group that is open in your application. Consider adding an affordance to the secondary window to reopen the main window in this case. There's no supported way for you to create parent/child window relationships with the APIs currently available. If you'd like us to consider adding the necessary functionality, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number
Topic: Spatial Computing SubTopic: General Tags:
Aug ’25
Reply to Modal Presentation in UIKit Adds Solid Background in iOS 26
Is this change in modal presentation documented anywhere? I can't seem to find anything on it in the Apple Dev Documentation or from WWDC25. We don't document the implementation details, but the design change was mentioned in this video. (It is a SwiftUI video, but the design change applies to UIKit.) Best, —— Ziqiao Chen  Worldwide Developer Relations.
Topic: UI Frameworks SubTopic: UIKit Tags:
Aug ’25
Reply to NWBrowser + NWListener + NWConnection
Hello, I'm back revisiting this and have some findings to report. When I tried to create a group as seen below let descriptor = NWMultiplexGroup(to: endpoint) guard let identity = networkingService.importIdentityFromPKCS12() else { print([browseResultsChangedHandler] could not import identity) continue } do { let parameters = try NWParameters(identity: identity) let group = NWConnectionGroup(with: descriptor, using: parameters) group.stateUpdateHandler = { _ in } group.newConnectionHandler = { _ in } group.start(queue: .global()) networkingService.addGroup(deviceID, group) } catch { } Note that endpoint comes from browser's browseResultsChangedHandler Identity comes from me importing a SecIdentity from the user's p12 Parameters has the identity in it so that QUIC works. My app crashes when it tries to create the group and I see the following error nw_group_descriptor_allows_endpoint Endpoint 1B1654DF-62B5-4B29-9495-C4965E8E99FF._captadoh._udp.local. is of invalid type for m
Aug ’25
Reply to Gatekepper acts against .app package developed by a freelancer for our company
[quote='852386022, VBFSDEV, /thread/795578?answerId=852386022#852386022, /profile/VBFSDEV'] they will have access to all certificates, as you cannot grant selective certificate access. [/quote] I think you’re confused by the terminology here (an industry-wide problem, alas). It’s fine to give anyone access to a certificate. It only contains a public key. To sign code you need a digital identity, aka a code-signing identity, which is a certificate and the private key that matches the public key in that certificate. So, there’s no issue with your freelancer being able to access your Developer ID certificate [1]. What you have to protect is the matching private key. I discuss this terminological confusion in more detail in TN3161 Inside Code Signing: Certificates [quote='852386022, VBFSDEV, /thread/795578?answerId=852386022#852386022, /profile/VBFSDEV'] there is no solution to perform our signing process without granting the freelancer access to our app store connect account, correct? [/quote] It’s not that ther
Topic: Code Signing SubTopic: General Tags:
Aug ’25
Iphone 16 is not connecting to WiFi7 AP with MLO Suiteb encryption
Issue summary: Iphone 16 is not connecting to WiFi7 AP with MLO Suiteb encryption. Furuno AP(EW750) is sending EAPOL M1 message, but Iphone16 is not responding with EAPOL M2 message, Hence Iphone16 is unable to connect to Qualcomm based AP with MLO suiteb encryption. Issue impact: All the Iphone16 users cannot connect to WiFi7 AP with MLO suiteb encryption globally. Predominantly, Iphone users tend to connect to more secured wifi networks using WPA3 suiteb encryption, hence many of the iphone users will experience the connectivity issue significantly. Topology: AP Hardware: Furuno WiFi7 AP(EW770) The Furuno WiFi7 AP uses Miami IPQ5332 with waikiki radio QCN9274 AP software: SPF12.2 CSU3 IPhone16 software: (18.3.1 or 18.5 ) Iphone16 wifi capabilities: 802.11 b/a/g/n/ac/ax/be Radius server details: Radius server: Laptop running with Ubuntu Radius package: 3.0.26dfsggit20220223.1.00ed0241fa-0ubuntu3.4 Version: 3.0.26 Steps: Power on the Wi-Fi 7 Access Point with the Miami chipset, and flash it with the
1
0
59
Aug ’25
Reply to CocoaPods Fails On Apple Silicon
Here's a recap of the issue Summary of Current Setup So Far (for your documentation): Step Command Output / Result A gem install cocoapods -v 1.14.3 ✅ Installed successfully B which pod user/bob/.rbenv/shims/pod C pod --version 1.14.3 D gem install xcodeproj --pre ✅ Installed xcodeproj-1.27.0 CONCLUSION: This confirms: Xcode 16.3 writes .xcodeproj files with object version 90 The latest xcodeproj gem (1.27.0) only supports up to object version 77 Therefore, CocoaPods will crash every time with modern Xcode, no matter which version of cocoapods you use ✅ Clear Answer ❌ You cannot use CocoaPods right now unless: Xcodeproj is updated to support object version 90 → You’d have to wait for CocoaPods to release a compatible version Or you downgrade Xcode to something that supports .xcodeproj object version 77 → But this means downgrading to Xcode 15.x or lower, which won’t run on macOS 15.5 Sequoia → So you’re stuck.
Aug ’25
Array of AppEnum in a Parameter will always be empty
Consider the following in an AppIntent: struct TestIntent: AppIntent { static let title: LocalizedStringResource = Test Intent static var parameterSummary: some ParameterSummary { Summary(Test) { .$options } } enum Option: Int, CaseIterable, AppEnum { case one case two case three case four case five case six static let typeDisplayRepresentation: TypeDisplayRepresentation = TypeDisplayRepresentation( name: Options ) static let caseDisplayRepresentations: [Option: DisplayRepresentation] = [ .one: DisplayRepresentation(title: One), .two: DisplayRepresentation(title: Two), .three: DisplayRepresentation(title: Three), .four: DisplayRepresentation(title: Four), .five: DisplayRepresentation(title: Five), .six: DisplayRepresentation(title: Six), ] } @Parameter(title: Options, default: []) var options: [Option] @MainActor func perform() async throws -> some IntentResult { print(options) return .result() } } In Shortcuts, this will turn into a dropdown where you can check multiple Option values. However, wh
3
0
167
Aug ’25
encountering a console warning when accessing NSUserDefaults within the willFinishLaunchingWithOptions method. However, it appears that all the key values are loading correctly despite the warning.
App initiates a App group based UserDefaults within the willFinishLaunchingWithOptions method and the same reference are used throughout the app life cycle + (NSUserDefaults *)appGroupUserDefaults { if (_appGroupUserDefaults == nil) { NSString *appGroupIdentifier = [NSString stringWithFormat:@group.%@,[[NSBundle mainBundle] bundleIdentifier]]; NSUserDefaults *groupDefaults = [[NSUserDefaults standardUserDefaults] initWithSuiteName:appGroupIdentifier]; if(groupDefaults != nil) { NSLog(@[DB_ENCRYPTION] appGroupUserDefaults initialised); _appGroupUserDefaults = groupDefaults; } else { NSLog(@: [CCF-OS] [DB_ENCRYPTION] %s Unable to create NSUSerDefaults with groupIdentifier, __func__); _appGroupUserDefaults = [NSUserDefaults standardUserDefaults]; } } return _appGroupUserDefaults; } Doesn't have any issues on accessing the values but seen the below console error: Couldn't read values in CFPrefsPlistSource<0x103eedb00> (Domain: group.com.kodiak.InstaPoC, User: kCFPreferencesAnyUser, ByHost:
2
0
68
Aug ’25
Tensor Flow Metal 1.2.0 on M2 Fails to converge on common toy models
I've been trying to get some basic models to work on an M2 with tensor metal 1.2 and keras 2.15 and 2.18 and they all fail to work as expected. I'm running models copy/pasted from common tutorials like Jason Brownlee ML Mastery Object Classification tutorial using CIFAR-10. When run with the GPU I can't get any reasonable results. Under keras 2.15 the best validation accuracy ends up being around 10-15%. Under keras 2.18, the validation goes off the rails around epoch 5 with wildly low accuracy and loss values that are reported as nan. Epoch 4/25 782/782: 19s 24ms/step - accuracy: 0.3450 - loss: 2.8925 - val_accuracy: 0.2992 - val_loss: 1.9869 Epoch 5/25 782/782: 19s 24ms/step - accuracy: 0.2553 - loss: nan - val_accuracy: 0.0000e+00 - val_loss: nan Running the same code on the CPU using keras 2.15 using tf.config.experimental.set_visible_devices([], 'GPU') yields a reasonable result with the validation accuracy around 75% as expected. Running the same code on keras 2.15 on a linux instance with just the CPU
8
0
832
Mar ’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 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