Search results for

“A Summary of the WWDC25 Group Lab”

10,635 results found

Post

Replies

Boosts

Views

Activity

Monthly subscriptions immediately fail with "purchase cancelled" while yearly subscriptions work fine
I'm experiencing an issue where monthly and family monthly subscriptions fail immediately with purchase cancelled in TestFlight, while yearly and family yearly subscriptions work correctly. Setup: All 4 products in same subscription group All show Ready to Submit status Using react-native-iap with StoreKit 2 Testing in TestFlight sandbox The Problem: Yearly subscriptions work fine Monthly subscriptions fail immediately with E_USER_CANCELLED (no dialog appears, user didn't cancel) What I've verified: No active subscriptions (getAvailablePurchases() returns empty) No pending transactions Same subscription group for all products Product IDs match App Store Connect Code is identical for all products Error: E_USER_CANCELLED fires immediately when calling requestPurchase() for monthly products, but yearly products proceed normally. Questions: Why would monthly fail while yearly works (same group, same config)? Could this be sandbox state corruption for monthly products? Should I delete/re
1
0
122
Dec ’25
Custom libnss module development - alternative to /etc/nsswitch.conf
I am an open source developer, who just switched to macOS a few weeks ago. I am basically looking for an alternative to Linux' /etc/nsswitch.conf. Not for custom DNS resolution, that's an easy problem to solve, but for users / groups / hosts resolution via custom network modules. Basically looking for a way how I can hook up into the OS in kind of the same way as an LDAP client would do, and provide my own NSS modules. Just for reference, I am developing rauthy which can do PAM authn / authz in combination with rauthy-pam-nss. It works perfectly fine on Linux systems, and I now want to make it work on macOS as well. I already know that macOS is running its mDNSResponder for DNS instead of having the nsswitch.conf, but I have not found an answer for users, groups and hosts.
2
0
174
Dec ’25
Reply to iPhone 15 Pro Max Fails to Establish Connection with MT7682 IoT Device’s AP Hotspot (Affecting Network Provisioning)
Based on log analysis, we suspect the root cause is as follows: During the connection authentication phase, the EAPOL packet sent by the MT7682 has a Group Key ID of 0, while the iPhone 15 Pro series does not support a Group Key ID of 0. This causes the encrypted DHCP Offer packet replied by the MT7682 in the subsequent DHCP phase to fail decryption, resulting in the phone never obtaining an IP address. The issue will not be triggered if the AP is unencrypted. However, we would like to know if there is a corresponding setting on the iPhone to enable support for this feature (Group Key ID=0).
Dec ’25
iOS 26.1 | WebKit renders an emoji for the list disclosure-closed icon
As of iOS 26.1, Safari and WebKit views have an issue when rendering the html tag. The disclosure-closed icon / character appears as an emoji arrow ▶️ instead of the unicode character ▸ (U+25B8 - Black Right-Pointing Small Triangle) For example: Summary Additional details.... This wasn't the case in iOS 26.0 / iOS 18. From what I can observe it seems ▶ (U+25B6 - Black Right-Pointing Triangle) may be used in iOS 26.1 which renders as the emoji ▶️ on iOS (at least as far back as iOS 18). The only workaround I found for the moment is to specify explicit CSS to revert back to using the ▸ (U+25B8 - Black Right-Pointing Small Triangle) details > summary { list-style-type: ▸ ; } details[open] > summary { list-style-type: ▾ ; } Is this expected? I've filed a feedback for this FB20997955. Thanks!
1
0
735
Dec ’25
ASC rejects ReplayKit Broadcast Upload appex: RPBroadcastProcessMode “not specified” (key present in IPA & swinfo)
Summary App Store Connect validation (Transporter) is rejecting a build that includes a ReplayKit Broadcast Upload extension. The validator reports that RPBroadcastProcessMode is “not specified”, but the shipped IPA’s Upload appex Info.plist has the key at the documented nested path, and Apple’s own analyser (swinfo) shows the same key/value. Error (Transporter 409) “Invalid Info.plist value. The value for the key 'RPBroadcastProcessMode' in bundle BeamRoomHost.app/PlugIns/BeamRoomUpload2.appex is invalid. RPBroadcastProcessMode value must be 'RPBroadcastProcessModeSampleBuffer' or 'RPBroadcastProcessModeMP4Clip'. The key was not specified.” Example error ID seen: 94ec8b42-ef1b-44e8-9d70-2c76458e1bb3 Environment • Xcode 26.0.1 (17A400) • macOS 15.6 (24G84) • Transporter 1.3.4 (13410) • App Apple ID: 6752822011 • Host bundle: com.conornolan.BeamRoomHost • Upload appex bundle: com.conornolan.BeamRoomHost.BeamRoomUpload2 • Version/Build: 0.9.4 (14) Most recent reproduction: 2025-10-02 ~09:00 GMT+1 Proof
2
0
361
Dec ’25
DEXT (IOUserSCSIParallelInterfaceController): Direct I/O Succeeds, but Buffered I/O Fails with Data Corruption on Large File Copies
Hi all, We are migrating a SCSI HBA driver from KEXT to DriverKit (DEXT), with our DEXT inheriting from IOUserSCSIParallelInterfaceController. We've encountered a data corruption issue that is reliably reproducible under specific conditions and are hoping for some assistance from the community. Hardware and Driver Configuration: Controller: LSI 3108 DEXT Configuration: We are reporting our hardware limitations to the framework via the UserReportHBAConstraints function, with the following key settings: // UserReportHBAConstraints... addConstraint(kIOMaximumSegmentAddressableBitCountKey, 0x20); // 32-bit addConstraint(kIOMaximumSegmentCountWriteKey, 129); addConstraint(kIOMaximumByteCountWriteKey, 0x80000); // 512KB Observed Behavior: Direct I/O vs. Buffered I/O We've observed that the I/O behavior differs drastically depending on whether it goes through the system file cache: 1. Direct I/O (Bypassing System Cache) -> 100% Successful When we use fio with the direct=1 flag, our read/write and data verificatio
13
0
601
Dec ’25
NSBox Basically Not Visible At All on macOS Tahoe in Light Mode?
I noticed that I cannot even tell that an NSBox is being used on macOS Tahoe when the system is in light mode. The 'box' background can't be seen so it makes it appear that the subviews in the box aren't positioned correctly (because they are inset from the subview outside the box). There is no visual indicator that that subviews inside this box are grouped together because well, you can't see the box at all. In Interface Builder the box looks fine at Design Time in Light Mode. In Dark Mode the box looks fine at design time and at run time. Just figured I'd throw that out there.
Topic: UI Frameworks SubTopic: AppKit Tags:
2
0
222
Dec ’25
App stuck in “Waiting for Review” for 40 days across multiple submissions (2.1.5) — expedited review approved but never starts
Hello, I would like to report a situation that appears to be outside the normal App Review process and may indicate a system issue or an unintended internal flag on my app. My app Vocheo (Bundle ID: com.vocheo) has been stuck in “Waiting for Review” for an unusually long period — a total of ~40 days since the first 2.0 submission on October 26. Across multiple submissions, the review has never meaningfully started. Here is a summary of what happened: Timeline Overview • First 2.0 submission: Oct 26 • Most recent submission: Dec 2 (version 2.1.5) • Total time stuck: ~40 days • Longest individual “Waiting for Review” period: 18 days • Another long period: 8 days • All withdrawals were done on the same day and resubmitted immediately — they did not resolve the issue. Only two submissions ever entered “In Review”, and both resulted in very fast, template-style rejections within minutes. After those, every new submission returned to weeks of “Waiting for Review” with no progress. Attempts to Resolve I hav
2
0
178
Dec ’25
Annual in-app subscription upgrade prorated?
As a developer I have a question I would like cleared up. We offer two tiers of annual subscriptions in our apps. These subscriptions are under the same subscription group in App Store connect. My question is, if a user purchases tier 1 of the annual subscription for $10.00, and uses it for 6 months; then chooses to upgrade to tier 2 which costs $20.00 per year. Would the user be pro-rated the difference in price i.e. charge only another $10.00 at the time of the upgrade., or are they charged $20.00 and then refunded the difference in their remaining lower tier subscription? I keep finding inconsistent answers across the Apple community forums on this.
1
0
112
Dec ’25
Reply to Some questions about how to use the Background Assets capability on iOS
I assume that you’re talking about Managed Background Assets, which is the new feature set that we introduced at WWDC25. If you’re talking about the older, unmanaged Background Assets features, then please let me know. Do resources of the update type in the update scenario also get incorporated into the App Store download progress in the same way? Yes, but only when the app is being updated having already been installed previously (assuming that the asset pack’s download policy doesn’t also have firstInstallation in its installationEventTypes array). If an exception occurs during the download of install-type resources and the download cannot proceed further, will the system no longer actively block users from launching the app and instead enable the launch button? That’s correct. Currently, if a user has enabled automatic updates on their device, after the app is updated and released on the App Store, will the Background Assets download start immediately once the automatic update completes? Or does B
Dec ’25
Reply to Age verification implementation in IOS Apps
Please familiarize yourself with the Developer News page. https://developer.apple.com/news/ As of today, Apple has posted two articles about this topic: New requirements for apps available in Texas Next steps for apps distributed in Texas I'd highly encourage watching these WWDC25 videos a few times to catch all the details: Deliver age-appropriate experiences in your app - WWDC25 Enhance child safety with PermissionKit - WWDC25
Dec ’25
KeyChain Sharing with App Extensions
Hi, We are trying to use Apple Security API for KeyChain Services. Using the common App Group : Specifying the common app group in the kSecAttrAccessGroup field of the KeyChain query, allowed us to have a shared keychains for different apps (targets) in the app group, but this did not work for extensions. Enabling the KeyChain Sharing capability : We enabled the KeyChain Sharing Ability in the extensions and the app target as well, giving a common KeyChain Access group. Specifying this in the kSecAttrAccessGroup field also did not work. This was done in XCode as we were unable to locate it in the Developer portal in Indentifiers. We tried specifying $AppIdentifier.KeyChainSharingGroup in the kSecAttrAccessGroup field , but this did not work as well The error code which we get in all these 3 cases when trying to access the Keychain from the extension is error code 25291 (errSecNotAvailable). The Documentation says this error comes when No Trust Results are available and prin
4
0
310
Dec ’25
Reply to KeyChain Sharing with App Extensions
[quote='868260022, Infibrite, /thread/809012?answerId=868260022#868260022, /profile/Infibrite'] our earlier “Network Extension” tag was a mistake. [/quote] And presumably so was the reply you posted about 10 hours before this one |-: Anyway, the behaviour you’ve described doesn’t gel with Network Extension at all, so I’ve re-tagged your thread accordingly. When dealing with keychain sharing, there are two factors in play: Build time Run time I’m gonna focus on the build-time stuff, because a) that’s where you seem to be stuck, and b) I’m not familiar with Matter extensions and there could be run-time restrictions I’m not familiar with. So, regarding your build, you wrote: [quote='868260022, Infibrite, /thread/809012?answerId=868260022#868260022, /profile/Infibrite'] Could you enable Keychain Sharing for these iOS App IDs … ? [/quote] There’s nothing for us to enable here. Every App ID supports keychain sharing [1]. To illustrate this: I using Xcode 26.1 to create a new test project from the iOS > App templ
Dec ’25
App Sandbox denies mach-register for Developer ID signed app but allows it for Apple Distribution signed app
I'm working on a multi-process macOS application (based on Chromium/Electron) that uses Mach ports for inter-process communication between the main app and its helper processes. Background I have an MAS build working successfully via TestFlight for internal testing. However, public TestFlight testing requires Apple review, and while waiting for that review, I wanted to provide a directly distributable build for external testers. I attempted to create a Developer ID signed build with App Sandbox enabled, expecting it to behave similarly to the MAS build. The Problem With App Sandbox enabled (com.apple.security.app-sandbox) and identical entitlements, I observe different behavior depending on the signing certificate: Apple Distribution certificate: App launches successfully, mach-register and mach-lookup work Developer ID certificate: App crashes at launch, mach-register is denied by sandbox The Console shows this sandbox violation for the Developer ID build: Sandbox: MyApp(13605) deny(1) mach-register XXXXXXXX
2
0
297
Dec ’25
Reply to App Sandbox denies mach-register for Developer ID signed app but allows it for Apple Distribution signed app
Thank you, Quinn. Your suggestion about using app group IDs worked. After investigation, I found that adding my Team ID-prefixed app group (XXXXXXXXXX.com.mycompany.myapp) to com.apple.security.application-groups in my entitlements resolves both mach-register and mach-lookup without needing any temporary exceptions. Looking at /System/Library/Sandbox/Profiles/application.sb, I can see why this works: (sandbox-array-entitlement com.apple.security.application-groups (lambda (suite) ... (allow mach-lookup mach-register (global-name-prefix (string-append suite .))) ...)) With XXXXXXXXXX.com.mycompany.myapp as the app group, the sandbox allows any Mach service name starting with XXXXXXXXXX.com.mycompany.myapp., which matches Chromium's naming pattern: XXXXXXXXXX.com.mycompany.myapp.MachPortRendezvousServer.. My Developer ID provisioning profile already included XXXXXXXXXX.* in its application-groups, which authorizes any Team ID-prefixed app group. I j
Topic: App & System Services SubTopic: General Tags:
Dec ’25
Monthly subscriptions immediately fail with "purchase cancelled" while yearly subscriptions work fine
I'm experiencing an issue where monthly and family monthly subscriptions fail immediately with purchase cancelled in TestFlight, while yearly and family yearly subscriptions work correctly. Setup: All 4 products in same subscription group All show Ready to Submit status Using react-native-iap with StoreKit 2 Testing in TestFlight sandbox The Problem: Yearly subscriptions work fine Monthly subscriptions fail immediately with E_USER_CANCELLED (no dialog appears, user didn't cancel) What I've verified: No active subscriptions (getAvailablePurchases() returns empty) No pending transactions Same subscription group for all products Product IDs match App Store Connect Code is identical for all products Error: E_USER_CANCELLED fires immediately when calling requestPurchase() for monthly products, but yearly products proceed normally. Questions: Why would monthly fail while yearly works (same group, same config)? Could this be sandbox state corruption for monthly products? Should I delete/re
Replies
1
Boosts
0
Views
122
Activity
Dec ’25
Custom libnss module development - alternative to /etc/nsswitch.conf
I am an open source developer, who just switched to macOS a few weeks ago. I am basically looking for an alternative to Linux' /etc/nsswitch.conf. Not for custom DNS resolution, that's an easy problem to solve, but for users / groups / hosts resolution via custom network modules. Basically looking for a way how I can hook up into the OS in kind of the same way as an LDAP client would do, and provide my own NSS modules. Just for reference, I am developing rauthy which can do PAM authn / authz in combination with rauthy-pam-nss. It works perfectly fine on Linux systems, and I now want to make it work on macOS as well. I already know that macOS is running its mDNSResponder for DNS instead of having the nsswitch.conf, but I have not found an answer for users, groups and hosts.
Replies
2
Boosts
0
Views
174
Activity
Dec ’25
Reply to iPhone 15 Pro Max Fails to Establish Connection with MT7682 IoT Device’s AP Hotspot (Affecting Network Provisioning)
Based on log analysis, we suspect the root cause is as follows: During the connection authentication phase, the EAPOL packet sent by the MT7682 has a Group Key ID of 0, while the iPhone 15 Pro series does not support a Group Key ID of 0. This causes the encrypted DHCP Offer packet replied by the MT7682 in the subsequent DHCP phase to fail decryption, resulting in the phone never obtaining an IP address. The issue will not be triggered if the AP is unencrypted. However, we would like to know if there is a corresponding setting on the iPhone to enable support for this feature (Group Key ID=0).
Replies
Boosts
Views
Activity
Dec ’25
iOS 26.1 | WebKit renders an emoji for the list disclosure-closed icon
As of iOS 26.1, Safari and WebKit views have an issue when rendering the html tag. The disclosure-closed icon / character appears as an emoji arrow ▶️ instead of the unicode character ▸ (U+25B8 - Black Right-Pointing Small Triangle) For example: Summary Additional details.... This wasn't the case in iOS 26.0 / iOS 18. From what I can observe it seems ▶ (U+25B6 - Black Right-Pointing Triangle) may be used in iOS 26.1 which renders as the emoji ▶️ on iOS (at least as far back as iOS 18). The only workaround I found for the moment is to specify explicit CSS to revert back to using the ▸ (U+25B8 - Black Right-Pointing Small Triangle) details > summary { list-style-type: ▸ ; } details[open] > summary { list-style-type: ▾ ; } Is this expected? I've filed a feedback for this FB20997955. Thanks!
Replies
1
Boosts
0
Views
735
Activity
Dec ’25
ASC rejects ReplayKit Broadcast Upload appex: RPBroadcastProcessMode “not specified” (key present in IPA & swinfo)
Summary App Store Connect validation (Transporter) is rejecting a build that includes a ReplayKit Broadcast Upload extension. The validator reports that RPBroadcastProcessMode is “not specified”, but the shipped IPA’s Upload appex Info.plist has the key at the documented nested path, and Apple’s own analyser (swinfo) shows the same key/value. Error (Transporter 409) “Invalid Info.plist value. The value for the key 'RPBroadcastProcessMode' in bundle BeamRoomHost.app/PlugIns/BeamRoomUpload2.appex is invalid. RPBroadcastProcessMode value must be 'RPBroadcastProcessModeSampleBuffer' or 'RPBroadcastProcessModeMP4Clip'. The key was not specified.” Example error ID seen: 94ec8b42-ef1b-44e8-9d70-2c76458e1bb3 Environment • Xcode 26.0.1 (17A400) • macOS 15.6 (24G84) • Transporter 1.3.4 (13410) • App Apple ID: 6752822011 • Host bundle: com.conornolan.BeamRoomHost • Upload appex bundle: com.conornolan.BeamRoomHost.BeamRoomUpload2 • Version/Build: 0.9.4 (14) Most recent reproduction: 2025-10-02 ~09:00 GMT+1 Proof
Replies
2
Boosts
0
Views
361
Activity
Dec ’25
DEXT (IOUserSCSIParallelInterfaceController): Direct I/O Succeeds, but Buffered I/O Fails with Data Corruption on Large File Copies
Hi all, We are migrating a SCSI HBA driver from KEXT to DriverKit (DEXT), with our DEXT inheriting from IOUserSCSIParallelInterfaceController. We've encountered a data corruption issue that is reliably reproducible under specific conditions and are hoping for some assistance from the community. Hardware and Driver Configuration: Controller: LSI 3108 DEXT Configuration: We are reporting our hardware limitations to the framework via the UserReportHBAConstraints function, with the following key settings: // UserReportHBAConstraints... addConstraint(kIOMaximumSegmentAddressableBitCountKey, 0x20); // 32-bit addConstraint(kIOMaximumSegmentCountWriteKey, 129); addConstraint(kIOMaximumByteCountWriteKey, 0x80000); // 512KB Observed Behavior: Direct I/O vs. Buffered I/O We've observed that the I/O behavior differs drastically depending on whether it goes through the system file cache: 1. Direct I/O (Bypassing System Cache) -> 100% Successful When we use fio with the direct=1 flag, our read/write and data verificatio
Replies
13
Boosts
0
Views
601
Activity
Dec ’25
NSBox Basically Not Visible At All on macOS Tahoe in Light Mode?
I noticed that I cannot even tell that an NSBox is being used on macOS Tahoe when the system is in light mode. The 'box' background can't be seen so it makes it appear that the subviews in the box aren't positioned correctly (because they are inset from the subview outside the box). There is no visual indicator that that subviews inside this box are grouped together because well, you can't see the box at all. In Interface Builder the box looks fine at Design Time in Light Mode. In Dark Mode the box looks fine at design time and at run time. Just figured I'd throw that out there.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
2
Boosts
0
Views
222
Activity
Dec ’25
App stuck in “Waiting for Review” for 40 days across multiple submissions (2.1.5) — expedited review approved but never starts
Hello, I would like to report a situation that appears to be outside the normal App Review process and may indicate a system issue or an unintended internal flag on my app. My app Vocheo (Bundle ID: com.vocheo) has been stuck in “Waiting for Review” for an unusually long period — a total of ~40 days since the first 2.0 submission on October 26. Across multiple submissions, the review has never meaningfully started. Here is a summary of what happened: Timeline Overview • First 2.0 submission: Oct 26 • Most recent submission: Dec 2 (version 2.1.5) • Total time stuck: ~40 days • Longest individual “Waiting for Review” period: 18 days • Another long period: 8 days • All withdrawals were done on the same day and resubmitted immediately — they did not resolve the issue. Only two submissions ever entered “In Review”, and both resulted in very fast, template-style rejections within minutes. After those, every new submission returned to weeks of “Waiting for Review” with no progress. Attempts to Resolve I hav
Replies
2
Boosts
0
Views
178
Activity
Dec ’25
Annual in-app subscription upgrade prorated?
As a developer I have a question I would like cleared up. We offer two tiers of annual subscriptions in our apps. These subscriptions are under the same subscription group in App Store connect. My question is, if a user purchases tier 1 of the annual subscription for $10.00, and uses it for 6 months; then chooses to upgrade to tier 2 which costs $20.00 per year. Would the user be pro-rated the difference in price i.e. charge only another $10.00 at the time of the upgrade., or are they charged $20.00 and then refunded the difference in their remaining lower tier subscription? I keep finding inconsistent answers across the Apple community forums on this.
Replies
1
Boosts
0
Views
112
Activity
Dec ’25
Reply to Some questions about how to use the Background Assets capability on iOS
I assume that you’re talking about Managed Background Assets, which is the new feature set that we introduced at WWDC25. If you’re talking about the older, unmanaged Background Assets features, then please let me know. Do resources of the update type in the update scenario also get incorporated into the App Store download progress in the same way? Yes, but only when the app is being updated having already been installed previously (assuming that the asset pack’s download policy doesn’t also have firstInstallation in its installationEventTypes array). If an exception occurs during the download of install-type resources and the download cannot proceed further, will the system no longer actively block users from launching the app and instead enable the launch button? That’s correct. Currently, if a user has enabled automatic updates on their device, after the app is updated and released on the App Store, will the Background Assets download start immediately once the automatic update completes? Or does B
Replies
Boosts
Views
Activity
Dec ’25
Reply to Age verification implementation in IOS Apps
Please familiarize yourself with the Developer News page. https://developer.apple.com/news/ As of today, Apple has posted two articles about this topic: New requirements for apps available in Texas Next steps for apps distributed in Texas I'd highly encourage watching these WWDC25 videos a few times to catch all the details: Deliver age-appropriate experiences in your app - WWDC25 Enhance child safety with PermissionKit - WWDC25
Replies
Boosts
Views
Activity
Dec ’25
KeyChain Sharing with App Extensions
Hi, We are trying to use Apple Security API for KeyChain Services. Using the common App Group : Specifying the common app group in the kSecAttrAccessGroup field of the KeyChain query, allowed us to have a shared keychains for different apps (targets) in the app group, but this did not work for extensions. Enabling the KeyChain Sharing capability : We enabled the KeyChain Sharing Ability in the extensions and the app target as well, giving a common KeyChain Access group. Specifying this in the kSecAttrAccessGroup field also did not work. This was done in XCode as we were unable to locate it in the Developer portal in Indentifiers. We tried specifying $AppIdentifier.KeyChainSharingGroup in the kSecAttrAccessGroup field , but this did not work as well The error code which we get in all these 3 cases when trying to access the Keychain from the extension is error code 25291 (errSecNotAvailable). The Documentation says this error comes when No Trust Results are available and prin
Replies
4
Boosts
0
Views
310
Activity
Dec ’25
Reply to KeyChain Sharing with App Extensions
[quote='868260022, Infibrite, /thread/809012?answerId=868260022#868260022, /profile/Infibrite'] our earlier “Network Extension” tag was a mistake. [/quote] And presumably so was the reply you posted about 10 hours before this one |-: Anyway, the behaviour you’ve described doesn’t gel with Network Extension at all, so I’ve re-tagged your thread accordingly. When dealing with keychain sharing, there are two factors in play: Build time Run time I’m gonna focus on the build-time stuff, because a) that’s where you seem to be stuck, and b) I’m not familiar with Matter extensions and there could be run-time restrictions I’m not familiar with. So, regarding your build, you wrote: [quote='868260022, Infibrite, /thread/809012?answerId=868260022#868260022, /profile/Infibrite'] Could you enable Keychain Sharing for these iOS App IDs … ? [/quote] There’s nothing for us to enable here. Every App ID supports keychain sharing [1]. To illustrate this: I using Xcode 26.1 to create a new test project from the iOS > App templ
Replies
Boosts
Views
Activity
Dec ’25
App Sandbox denies mach-register for Developer ID signed app but allows it for Apple Distribution signed app
I'm working on a multi-process macOS application (based on Chromium/Electron) that uses Mach ports for inter-process communication between the main app and its helper processes. Background I have an MAS build working successfully via TestFlight for internal testing. However, public TestFlight testing requires Apple review, and while waiting for that review, I wanted to provide a directly distributable build for external testers. I attempted to create a Developer ID signed build with App Sandbox enabled, expecting it to behave similarly to the MAS build. The Problem With App Sandbox enabled (com.apple.security.app-sandbox) and identical entitlements, I observe different behavior depending on the signing certificate: Apple Distribution certificate: App launches successfully, mach-register and mach-lookup work Developer ID certificate: App crashes at launch, mach-register is denied by sandbox The Console shows this sandbox violation for the Developer ID build: Sandbox: MyApp(13605) deny(1) mach-register XXXXXXXX
Replies
2
Boosts
0
Views
297
Activity
Dec ’25
Reply to App Sandbox denies mach-register for Developer ID signed app but allows it for Apple Distribution signed app
Thank you, Quinn. Your suggestion about using app group IDs worked. After investigation, I found that adding my Team ID-prefixed app group (XXXXXXXXXX.com.mycompany.myapp) to com.apple.security.application-groups in my entitlements resolves both mach-register and mach-lookup without needing any temporary exceptions. Looking at /System/Library/Sandbox/Profiles/application.sb, I can see why this works: (sandbox-array-entitlement com.apple.security.application-groups (lambda (suite) ... (allow mach-lookup mach-register (global-name-prefix (string-append suite .))) ...)) With XXXXXXXXXX.com.mycompany.myapp as the app group, the sandbox allows any Mach service name starting with XXXXXXXXXX.com.mycompany.myapp., which matches Chromium's naming pattern: XXXXXXXXXX.com.mycompany.myapp.MachPortRendezvousServer.. My Developer ID provisioning profile already included XXXXXXXXXX.* in its application-groups, which authorizes any Team ID-prefixed app group. I j
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25