Search results for

A Summary of the WWDC25 Group Lab

10,094 results found

Post

Replies

Boosts

Views

Activity

Safari WebExtensions (MV3): Content Script context persists across navigation, causing message routing to wrong (zombie?) pages
Summary: Content scripts injected via manifest continue to receive and respond to chrome.tabs.sendMessage() calls even after the user has navigated away from the original page, causing messages intended for the current tab to be handled by zombie contexts from previous pages. Environment: Safari/iOS Version: 18.5 Extension Manifest: Version 3 Expected Behavior: When a user navigates from Page A to Page B: Page A's content script context should be destroyed. chrome.tabs.sendMessage(currentTabId, message) should only reach Page B's content script Only Page B should be able to respond to action button clicks (or other background to content messages). Actual Behavior: When navigating from Page A to Page B: Page A's content script context persists as a zombie. chrome.tabs.sendMessage(currentTabId, message) reaches zombie context instead of the Page B's one. Hence, it looks like the extension is broken because the content script does not respond to the background messages. Details: Tab ids are properly rec
1
0
305
Jul ’25
Open Parent App From ShieldActionDelegate
Hello, I’m building an app that helps people spend less time on social media apps. For that, I make heavy use of Apple’s Screen Time APIs, such as ManagedSettings and FamilyControls. When an app is locked using a ShieldConfiguration, the user has to open my app in order to unlock it (e.g. enter a code). This is very cumbersome because no documented API exists to open the parent app (=my app) from the ShieldActionDelegate (also part of my app) when the user presses a button of the ShieldConfiguration. The ShieldActionDelegate callback just offers three options in its ShieldActionResponse: .none .defer .close .openParentApp is missing. We are working around this limitation by sending a local push notification that the user has to tap on. This has multiple drawbacks: It has to be ensured that notification permission has been granted. It has to be ensured that notifications can be delivered even while focus is enabled. Features such as Apple Intelligence notification summaries and notification prioritiza
6
0
374
Jul ’25
Reply to BlendShapes don’t animate while playing animation in RealityKit
I've only been able to get simultaneous animations playing on a rigged model by using hard-coded FromToByAnimations and ensuring that the animations do not have any collisions in terms of which joints they are animating. Then when using playAnimation, passing a blend layer offset to the each animation group. But I have not tried this approach of using Blend shapes from Blender
Topic: Graphics & Games SubTopic: RealityKit Tags:
Jul ’25
Reply to Using .glassEffect in Charts
Hello! I was able to get a couple of patterns down for glass in charts; some through views and others with chart-specific protocols. here's an example .annotation: extension Charting.Views.Stock.Selection { struct Annotation: View { private let low: Double private let high: Double private let open: Double private let close: Double private let gain: Bool private var time: String public init(_ data: Charting.Model.Candle) { self.low = data.low self.high = data.high self.open = data.open self.close = data.close self.gain = data.gain self.time = data.date.formatted(.dateTime.hour().minute().timeZone(.exemplarLocation)) } @Environment(.colorScheme) private var colors var body: some View { VStack(alignment: .leading) { Group { HStack { Text(Low).font(.caption) Spacer() Text(low, format: .currency(code: USD)) } HStack { Text(High).font(.caption) Spacer() Text(high, format: .currency(code: USD)) } Divider() HStack { Text(Open).font(.caption) Spacer() Text(open, format: .currency(code: USD)) } HStack { Text(C
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jul ’25
Reply to Signing a daemon with the Endpoint Security entitlement
Thank you! So you are right, I was not starting the daemon, just loading it. I am also able to manually run it, but it required full-disk-access to the Terminal app! We also are creating a FAT binary to run on both Intel and Apple Silicon, so I will test that next. By the way, the examples are seriously lacking in detail - even your example. It took a long time to reproduce simply because there are missing steps. For example, the creating a new application DOES NOT create an Info.plist. That took a while to figure out. Telling someone to delete a key that shows up in that file doesn't really make any sense, particularly when they are not called the same thing in the Info tab in the project settings. Another thing is that once I added the ES code, it would not build because you also need to link the library for it. There were a few other things as well - such as telling me to delete main.storybook, or other things that actually had no extension showing in the project file list. Finally, my main confusion left
Topic: App & System Services SubTopic: Core OS Tags:
Jul ’25
Reply to Foundation Models Adapter Training Toolkit v0.2.0 LoRA Adapter Incompatible with macOS 26 Beta 4 Base Model
Thank you for responding! metadata.json from the .fmadapter package: { adapterIdentifier: fmadapter-foundation-lab-9799725, author: Foundation Lab, baseModelSignature: 9799725ff8e851184037110b422d891ad3b92ec1, creatorDefined: {}, description: Tool adapter., license: , loraRank: 32, speculativeDecodingDraftTokenCount: 5 } Code used to load the adapter: // From test-adapter-minimal.swift:39 let adapter = try SystemLanguageModel.Adapter(fileURL: adapterURL) // Also tried the name-based initializer: adapter = try await SystemLanguageModel.Adapter(name: adapterName) Please help make progress here. Thank you!
Jul ’25
Inconsistent behavior with transactionId and appAccountToken in iOS Sandbox purchases (StoreKit1 & StoreKit2)
Hi, I'm reaching out to report a recurring issue with in-app purchases on iOS that seems to be related to Apple’s transaction handling — not to third-party libraries. In my Flutter application, I use both StoreKit2 and StoreKit1 (for comparison) via different packages, including the official in_app_purchase package. However, in both cases, I’m experiencing unexpected reuse of transactionId and appTransactionId values, even when initiating fresh purchases with unique appAccountToken values. Problem Summary: Purchase Stream Returns Old Purchases When calling buyNonConsumable() with a new product, the purchase stream still returns data for a previously purchased product, despite clearing all Sandbox transactions and using a new applicationUserName for each attempt. Transaction IDs Reused Across Distinct Purchases Even when generating a new UUID for appAccountToken on each purchase, the returned appTransactionId and transactionId are reused — this breaks our server-side logic, which expects these fields
1
0
161
Jun ’25
The three dots button won't move inside my navigation item group after resizing in iOS 26
I'm working on an old Objective-C project and I'm trying to adapt iOS 26 and liquid glass to current UI. I'm facing an issue that the three dot buttons won't automatically move inside navigation item bar/group after resizing window, instead it displays on top of the navigation left item. App runs entirely on iPad. What I tried: Added Application Scene Manifest to Info.plist Added SceneDelegate and initialized window by windowScene but most old code are still inside AppDelegate class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? let appDelegate = UIApplication.shared.delegate as! TDRAppDelegate func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let scene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: scene) window?.isHidden = false appDelegate.window = window appDelegate.initWithWindow() } } - (void)initWithWindow { ... [self initViewControllers]; NSArray *tabArray = [
Topic: UI Frameworks SubTopic: UIKit Tags:
1
0
159
Jul ’25
Reply to WatchOS smart alarm using WKExtendedRuntimeSession
It is as-designed that a watchOS app can only start a new extended runtime session (WKExtendedRuntimeSession) when it runs in the foreground and is active, and that it can only schedule one session at a time. (Note that a frontmost app can run in the foreground, but is not active.) For anything beyond that, I’d suggest that you file a feedback report with your use case. Specific to smart alarms, we introduced AlarmKit in WWDC25, which is available in iOS 26 but can forward the alarm presentation to a paired watch when an alarm occurs. You might take a look if that fits your use case. Best, —— Ziqiao Chen  Worldwide Developer Relations.
Topic: App & System Services SubTopic: General Tags:
Jul ’25
Running iOS app on MacOS error: This app cannot be installed because its integrity could not be verified.
The attached file bellow contains the full error error I clone this repo to my mac, change team id and group, and run it in Xcode: https://github.com/protonpass/ios-pass There's no issue when I ran it with the Debug configuration, but when I go to Product > Scheme > Edit Scheme and change the iOS target build configuration to Release then I got that error above. I have tried Archive and export the ipa, verify that the provisioning profile contains my Mac UDID, but when double clicking the ipa to install, I also got the error This app cannot be installed because its integrity could not be verified.
1
0
230
Jul ’25
Reply to Little experience with SCM. Need help with project source management.
Aren't new features the same as enhancements? Usually the delicate part is bug fixes. Those would get applied to older, currently shipping code. You could do them either in a branch or in main, but the idea is that, one way or another, bug fixes will relatively quickly update the main branch. Then the delicate part is making sure that any pending branches are compatible with those bug fixes. In theory, since they're still pending, that's easy to do. At that point, you know about the bug and can fix any new code, while merging the fixes in the new main. But it's all based on what you're comfortable with and what you can manage. Working as a lone developer, I wouldn't do a new branch for anything unless it was going to require weeks of effort and/or substantial changes/extensive testing. But back in the day, with 600 developers on a project, everything went into its own branch and the SCM team managed that. Testing was no big deal because we had a very large testing group and months-long test procedure
Jul ’25
No signing certificate "iOS Development" found No "iOS Development" signing certificate matching team ID "{team_id}" with a private key was found.
Hello, Trying to set this up so I can easily test on my mobile device through USB, I've got development mode setup, have my CSR (which i used for my dist profile and works perfectly). Logged into apple developer and have my organisation selected, when trying to create a dev certificate using the same CSR i used for dist, it seems like it just creates it under my name instead of my company, which would explain why, when i download and activate the dev cert, in xcode the dev certificate doesn't show, only the dist cert. If I create a dev profile using that cert it does load up in xcode, but when I select it I get this error: No signing certificate iOS Development found No iOS Development signing certificate matching team ID {team_id} with a private key was found. To me it seems like this is happening because the development certificate I created just decides to put itself not under my org, I thought this was just how it works for development certificates? Also when I do create the provisioning profile, I can se
2
0
255
Jul ’25
How to access clear Liquid Glass Effect?
On WWDC25 session Meet Liquid Glass, two Liquid Glass variants are mentioned: regular and clear. Regular seems to be the default setting for UIGlassEffect, but I was not able to find an option for clear. Is there a native element that uses clear? Is it coming to later betas for iOS 26?
8
0
512
Jul ’25