Post

Replies

Boosts

Views

Activity

Code signing hang with content blocker and extension
A customer of my Safari app extension is reporting a strange interaction with a 3rd party content blocker that causes Safari to hang, apparently in code signing. Spindumps of Safari show this: Dispatch Thread Soft Limit Reached: 80 (too many dispatch threads blocked in synchronous operations) Each spindump has over 20 DispatchQueue "Content Blocker Containing App Validation Queue" In one spindump, it seems to be triggered by this: -[WBSExtensionsController _extensionDiscoveryHasNewResults:] + 244 (SafariSharedUI + 149396) In another: __114-[WBSExtensionsController(SafariExtras) safari_validateContainingAppOfExtensionIfNecessary:attemptRetryOnFailure:]_block_invoke.44 + 52 (Safari + 5305260) I can't reproduce the issue, however, so I'm baffled. The actual code signature of the app, which comes from the Mac App Store, appears to be fine, as verified with the codesign command-line utility.
0
0
724
Jul ’26
Notify web extension native process of user default changes
My Mac app and its Safari web extension share an app group, and I want to notify the web extension native process when the app makes a change to the app group NSUserDefaults, but I can't find a good way to do this. According to the documentation, "You can use key-value observing to register observers for specific keys of interest in order to be notified of all updates, regardless of whether changes are made within or outside the current process." In my testing, however, this doesn't work in the web extension process. I'm using NSUserDefaults addObserver forKeyPath, but observeValueForKeyPath never gets called. I've also tried NSDistributedNotificationCenter, but the web extension process doesn't receive the notifications sent by the main app. Are either of these supposed to work? If not, are there any alternatives?
0
0
290
Apr ’25
New App Store Connect warning about Apple Push Notification service entitlement
After I uploaded a new build of my app yesterday with Xcode 16.3, I received an email from App Store Connect about issues with the build: This is for your information only and doesn't require any action: ITMS-90078: Missing potentially required entitlement - Your app, or a library that’s included in your app, uses Apple Push Notification service (APNs) registration APIs, but the APS Environment Entitlement isn’t included in the app signature’s entitlements. However, my app doesn't use APNs registration APIs. It does use CloudKit, which is my only guess about what could be triggering the email. I've never seen this warning before with previous builds of the app, and the only change in the new build was a small bug fix. Has anyone else seen this?
5
5
272
Apr ’25
Mac app icon given black background by App Store Connect
I have a new, unreleased app in App Store Connect. The Mac app icon is a rounded rect with transparent border. For some reason, the "Included Assets App Icon" has a black background in App Store Connect. The black background also appears in the TestFlight app. The issue doesn't appear to be specific to the new app's icon, because I tried uploading a build with another icon, from an already released Mac app, and App Store Connect also gave that a black background. The app icon displays correct at runtime on macOS. The black background is a phenomenon only of App Store Connect and TestFlight. My theory is that App Store Connect is confused and still treating the app icon as if it were iOS rather than Mac. During development, the app has gone through a transition: first it was iOS on Mac, then it was Catalyst, and now finally it's AppKit. If the App Store Connect record for the app has some kind of iOS or Catalyst flag, I have no idea how to reset the flag. Has anyone else experienced this issue?
1
0
452
Mar ’25
Mac App Store receipt validation exit(173) Not Available on Sequoia
I have 6 Mac App Store apps. They're all upfront paid, with no IAP, and they've all used the same on-device Mac App Store receipt validation code for years, which returns 173 in main() if there's not a valid receipt. Incidentally, the apps are entirely Objective-C. I've just learned that if I compile an app with Xcode 16 and the macOS 15 SDK, I get the alert "exit(173) Not Available" when the app returns 173 on macOS 15 Sequoia. The rest of the alert text says, "The exit(173) API is no longer available. You can use Transaction.all or AppTransaction.shared to verify in-app purchases instead." I have several questions: Why was this done? Where is this behavior change documented? What are my options, given the above description of my apps?
2
3
1.6k
Oct ’24
"Unable to locate a valid DDI for the iOS platform" when pairing iPad with Xcode 15
I have Xcode 15.0 beta (15A5160n) and the iOS 17.0 beta (21A5248u) simulator installed on macOS 13.4 (22F66). I have iPadOS 17.0 (21A5248v) installed on my 8th generation iPad, and developer mode is enabled. Whenever I connect via USB and attempt to pair in the Xcode Devices and Simulator window, I get the error "Unable to locate a valid DDI for the iOS platform." I've tried unpairing and repairing multiple times. I've rebooted the iPad and my Mac. Nothing works.
5
3
4.2k
Jan ’24
shouldSendContentAvailable on macOS
I want my Mac app to receive silent push notifications from a CKSubscription while the app is not running. Is that possible? Does the following apply to macOS apps too, or only to iOS apps? That flag causes the system to wake or launch an app that isn’t currently running. The app then receives background execution time to download any data for the push notification, such as the set of changed records. https://developer.apple.com/documentation/cloudkit/cksubscription/notificationinfo/1515110-shouldsendcontentavailable
0
0
610
Sep ’23
List of Safari extensions issues (Feedbacks) on GitHub
For the sake of the Safari extension community, I've posted all of my Safari extension issues from Feedback Assistant on GitHub. You're welcome to post yours there too! Together we can create a publicly searchable bug database, which currently doesn't exist. I hope this helps to improve the quality of Safari extensions across the board. Here's the list on GitHub: https://github.com/lapcat/SafariExtensions/issues
0
0
1.1k
Dec ’22
Buying multiple App Store bundles
Suppose I have 3 paid apps: A1: iOS App Store only A2: Mac App Store only A3: Universal Purchase and 2 bundles: B1: A1 and A3 B2: A2 and A3 (As far as I can tell, it's impossible to have a bundle with A1 and A2.) Is it possible for a customer to buy and/or complete both B1 and B2, and if so, how much money will the customer end up paying relative to the prices of the apps and bundles?
0
0
1.2k
Jul ’22
Extensions bug in Safari Technology Preview 141
I just want to notify everyone of a bad bug in Safari Technology Preview 141 that affects Safari web extensions and Safari app extensions. The bug is that JavaScript instanceof returns the wrong value in MutationObserver callbacks. I suspect that a lot of extension developers use MutationObserver, so make sure to test in Safari Technology Preview 141 to see whether you're affected. The bug does not exist in Safari 15.4, released yesterday. Hopefully we can stop this bug from shipping in regular Safari, or it could be a giant mess for extension developers! WebKit bug link
1
0
952
Mar ’22
Code signing hang with content blocker and extension
A customer of my Safari app extension is reporting a strange interaction with a 3rd party content blocker that causes Safari to hang, apparently in code signing. Spindumps of Safari show this: Dispatch Thread Soft Limit Reached: 80 (too many dispatch threads blocked in synchronous operations) Each spindump has over 20 DispatchQueue "Content Blocker Containing App Validation Queue" In one spindump, it seems to be triggered by this: -[WBSExtensionsController _extensionDiscoveryHasNewResults:] + 244 (SafariSharedUI + 149396) In another: __114-[WBSExtensionsController(SafariExtras) safari_validateContainingAppOfExtensionIfNecessary:attemptRetryOnFailure:]_block_invoke.44 + 52 (Safari + 5305260) I can't reproduce the issue, however, so I'm baffled. The actual code signature of the app, which comes from the Mac App Store, appears to be fine, as verified with the codesign command-line utility.
Replies
0
Boosts
0
Views
724
Activity
Jul ’26
Notify web extension native process of user default changes
My Mac app and its Safari web extension share an app group, and I want to notify the web extension native process when the app makes a change to the app group NSUserDefaults, but I can't find a good way to do this. According to the documentation, "You can use key-value observing to register observers for specific keys of interest in order to be notified of all updates, regardless of whether changes are made within or outside the current process." In my testing, however, this doesn't work in the web extension process. I'm using NSUserDefaults addObserver forKeyPath, but observeValueForKeyPath never gets called. I've also tried NSDistributedNotificationCenter, but the web extension process doesn't receive the notifications sent by the main app. Are either of these supposed to work? If not, are there any alternatives?
Replies
0
Boosts
0
Views
290
Activity
Apr ’25
New App Store Connect warning about Apple Push Notification service entitlement
After I uploaded a new build of my app yesterday with Xcode 16.3, I received an email from App Store Connect about issues with the build: This is for your information only and doesn't require any action: ITMS-90078: Missing potentially required entitlement - Your app, or a library that’s included in your app, uses Apple Push Notification service (APNs) registration APIs, but the APS Environment Entitlement isn’t included in the app signature’s entitlements. However, my app doesn't use APNs registration APIs. It does use CloudKit, which is my only guess about what could be triggering the email. I've never seen this warning before with previous builds of the app, and the only change in the new build was a small bug fix. Has anyone else seen this?
Replies
5
Boosts
5
Views
272
Activity
Apr ’25
Mac app icon given black background by App Store Connect
I have a new, unreleased app in App Store Connect. The Mac app icon is a rounded rect with transparent border. For some reason, the "Included Assets App Icon" has a black background in App Store Connect. The black background also appears in the TestFlight app. The issue doesn't appear to be specific to the new app's icon, because I tried uploading a build with another icon, from an already released Mac app, and App Store Connect also gave that a black background. The app icon displays correct at runtime on macOS. The black background is a phenomenon only of App Store Connect and TestFlight. My theory is that App Store Connect is confused and still treating the app icon as if it were iOS rather than Mac. During development, the app has gone through a transition: first it was iOS on Mac, then it was Catalyst, and now finally it's AppKit. If the App Store Connect record for the app has some kind of iOS or Catalyst flag, I have no idea how to reset the flag. Has anyone else experienced this issue?
Replies
1
Boosts
0
Views
452
Activity
Mar ’25
Mac App Store receipt validation exit(173) Not Available on Sequoia
I have 6 Mac App Store apps. They're all upfront paid, with no IAP, and they've all used the same on-device Mac App Store receipt validation code for years, which returns 173 in main() if there's not a valid receipt. Incidentally, the apps are entirely Objective-C. I've just learned that if I compile an app with Xcode 16 and the macOS 15 SDK, I get the alert "exit(173) Not Available" when the app returns 173 on macOS 15 Sequoia. The rest of the alert text says, "The exit(173) API is no longer available. You can use Transaction.all or AppTransaction.shared to verify in-app purchases instead." I have several questions: Why was this done? Where is this behavior change documented? What are my options, given the above description of my apps?
Replies
2
Boosts
3
Views
1.6k
Activity
Oct ’24
"Unable to locate a valid DDI for the iOS platform" when pairing iPad with Xcode 15
I have Xcode 15.0 beta (15A5160n) and the iOS 17.0 beta (21A5248u) simulator installed on macOS 13.4 (22F66). I have iPadOS 17.0 (21A5248v) installed on my 8th generation iPad, and developer mode is enabled. Whenever I connect via USB and attempt to pair in the Xcode Devices and Simulator window, I get the error "Unable to locate a valid DDI for the iOS platform." I've tried unpairing and repairing multiple times. I've rebooted the iPad and my Mac. Nothing works.
Replies
5
Boosts
3
Views
4.2k
Activity
Jan ’24
shouldSendContentAvailable on macOS
I want my Mac app to receive silent push notifications from a CKSubscription while the app is not running. Is that possible? Does the following apply to macOS apps too, or only to iOS apps? That flag causes the system to wake or launch an app that isn’t currently running. The app then receives background execution time to download any data for the push notification, such as the set of changed records. https://developer.apple.com/documentation/cloudkit/cksubscription/notificationinfo/1515110-shouldsendcontentavailable
Replies
0
Boosts
0
Views
610
Activity
Sep ’23
List of Safari extensions issues (Feedbacks) on GitHub
For the sake of the Safari extension community, I've posted all of my Safari extension issues from Feedback Assistant on GitHub. You're welcome to post yours there too! Together we can create a publicly searchable bug database, which currently doesn't exist. I hope this helps to improve the quality of Safari extensions across the board. Here's the list on GitHub: https://github.com/lapcat/SafariExtensions/issues
Replies
0
Boosts
0
Views
1.1k
Activity
Dec ’22
Buying multiple App Store bundles
Suppose I have 3 paid apps: A1: iOS App Store only A2: Mac App Store only A3: Universal Purchase and 2 bundles: B1: A1 and A3 B2: A2 and A3 (As far as I can tell, it's impossible to have a bundle with A1 and A2.) Is it possible for a customer to buy and/or complete both B1 and B2, and if so, how much money will the customer end up paying relative to the prices of the apps and bundles?
Replies
0
Boosts
0
Views
1.2k
Activity
Jul ’22
Extensions bug in Safari Technology Preview 141
I just want to notify everyone of a bad bug in Safari Technology Preview 141 that affects Safari web extensions and Safari app extensions. The bug is that JavaScript instanceof returns the wrong value in MutationObserver callbacks. I suspect that a lot of extension developers use MutationObserver, so make sure to test in Safari Technology Preview 141 to see whether you're affected. The bug does not exist in Safari 15.4, released yesterday. Hopefully we can stop this bug from shipping in regular Safari, or it could be a giant mess for extension developers! WebKit bug link
Replies
1
Boosts
0
Views
952
Activity
Mar ’22