Search results for

A Summary of the WWDC25 Group Lab

10,365 results found

Post

Replies

Boosts

Views

Activity

Reply to Unable to upload an app with ExtensionFoundation
Earlier I wrote: [quote='865385022, DTS Engineer, /thread/803896?answerId=865385022#865385022'] I didn’t have a chance to run further checks, like uploading it to App Store Connect. [/quote] For my own reasons I decided to bump the priority on this, and so I ran this test today. I was able to upload the build to App Store Connect and then install it via a TestFlight internal test group. I didn’t encounter any App Store Connect roadblocks and the app I installed via TestFlight worked as expected [1]. AFAIK there aren’t are any more App Store Connect checks after that point, other than App Review itself. As I reminder, I created a security helper extension as described in Creating enhanced security helper extensions. I didn’t try anything more complex than that, but I kinda assumed that such an extension would be worth you exploring for your product. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com [1] I was surprised to see that the i
Topic: App & System Services SubTopic: General Tags:
Nov ’25
Reply to Do I need com.apple.developer.vpn.managed entitlement to read an MDM-pushed VPN profile using NETunnelProviderManager.loadAllFromPreferences()?
[quote='806802021, ShyamJiMi, /thread/806802, /profile/ShyamJiMi'] Is this entitlement mandatory for my use case … ? [/quote] It depends |-: If the MDM system installs a profile for your VPN, you will be able to see that configuration. The com.apple.managed.vpn.shared keychain access group comes into play if that profile references a credential in the standard way, meaning either a password or a digital identity. Those credentials get stored in the com.apple.managed.vpn.shared keychain access group. Third-party apps don’t have access to that group by default. If you have an enterprise-focused VPN product that needs such access, you should apply for it. For information on how to apply, see FAQ#9 in Network Extension Framework Entitlements. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Nov ’25
BLE Connection Drops on iPhone 17 Series When 2M PHY Update Fails (Does Not Fallback to 1M PHY)
Hello Apple engineering team, We are encountering a BLE connection issue on iPhone 17 series devices running iOS 26.x, while using CoreBluetooth to connect to our Bluetooth accessory in our app Aroma-Link. The problem does not occur on previous iPhone models or earlier iOS versions. Issue Summary Our BLE device uses a specific chipset batch where the 2M PHY capability is not fully supported. The expected behavior (as observed on iPhone 16 / 15 / older models) is: Connection starts on 1M PHY System attempts to upgrade to 2M PHY If 2M PHY upgrade fails → system should fallback and continue using 1M PHY Connection remains active However, on iPhone 17 series: After the system attempts to switch from 1M to 2M PHY and the upgrade fails The device disconnects immediately No fallback to the original 1M PHY occurs This results in an unintended and user-visible disconnection. Reproduction Steps Use an iPhone 17 series device running iOS 26.x Connect to the target BLE peripheral via CoreBluetooth (centralManage
1
0
100
Nov ’25
Age verification: How to obtain the method of age assurance?
In the summary documentation about the declared Age Range API:https://developer.apple.com/news/?id=2ezb6jhj It states: The API will also return a signal from the user’s device about the method of age assurance, such as credit card or government ID But if the api itself, and its documentation is examined, there is no such mechanism nor mention of it: https://developer.apple.com/documentation/declaredagerange/agerangeservice So my question is, is the first documentation incorrect, if not, then where and how to access the method of age assurance?
1
0
136
Nov ’25
BLE Connection Drops on iPhone 17 Series When 2M PHY Update Fails (Does Not Fallback to 1M PHY)
Hello Apple engineering team, We are encountering a BLE connection issue on iPhone 17 series devices running iOS 26.x, while using CoreBluetooth to connect to our Bluetooth accessory in our app Aroma-Link. The problem does not occur on previous iPhone models or earlier iOS versions. Issue Summary Our BLE device uses a specific chipset batch where the 2M PHY capability is not fully supported. The expected behavior (as observed on iPhone 16 / 15 / older models) is: Connection starts on 1M PHY System attempts to upgrade to 2M PHY If 2M PHY upgrade fails → system should fallback and continue using 1M PHY Connection remains active However, on iPhone 17 series: After the system attempts to switch from 1M to 2M PHY and the upgrade fails The device disconnects immediately No fallback to the original 1M PHY occurs This results in an unintended and user-visible disconnection. Reproduction Steps Use an iPhone 17 series device running iOS 26.x Connect to the target BLE peripheral via CoreBluetooth (centralManage
2
0
192
Nov ’25
visionOS 26 - Rendering Issues related to Transparency
Summary After updating to visionOS 26, we’ve encountered severe transparency rendering issues in RealityKit that did not exist in visionOS 2.6 and earlier. These regressions affect applications that dynamically control scene opacity (via OpacityComponent). Our app renders ultra-realistic apartment environments in real time, where users can walk or teleport inside 3D spaces. When the user moves above a speed threshold, we apply a global transparency effect to prevent physical collisions with real-world objects. Everything worked perfectly in visionOS 2.6 — the problems appeared only after upgrading to 26. Scene Setup Overview The environment consists of multiple USDZ models (e.g., architecture, rooms, furniture). We manage LODs manually for performance (e.g., walls and floors always visible in full-res, while rooms swap between low/high-res versions based on user position and field of view). Transparency is achieved using OpacityComponent, applied dynamically when the user moves. Some meshes (e.g., po
0
0
188
Nov ’25
Reply to Scanning Macintosh HD produces single .nofollow file since update to macOS 26.1
A user of one of my apps reported that since the update to macOS 26.1, they are no longer able to scan Macintosh HD: the app used to work, but now always reports that Macintosh HD contains a single empty file named .nofollow, or rather the path is resolved to /.nofollow. To be clear, you mean the root volume* (/) and not some other, secondary, volume? *Our default name for the boot volume is Macintosh HD, but that's not actually required by any part of the system. Can someone at Apple confirm whether this is expected behaviour or what I have to do so that scanning a URL resolved from bookmark data behaves the same as scanning a URL returned from an open panel? My post here breaks this down in more detail, but the summary of the situation is that: The per-kernel/lower-level system, the paths /.nofollow/ and / both refer to exactly the same directory, namely /. A bug in CoreFoundation is stripping the last / from /.nofollow/, unintentionally changing the meaning to the stub directory /.nofollow. Securi
Topic: App & System Services SubTopic: Core OS Tags:
Nov ’25
Clarification on SwiftUI Environment Write Performance
I'm looking for clarification on a SwiftUI performance point mentioned in the recent Optimize your app's speed and efficiency | Meet with Apple video. (YouTube link not allowed, but the video is available on the Apple Developer channel.) At the 1:48:50 mark, the presenter says: Writing a value to the Environment doesn't only affect the views that read the key you're updating. It updates any view that reads from any Environment key. [abbreviated quote] That statement seems like a big deal if your app relies heavily on Environment values. Context I'm building a macOS application with a traditional three-panel layout. At any given time, there are many views on screen, plus others that exist in the hierarchy but are currently hidden (for example, views inside tab views or collapsed splitters). Nearly every major view reads something from the environment—often an @Observable object that acts as a service or provider. However, there are a few relatively small values that are written to the environment frequently, s
4
0
1.2k
Nov ’25
Reply to Assistance Needed: Accessing Smartcard Certificates for Document Signing on iOS
[quote='864970022, nagarajan031, /thread/801476?answerId=864970022#864970022, /profile/nagarajan031'] SecKeyCreateWithData does not produce a usable signing SecKey [/quote] Right. I wouldn’t expect it to. You have to get the SecKey object from the keychain, by looking in the kSecAttrAccessGroup (com.apple.token) keychain access group. In the posts I referenced above, search for SecItemCopyMatching. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: Hardware Tags:
Nov ’25
NotaryTool submissions stuck at “In Progress”
Summary Several notarization submissions have remained in the In Progress state for many hours. I’d like to confirm whether this is expected behavior and what steps I can take to resolve or re-submit safely. Command used xcrun notarytool submit /Users/.../MortiseAI-arm64.dmg --keychain-profile mai_publish --wait Submission history (excerpt) createdDate: 2025-11-06T22:52:12.019Z id: 4254d623-**** name: MortiseAI-arm64.dmg status: In Progress createdDate: 2025-11-06T13:00:28.016Z id: c7397c1c-**** name: MortiseAI-arm64.dmg status: In Progress createdDate: 2025-11-06T11:24:12.624Z id: 44bcbab2-**** name: MortiseAI.zip status: In Progress (Several other submissions show the same In Progress status.) Questions Are there known reasons that could cause notarization requests to remain in In Progress for an extended time? What is the recommended method to cancel these pending submissions and safely re-submit? Are there diagnostic steps (for example, xcrun notarytool log ) that can help analyze this issue? Not
0
0
121
Nov ’25
Reply to Seeking clarification on macOS URLs with security scope
And one more little gotcha. I started all of this from a Login Item. But I've seen references to Login Items being frowned upon by Apple, so I wanted to change that to a Launch Agent. Plus, XPC doesn't work with a Login Item. And this is meant for the Mac App Store, so all of it has to be sandboxed. That meant putting the launch agent into an app-like wrapper. XPC doesn't work with a sandboxed launch agent either, in spite of it being in an app group. But that's OK. I configure the launch agent from the database and run it on a calendar interval, which is better regardless. But it looks like I got carried away with sandbox restrictions. I have to give my launch agent the user selected files capability. Otherwise, it can't talk to the ScopedBookmarkAgent at all, even on Sequoia.
Topic: App & System Services SubTopic: Core OS Tags:
Nov ’25
Extra unwanted space in main window
Hi there! I'm having this issue with my main windows. I'm having a big space on top of that without any logic explanation (at least for my poor knowledge). Using the code below I'm getting this Windows layout: Does anybody have any guidance on how to get out that extra space at the beginning? Thanks a lot! import SwiftUI import SwiftData #if os(macOS) import AppKit #endif // Helper to access and control NSWindow for size/position persistence #if os(macOS) struct WindowAccessor: NSViewRepresentable { let onWindow: (NSWindow) -> Void func makeNSView(context: Context) -> NSView { let view = NSView() DispatchQueue.main.async { if let window = view.window { onWindow(window) } } return view } func updateNSView(_ nsView: NSView, context: Context) { DispatchQueue.main.async { if let window = nsView.window { onWindow(window) } } } } #endif @main struct KaraoPartyApp: App { @StateObject private var songsModel = SongsModel() @Environment(.openWindow) private var openWindow var body: some Scene { Group { W
0
0
59
Nov ’25
Reply to Missing notification – APNs success but not delivered to device
There really isn't a better way to trace/debug specific push requests after the fact. If you are generally interested in tracking/confirming the fate of notifications, you can do that via a Notification Service Extension, which will be executed for every visible launch, so you can log your received notifications. This still wouldn't help if the customer disables or otherwise configures your app's notifications to not ever be shown, but would work under normal circumstances like focus modes, sending your notifications to Summaries, and so on.
Nov ’25
Reply to [DEXT Migration Issue] IOUserSCSIParallelInterfaceController fails to handle low-level I/O from `diskutil`
We could not find the relevant properties in the KEXT's IORegistryExplorer snapshot. Looking at the snapshots you sent, I've listed the configuration of both drivers. Note that the first section lists the properties of the direct driver itself, while the second is the actual IOSCSIPeripheralDeviceType00, the parent IOBlockStorageServices. Here are the two configurations: (1) KEXT configuration: KEXT (subclass of IOSCSIParallelInterfaceController): IOMaximumSegmentAddressableBitCount = 0x20 IOMaximumSegmentCountRead = 0x81 IOMaximumSegmentCountWrite = 0x81 IOMaximumByteCountRead = 0x80000 IOMaximumByteCountWrite = 0x80000 IOMinimumSegmentAlignmentByteCount = 0x4 IOSCSIPeripheralDeviceType00: IOMaximumBlockCountRead = 0x400 IOMaximumBlockCountWrite = 0x400 IOMaximumByteCountWrite = 0x80000 IOMaximumByteCountRead = 0x80000 (2) DEXT Configuration DEXT: IOMaximumSegmentAddressableBitCount = 0x40 IOMaximumSegmentCountRead = 0x81 IOMaximumSegmentCountWrite = 0x81 IOMinimumSegmentAlignmentByteCount = 0 IOSCSIPeripher
Topic: App & System Services SubTopic: Drivers Tags:
Nov ’25