Search results for

“A Summary of the WWDC25 Group Lab”

10,645 results found

Post

Replies

Boosts

Views

Activity

App Groups container data on Apple Dev account transfer
I have an iOS app with App Groups. The app uses the CallKit extension for call block functionality. All data is stored in UserDefaults(suiteName:) and FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: ). I am planning to transfer this app to a different Apple Developer account and would like to clarify how App Groups behave after the transfer: Will my main app Target and CallKit Extensions keep access to the same AppGroups containers with the new Team ID? I will recreate the same AppGroups container identifiers on a new account but my concern is about Team ID change, that can lead to loss access to original containers and all data from previous Team ID. I need to clearly understand whether the app can continue accessing the existing App Group container after the Team ID changes, or if I must manually back up data before transfer and restore all data after transfer completed. As long as the App Group still exists on the original developer account and th
3
0
282
Feb ’26
Reply to App Groups container data on Apple Dev account transfer
vasultm, It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits. As to the main issue, I haven’t yet driven it to a conclusion but, for the moment, my historical advice stands: There’s no supported way to transfer app group IDs between teams. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Feb ’26
Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
I’m building a macOS app with a DNS Proxy system extension for Developer ID + notarization, deployed via MDM, and Xcode fails the Developer ID Release build with a provisioning profile mismatch for com.apple.developer.networking.networkextension. Environment macOS: Sequoia (15.7.2) Xcode: 26.2 Distribution: Developer ID + notarization, deployed via MDM Host bundle ID: com.mydns.agent.MyDNSMacProxy DNS Proxy system extension bundle ID: com.mydns.agent.MyDNSMacProxy.dnsProxy Host entitlements (Release): File: MyDNSMacProxy/MyDNSMacProxyRelease.entitlements: http://www.apple.com/DTDs/PropertyList-1.0.dtd> com.apple.application-identifier B234657989.com.mydns.agent.MyDNSMacProxy com.apple.developer.networking.networkextension dns-proxy com.apple.developer.system-extension.install com.apple.developer.team-identifier B234657989 com.apple.security.app-sandbox com.apple.security.application-groups group.com.mydns.MyDNSmac keychain-access-groups B234657989.* xcodebuild -showBuildSettin
4
0
198
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
Update (MDM‑managed macOS 14.4 device): After some additional testing with our third‑party MDM, the Custom macOS app now does get installed via MDM (the notarized Developer ID PKG is assigned to a group with Install Method = MDM and Auto Deploy, and /Applications/MyProxy.app appears on the target Mac with the expected bundle id and version). However, on that MDM‑managed macOS 14.4 (Apple Silicon) device the app still cannot be launched. Finder shows a generic “MyProxy can’t be opened” error, and the process is killed immediately on launch. The key detail from the system log is that the decision is coming from the ConfigurationProfiles / MDM side rather than from Gatekeeper: taskgated-helper[…]: (ConfigurationProfiles) [com.apple.ManagedClient:ProvisioningProfiles] Disallowing com.myapp.agent.MyProxy because no eligible provisioning profiles found At the same time: spctl --assess -vvv -t exec /Applications/MyProxy.app reports source=Notarized Developer ID. codesign -dvv confirms the app is signed with
Feb ’26
Safely updating an FSKit module via the Mac App Store
I'm trying to test the update process for an app containing an FSKit module that I'm distributing on the Mac App Store. (I'm also distributing the same app directly with Developer ID, but here I'll focus on App Store because that's the behavior I've been looking at first.) To do that I'm using an internal tester group on TestFlight and then testing an update with TestFlight. Below is the behavior I'm seeing on macOS 15.7.2 (24G325). I've noticed that if an app update is triggered while a disk is mounted using the FSKit extension, the disk is automatically unmounted without warning (FB21287341). That's already undesirable itself in my opinion, but on top of the unmount, there are two other problems: That unmount doesn't seem to be a clean unmount and doesn't call functions like synchronize (FB21287688). Now, in my case, my app only provides read-only access, so that doesn't actually matter much in my case. However, I'd imagine if I were to add write access at some point in the future, this would go fr
4
0
374
Feb ’26
App distribution Options
Hello, Apple rejected our app release because it seems to target a specific organization or closed user group, while we selected public distribution in App Store Connect. Our app is accessible to customers who subscribe to our services, similar to many other apps in the same category that are publicly distributed. Users are required to log in with their registered accounts to access the app. what can the solution in this case. I would appreciate your input on this.
1
0
67
Feb ’26
Continuous "Tag mismatch" (AES-GCM) decrypting Apple Pay Web token - Suspected KDF / PartyV environment issue
I'm implementing payment processing with Apple Pay on the web, but I've been stuck right at the final step of the flow: decrypting the payment data sent by Apple. Here is a summary of my implementation: The backend language is Java. The frontend portal requests the session and performs the payment using the endpoints exposed by the backend. I created .p12 files from the .cer files returned by the Apple Developer portal for both certificates (Merchant Identity and Payment Processing) and I'm using them in my backend. The merchant validation works perfectly; the user is able to request a session and proceed to the payment sheet. However, when the frontend sends the encrypted token back to my sale endpoint, the problem begins. My code consistently fails when trying to decrypt the data (inside the paymentData node) throwing a javax.crypto.AEADBadTagException: Tag mismatch! I can confirm that the certificate used by Apple to encrypt the payment data is the correct one. The hash received from the PKPayment
1
0
164
Feb ’26
Reply to No Universal for Map App project with Tahoe
Thanks for your post. This is very interesting but I also think we have released many news about why Xcode does not say universal on the template even though they are all universal depending on your target. This thread should be utilized by other developers to provide links to Apple News and videos that explain the path forward. I extend an invitation to anyone who possesses resources and links. I know is confusing if the Xcode template does not say universal, but is all about the target and I would prefer you think about the target after you create the app, so this is still relevant: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary There is an announcement in this WWDC video about the platforms we are supporting I would recommend you to watch as will answer many questions. Platforms State of the Union - WWDC25 - VideosApple Developerhttps://developer.apple.com · Jun 9, 2025 https://developer.apple.com/videos/play/wwdc2025/102/ The steps outlined below are sta
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
As a follow‑up for anyone hitting the same issue: Per Quinn’s advice, I switched to manual signing outside Xcode and followed the “Exporting a Developer ID Network Extension” guidance. The code signing / notarization side now looks correct and works locally: Host app and DNS Proxy system extension are both signed with Developer ID Application for our team (for example, TEAMID1234). com.apple.developer.networking.networkextension in both host and system extension entitlements uses `dns-proxy-systemextension. The app bundle identifier is com.myapp.agent.MyProxy. The installer pkg is signed with Developer ID Installer: MyApp Inc (TEAMID1234), notarized with notarytool (status: Accepted), stapled, and passes `pkgutil --check-signature. On the test Mac (macOS 14.4, Apple Silicon), sudo installer -pkg MyProxy_…pkg -target / succeeds, the app appears in/Applications, and spctl --assess -vvv -t exec reportssource=Notarized Developer ID`. The app launches and the DNS Proxy system extension runs (any remaining issues a
Feb ’26
Reply to Issue with XPC communication between Network Extension and host application
[quote='816702021, Pavel, /thread/816702, /profile/Pavel'] I need to develop a … Transparent Proxy … that sends data to the host application for analysis. [/quote] You mean the container app, right? [1] If so, this architecture is a concern. A transparent proxy operates system wide, so: There may be 0, 1, or more active GUI login sessions. Each active GUI login session can be running an instance of your container app. So if multiple users are logged in and they each run a copy of your container app, what are you expecting to happen? This architecture also informs your XPC architecture. A NE sysex, which operates much like a launchd daemon, can’t connect to a named XPC endpoint advertised by an app because the system wouldn’t know which app to connect to [2]. Given the above, the only architecture that works is for your sysex to advertise the named XPC endpoint and for your apps to connect to it. And that’s exactly what’s demonstrated by the Filtering Network Traffic sample code. There are a couple of things t
Topic: App & System Services SubTopic: Core OS Tags:
Feb ’26
Reply to Postgres in Sandboxed App
[quote='816782021, alexfromapex, /thread/816782, /profile/alexfromapex'] Has anyone gotten Postgres to run in a sandboxed app? [/quote] Not personally, but I can shed some light on the App Sandbox side of this. System V IPC is a compatibility API an macOS. We recommend against using it in new code. Given that, it shouldn’t come as a big surprise that it doesn’t have a good story regarding the App Sandbox. The alternative, Posix IPC, works in the App Sandbox as long as you conform to the naming guidelines described in App Groups Entitlement [1]. So, to make this work you’ll need to: Sign your executables to claim access to an app group. Configure the library to use Posix IPC. With a name that’s authorised by that app group. I don’t have any expertise with this specific third-party library, so I’ve no insight into the last two. I’m happy to help with the first. I have lots of background on that in App Groups: macOS vs iOS: Working Towards Harmony. Share and Enjoy — Quinn “The
Topic: Community SubTopic: Apple Developers Tags:
Feb ’26
CoreText crash on iOS 26.0 Simulator (Xcode 26.2) when rendering string with zero-width non-joiner and combining marks
Environment: Xcode 26.2 Simulator: 26.0 / iPhone 17 Summary: Assigning a specific Unicode string to a UILabel (or any UITextView / text component backed by CoreText) causes an immediate crash. The string contains a visible base character followed by a zero-width non-joiner and two combining marks. let label = UILabel() label.text = u{274D}u{200C}u{1CD7}u{20DB} // ^ Crash in CoreText during text layout Crash stack trace: The crash occurs inside CoreText's glyph layout/shaping pipeline. The combining marks U+1CD7 and U+20DB appear to stack on the ZWNJ (which has no visible glyph), causing CoreText to fail during run shaping or bounding box calculation. Questions: Is this a known CoreText regression in the iOS 26.0 simulator? Is there a recommended fix or a more targeted workaround beyond stripping zero-width Unicode characters? Will this be addressed in an upcoming update
Topic: UI Frameworks SubTopic: General
3
0
151
Feb ’26
Advanced App Clip Main App approved but Appclip Experience Stuck in “Received” State (No Publish Option)
I am requesting assistance with an issue involving my Advanced App Clip Experience, which has remained in the “Received” state for more than few months, preventing the App Clip from becoming available when invoked via QR code. App Details App Name: Yellow Label Verification App Store Bundle ID: com.acviss.demoindia App Clip Bundle ID: com.acviss.demoindia.Clip Team ID: F2RLQ4VV59 App Version (Live): 1.4 Domain: acviss.com Issue Summary My Advanced App Clip Experience is stuck in the “Received” status. The “Publish” and “Build Assignment” options never appear, even though: The updated AASA file is correctly published at: https://acviss.com/.well-known/apple-app-site-association It contains the correct appclips → appID and paths entries It is served with the correct application/json content type Domain validation in App Store Connect shows Validated The App Clip build is already approved and live on the App Store Safari-based App Clip invocation works as expected Despite this, the Advanced App Clip Exp
6
0
249
Feb ’26
macOS VPN apps outside of the App Store
Apple is encouraging VPN apps on macOS to transition to Network Extension APIs, if they haven't done so yet, see: TN3165: Packet Filter is not API WWDC25: Filter and tunnel network traffic with NetworkExtension Using Network Extension is fine for VPN apps that are distributed via the Mac App Store. Users get one pop-up requesting permission to add VPN configurations and that's it. However, VPN apps that are distributed outside of the App Store (using Developer ID) cannot use Network Extension in the same way, such apps need to install a System Extension first (see TN3134: Network Extension provider deployment). Installing a System Extension is a very poor user experience. There is a pop-up informing about a system extension, which the user has to manually enable. The main button is OK, which only dismisses the pop-up and in such case there is little chance that the user will be able to find the correct place to enable the extension. The other button in that pop-up navigates to the correct screen in S
6
0
436
Feb ’26
Subscription was rejected more as 3 times
I have created an app with one subscription for one year. The subscriptions was rejected for more as 3 time. But I don't know, what I must do. No description or no email from apple. Only I can see developer action is needed. I have changed the name of the subscription group, I have changed the localization. but also it was rejected. I have resubmitted an app version with text, that the subscription to checked. but the app was distributed only the subscription. the text was ignored. now the state for the group localization is in waiting for review. but, the subscription under the subscription group is approved. what can I do?
1
0
389
Feb ’26
App Groups container data on Apple Dev account transfer
I have an iOS app with App Groups. The app uses the CallKit extension for call block functionality. All data is stored in UserDefaults(suiteName:) and FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: ). I am planning to transfer this app to a different Apple Developer account and would like to clarify how App Groups behave after the transfer: Will my main app Target and CallKit Extensions keep access to the same AppGroups containers with the new Team ID? I will recreate the same AppGroups container identifiers on a new account but my concern is about Team ID change, that can lead to loss access to original containers and all data from previous Team ID. I need to clearly understand whether the app can continue accessing the existing App Group container after the Team ID changes, or if I must manually back up data before transfer and restore all data after transfer completed. As long as the App Group still exists on the original developer account and th
Replies
3
Boosts
0
Views
282
Activity
Feb ’26
Reply to App Groups container data on Apple Dev account transfer
vasultm, It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits. As to the main issue, I haven’t yet driven it to a conclusion but, for the moment, my historical advice stands: There’s no supported way to transfer app group IDs between teams. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
Feb ’26
Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
I’m building a macOS app with a DNS Proxy system extension for Developer ID + notarization, deployed via MDM, and Xcode fails the Developer ID Release build with a provisioning profile mismatch for com.apple.developer.networking.networkextension. Environment macOS: Sequoia (15.7.2) Xcode: 26.2 Distribution: Developer ID + notarization, deployed via MDM Host bundle ID: com.mydns.agent.MyDNSMacProxy DNS Proxy system extension bundle ID: com.mydns.agent.MyDNSMacProxy.dnsProxy Host entitlements (Release): File: MyDNSMacProxy/MyDNSMacProxyRelease.entitlements: http://www.apple.com/DTDs/PropertyList-1.0.dtd> com.apple.application-identifier B234657989.com.mydns.agent.MyDNSMacProxy com.apple.developer.networking.networkextension dns-proxy com.apple.developer.system-extension.install com.apple.developer.team-identifier B234657989 com.apple.security.app-sandbox com.apple.security.application-groups group.com.mydns.MyDNSmac keychain-access-groups B234657989.* xcodebuild -showBuildSettin
Replies
4
Boosts
0
Views
198
Activity
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
Update (MDM‑managed macOS 14.4 device): After some additional testing with our third‑party MDM, the Custom macOS app now does get installed via MDM (the notarized Developer ID PKG is assigned to a group with Install Method = MDM and Auto Deploy, and /Applications/MyProxy.app appears on the target Mac with the expected bundle id and version). However, on that MDM‑managed macOS 14.4 (Apple Silicon) device the app still cannot be launched. Finder shows a generic “MyProxy can’t be opened” error, and the process is killed immediately on launch. The key detail from the system log is that the decision is coming from the ConfigurationProfiles / MDM side rather than from Gatekeeper: taskgated-helper[…]: (ConfigurationProfiles) [com.apple.ManagedClient:ProvisioningProfiles] Disallowing com.myapp.agent.MyProxy because no eligible provisioning profiles found At the same time: spctl --assess -vvv -t exec /Applications/MyProxy.app reports source=Notarized Developer ID. codesign -dvv confirms the app is signed with
Replies
Boosts
Views
Activity
Feb ’26
Safely updating an FSKit module via the Mac App Store
I'm trying to test the update process for an app containing an FSKit module that I'm distributing on the Mac App Store. (I'm also distributing the same app directly with Developer ID, but here I'll focus on App Store because that's the behavior I've been looking at first.) To do that I'm using an internal tester group on TestFlight and then testing an update with TestFlight. Below is the behavior I'm seeing on macOS 15.7.2 (24G325). I've noticed that if an app update is triggered while a disk is mounted using the FSKit extension, the disk is automatically unmounted without warning (FB21287341). That's already undesirable itself in my opinion, but on top of the unmount, there are two other problems: That unmount doesn't seem to be a clean unmount and doesn't call functions like synchronize (FB21287688). Now, in my case, my app only provides read-only access, so that doesn't actually matter much in my case. However, I'd imagine if I were to add write access at some point in the future, this would go fr
Replies
4
Boosts
0
Views
374
Activity
Feb ’26
App distribution Options
Hello, Apple rejected our app release because it seems to target a specific organization or closed user group, while we selected public distribution in App Store Connect. Our app is accessible to customers who subscribe to our services, similar to many other apps in the same category that are publicly distributed. Users are required to log in with their registered accounts to access the app. what can the solution in this case. I would appreciate your input on this.
Replies
1
Boosts
0
Views
67
Activity
Feb ’26
Continuous "Tag mismatch" (AES-GCM) decrypting Apple Pay Web token - Suspected KDF / PartyV environment issue
I'm implementing payment processing with Apple Pay on the web, but I've been stuck right at the final step of the flow: decrypting the payment data sent by Apple. Here is a summary of my implementation: The backend language is Java. The frontend portal requests the session and performs the payment using the endpoints exposed by the backend. I created .p12 files from the .cer files returned by the Apple Developer portal for both certificates (Merchant Identity and Payment Processing) and I'm using them in my backend. The merchant validation works perfectly; the user is able to request a session and proceed to the payment sheet. However, when the frontend sends the encrypted token back to my sale endpoint, the problem begins. My code consistently fails when trying to decrypt the data (inside the paymentData node) throwing a javax.crypto.AEADBadTagException: Tag mismatch! I can confirm that the certificate used by Apple to encrypt the payment data is the correct one. The hash received from the PKPayment
Replies
1
Boosts
0
Views
164
Activity
Feb ’26
Reply to No Universal for Map App project with Tahoe
Thanks for your post. This is very interesting but I also think we have released many news about why Xcode does not say universal on the template even though they are all universal depending on your target. This thread should be utilized by other developers to provide links to Apple News and videos that explain the path forward. I extend an invitation to anyone who possesses resources and links. I know is confusing if the Xcode template does not say universal, but is all about the target and I would prefer you think about the target after you create the app, so this is still relevant: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary There is an announcement in this WWDC video about the platforms we are supporting I would recommend you to watch as will answer many questions. Platforms State of the Union - WWDC25 - VideosApple Developerhttps://developer.apple.com · Jun 9, 2025 https://developer.apple.com/videos/play/wwdc2025/102/ The steps outlined below are sta
Replies
Boosts
Views
Activity
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
As a follow‑up for anyone hitting the same issue: Per Quinn’s advice, I switched to manual signing outside Xcode and followed the “Exporting a Developer ID Network Extension” guidance. The code signing / notarization side now looks correct and works locally: Host app and DNS Proxy system extension are both signed with Developer ID Application for our team (for example, TEAMID1234). com.apple.developer.networking.networkextension in both host and system extension entitlements uses `dns-proxy-systemextension. The app bundle identifier is com.myapp.agent.MyProxy. The installer pkg is signed with Developer ID Installer: MyApp Inc (TEAMID1234), notarized with notarytool (status: Accepted), stapled, and passes `pkgutil --check-signature. On the test Mac (macOS 14.4, Apple Silicon), sudo installer -pkg MyProxy_…pkg -target / succeeds, the app appears in/Applications, and spctl --assess -vvv -t exec reportssource=Notarized Developer ID`. The app launches and the DNS Proxy system extension runs (any remaining issues a
Replies
Boosts
Views
Activity
Feb ’26
Reply to Issue with XPC communication between Network Extension and host application
[quote='816702021, Pavel, /thread/816702, /profile/Pavel'] I need to develop a … Transparent Proxy … that sends data to the host application for analysis. [/quote] You mean the container app, right? [1] If so, this architecture is a concern. A transparent proxy operates system wide, so: There may be 0, 1, or more active GUI login sessions. Each active GUI login session can be running an instance of your container app. So if multiple users are logged in and they each run a copy of your container app, what are you expecting to happen? This architecture also informs your XPC architecture. A NE sysex, which operates much like a launchd daemon, can’t connect to a named XPC endpoint advertised by an app because the system wouldn’t know which app to connect to [2]. Given the above, the only architecture that works is for your sysex to advertise the named XPC endpoint and for your apps to connect to it. And that’s exactly what’s demonstrated by the Filtering Network Traffic sample code. There are a couple of things t
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Postgres in Sandboxed App
[quote='816782021, alexfromapex, /thread/816782, /profile/alexfromapex'] Has anyone gotten Postgres to run in a sandboxed app? [/quote] Not personally, but I can shed some light on the App Sandbox side of this. System V IPC is a compatibility API an macOS. We recommend against using it in new code. Given that, it shouldn’t come as a big surprise that it doesn’t have a good story regarding the App Sandbox. The alternative, Posix IPC, works in the App Sandbox as long as you conform to the naming guidelines described in App Groups Entitlement [1]. So, to make this work you’ll need to: Sign your executables to claim access to an app group. Configure the library to use Posix IPC. With a name that’s authorised by that app group. I don’t have any expertise with this specific third-party library, so I’ve no insight into the last two. I’m happy to help with the first. I have lots of background on that in App Groups: macOS vs iOS: Working Towards Harmony. Share and Enjoy — Quinn “The
Topic: Community SubTopic: Apple Developers Tags:
Replies
Boosts
Views
Activity
Feb ’26
CoreText crash on iOS 26.0 Simulator (Xcode 26.2) when rendering string with zero-width non-joiner and combining marks
Environment: Xcode 26.2 Simulator: 26.0 / iPhone 17 Summary: Assigning a specific Unicode string to a UILabel (or any UITextView / text component backed by CoreText) causes an immediate crash. The string contains a visible base character followed by a zero-width non-joiner and two combining marks. let label = UILabel() label.text = u{274D}u{200C}u{1CD7}u{20DB} // ^ Crash in CoreText during text layout Crash stack trace: The crash occurs inside CoreText's glyph layout/shaping pipeline. The combining marks U+1CD7 and U+20DB appear to stack on the ZWNJ (which has no visible glyph), causing CoreText to fail during run shaping or bounding box calculation. Questions: Is this a known CoreText regression in the iOS 26.0 simulator? Is there a recommended fix or a more targeted workaround beyond stripping zero-width Unicode characters? Will this be addressed in an upcoming update
Topic: UI Frameworks SubTopic: General
Replies
3
Boosts
0
Views
151
Activity
Feb ’26
Advanced App Clip Main App approved but Appclip Experience Stuck in “Received” State (No Publish Option)
I am requesting assistance with an issue involving my Advanced App Clip Experience, which has remained in the “Received” state for more than few months, preventing the App Clip from becoming available when invoked via QR code. App Details App Name: Yellow Label Verification App Store Bundle ID: com.acviss.demoindia App Clip Bundle ID: com.acviss.demoindia.Clip Team ID: F2RLQ4VV59 App Version (Live): 1.4 Domain: acviss.com Issue Summary My Advanced App Clip Experience is stuck in the “Received” status. The “Publish” and “Build Assignment” options never appear, even though: The updated AASA file is correctly published at: https://acviss.com/.well-known/apple-app-site-association It contains the correct appclips → appID and paths entries It is served with the correct application/json content type Domain validation in App Store Connect shows Validated The App Clip build is already approved and live on the App Store Safari-based App Clip invocation works as expected Despite this, the Advanced App Clip Exp
Replies
6
Boosts
0
Views
249
Activity
Feb ’26
macOS VPN apps outside of the App Store
Apple is encouraging VPN apps on macOS to transition to Network Extension APIs, if they haven't done so yet, see: TN3165: Packet Filter is not API WWDC25: Filter and tunnel network traffic with NetworkExtension Using Network Extension is fine for VPN apps that are distributed via the Mac App Store. Users get one pop-up requesting permission to add VPN configurations and that's it. However, VPN apps that are distributed outside of the App Store (using Developer ID) cannot use Network Extension in the same way, such apps need to install a System Extension first (see TN3134: Network Extension provider deployment). Installing a System Extension is a very poor user experience. There is a pop-up informing about a system extension, which the user has to manually enable. The main button is OK, which only dismisses the pop-up and in such case there is little chance that the user will be able to find the correct place to enable the extension. The other button in that pop-up navigates to the correct screen in S
Replies
6
Boosts
0
Views
436
Activity
Feb ’26
Subscription was rejected more as 3 times
I have created an app with one subscription for one year. The subscriptions was rejected for more as 3 time. But I don't know, what I must do. No description or no email from apple. Only I can see developer action is needed. I have changed the name of the subscription group, I have changed the localization. but also it was rejected. I have resubmitted an app version with text, that the subscription to checked. but the app was distributed only the subscription. the text was ignored. now the state for the group localization is in waiting for review. but, the subscription under the subscription group is approved. what can I do?
Replies
1
Boosts
0
Views
389
Activity
Feb ’26