Post

Replies

Boosts

Views

Activity

macOS 26: Toolbar items of legacy apps don't respond to Dark Mode changes
NSToolbar items don’t react to Dark Mode changes in apps compiled with macOS 15 SDK: My app was installed as a notarized app on a Tahoe VM with the same build as distributed in the App Store, based on macOS 15 SDK. When toggling Dark Mode, toolbar items are not updated, but only after opening a new window / tab or e.g. customizing the toolbar. The app is using default methods for the toolbar, defined in its corresponding XIB file, and working in previous macOS versions. This issue could be confirmed with various apps built with an SDK prior to macOS 26 "Tahoe", e.g. Apple's Clipboard Viewer. Reported via Feedback Assistent (FB19107572).
Topic: UI Frameworks SubTopic: AppKit Tags:
0
0
44
6d
macOS 26: Automator 3rd party actions cannot be configured
After installing my notarized 3rd party app in a Tahoe VM, its embedded Automator actions can not be configured in Automator while defining a workflow: After adding the actions (enabling 3rd party extensions), their views / UI elements do not respond to any mouse event. When enabling „show this action when running“, the options can be changed during execution of the workflow. Needless to say: Adjusting these action settings in Automator was working for years, macOS 12 - 15 and before. Reported via Feedback Assistent (FB19015185). Can anybody confirm this issue with Automator actions?
1
0
53
6d
ITMS-91109: com.apple.quarantine found in bundle
Hi all, I have repeatedly the issue that a certain .strings file in my app's bundle has the extended files attribute com.apple.quarantine set. Consequently the submission fails with the following mail notification: We noticed one or more issues with a recent delivery for the following app: [...] ITMS-91109: Invalid package contents - The package contains one or more files with the com.apple.quarantine extended file attribute, such as “abcdef.strings”. This attribute isn’t permitted in macOS apps distributed on TestFlight or the App Store. Please remove the attribute from all files within your app and upload again. I'm able to resubmit the bundle after cleaning the file attribute via xattr -d -r com.apple.quarantine..., but the funny thing is it happens again and again - on a .strings file which hasn't been downloaded (but manually created), shouldn't be under Gatekeeper's quarantine, and wasn't edited in the meantime. Is anybody else observing the same issue with macOS 15.4.1, Xcode 16.3? Greetings, Matthias
2
0
99
May ’25
How to debug Quick Look Preview Extension
I'm facing the same problem as addressed in this discussion: After switching from legacy QLGenerators to Preview extensions on macOS I cannot debug the extensions' code in Xcode, anymore: I launch the app with the embedded appex from Xcode in debug mode. When trying to attach to the appex process the following error is reported: Code: 6 Failure Reason: Ensure “AppName Preview” is not already running, and matthias has permission to debug it. User Info: {... } System Information macOS Version 15.4.1 (Build 24E263) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-12T14:07:14+02:00 I'm using a standard user account (no admin) and might miss some obvious steps. Can someone detail the steps to debug a Preview (or Thumbnail) extension with Xcode 16? For legacy Quick Look plugins I was using "qlmanage", but that's not working on extensions. All the best, Matthias P.S.: Pardon me re-posting my reply as a separate thread, to increase visibility, but I'm quite desperate and couldn't find any solution on the web...
1
1
89
May ’25
StoreKit2 - Maintain property of purchased products
Hi everybody! I'm desperately looking for help as I'm stuck with a rather fundamental problem regarding StoreKit2 - and maybe Swift Concurrency in general: While renovating several freemium apps I'd like to move from local receipt validation with Receigen / OpenSSL to StoreKit2. These apps are using a dedicated "StoreManager" class which is encapsulating all App Store related operations like fetching products, performing purchases and listening on updates. For this purpose the StoreManager holds an array property with IDs of all purchased products, which is checked when a user invokes a premium function. This array can have various states during the app's life cycle: Immediately after app launch (before the receipt / entitlements are checked) the array is empty After checking the receipt the array holds all (locally registered) purchases Later on it might change if an "Ask to Buy" purchase was approved or a purchase was performed It is important that the array is instantly used in other (Objective-C) classes to reflect the "point in time" state of purchased products - basically acting like a cache: No async calls, completion handler, notification observer etc. When moving to StoreKit2 the same logic applies, but the relevant API calls are (of course) in asynchronous functions: Transaction.updates triggers Transaction.currentEntitlements, which needs to update the array property. But Xcode 16 is raising a strict error because of potential data races when accessing the instance variable from an asynchronous function / actor. What is the way to propagate IDs of purchased products app-wide without requiring every calling function as asynchronous? I'm sure I'm missing a general point with Swift Concurrency: Every example I found was working with call-backs / await, and although this talk of WWDC 2021 is addressing "protecting mutable states" I couldn't apply its outcomes to my problem. What am I missing?
3
0
558
Jan ’25
Universal Purchase: macOS (AppKit) + iOS supported?
I have a macOS app (AppKit-based, not Mac Catalyst) and an iOS app serving a very similar purpose and user group. Both are currently using non-consumable IAPs to unlock functionalities. I‘m considering a subscription model and wonder if both apps could share the same IAP products. I‘m well aware that both apps need to use the same Bundle ID / App Store Connect entry, so I‘m willing to discontinue the existing Bundle IDs (while keeping the apps installable for existing customers), but Apple‘s info about „Universal Purchase“ is only mentioning Mac Catalyst apps for macOS: Mac Catalyst. With Xcode 11.4 or later, Mac apps built with Mac Catalyst can share a bundle ID with the iOS version of the app, so universal purchase is supported. Can an AppKit-based macOS app and an iOS app share the save Bundle ID and offer a Universal Purchase?
1
0
919
May ’24
QLSupportedContentTypes cannot contain system-supported types (UTIs)
Hi folks, My app is reading proprietary files with the file name extension .JPX - which is out of my control. In addition I’m providing QuickLook and Thumbnail extensions, used system-wide and in my app. Unfortunately iOS is assigning the JPEG-2000 file type (UTI „public.jpeg-2000“) to this file extension, and therefore - to work with associated files - my app is importing this UTI and both extensions are listing „public.jpeg-2000“ in their info.plist as QLSupportedContentTypes. This works to some extent in simulators and when debugging from Xcode on a device: Files with the file extension „.JPX“ are listed with thumbnails provided by my extension, although the preview seems to invoke the system-provided viewer and fails. Not perfect, but good enough as my app requires an icon preview (aka thumbnail) in its UIDocumentBrowserViewController. But when I try to submit my app incl. extensions to the Apple App Store / TestFlight asset validation is reporting an error: „Asset validation failed. Invalid Info.plist value. The value for the key ‚QLSupportedContentTypes‘ in bundle … is invalid. [public.jpeg-2000] are system-supported types.“ How to assign QuickLook / Thumbnail extensions to 3rd party files types whose extension is conflicting with a system-supported UTI? I just spent one of my TSIs for this question - as my Apple developer membership is renewed shortly - but maybe this community as some smart tip to share... Appreciate any help, Mattes
1
0
1.2k
Feb ’24
NSColorPanel: Control selection and order of NSColorLists
Hi folks, In my macOS app I’m using NSColorPanel to present color picking options to the user. Therefore I’m attaching various custom NSColorLists before showing the color panel. The panel is always presented with the „Apple“ color list active, and I found no method to select a different color list. In my app I could determine the most relevant color list and would like to preselect it instead of relying on a manual selection by the user. Is there any option to control the selected / active NSColorList of an NSColorPanel? Additionally - but that more a minor topic and probably a candidate for a bug report: Since some major macOS versions (maybe starting with macOS 13 „Ventura“?) the order of NSColorLists in the default NSColorPanel is random. In the past color palettes were listed in reverse order of their attachments via „attachColorList:“. Is there any way to control the order color palettes are listed by an NSColorPanel I just spent one of my TSIs for this question - as my Apple developer membership is renewed shortly - but maybe this community as some smart tip to share... Appreciate any help, Mattes
2
0
870
Feb ’24
NSSavePanel: „[NSPathStore2 stringByAppendingPathExtension:]: nil argument“
Hey, I‘m building a proven document-based app with Xcode 15 / macOS 14 SDK with a deployment target of macOS 10.13. After some adjustment due to unclipped views and state restoration, everything works fine under Sonoma. But on older systems (e.g. macOS 10.14) invoking an NSSavePanel directly throws an exception: 1: "*** -[NSPathStore2 stringByAppendingPathExtension:]: nil argument I‘m not explicitly fiddling with the path extension, and the code works - as mentioned - under some (old and new) macOS versions. The macOS 15 AppKit release notes are listing some changes to NSSavePanel, maybe the issue is related… Has anyone made similar observations - and knows a potential fix? Greetings, Mattes
1
0
780
Oct ’23
iOS Simulators not listed as Run Destinations (Xcode 14.3)
For all my iOS projects only simulators running iOS 16.4 are listed as Run Destinations ... although I've installed the iOS 13 simulator and corresponding entries are listed under "Devices & Simulators". I've toggled "Show run destination" from "Automatic" to "Always" with no avail. Deployment target is e.g. iOS 13, and I'm running Xcode Version 14.3 (14E222b) on a 14" MBP with Apple Silicon. As a current bypass I'm booting up the simulator manually and install apps by "xcrun simctl install booted APP.app" to allow some basic testing, but that's no sustainable solution. Any help is much appreciated! Mattes
7
5
17k
May ’23
Promoted IAPs on macOS
Hi folks! I'm looking into Promoted In-App Purchases, which I'd like to support with my macOS app to - hopefully - increase revenues. It looks like implementing the related method paymentQueue:shouldAddStorePayment:forProduct: for the transaction observer, and providing a promotional image should do the job ... plus some tweaking if the app's launch behavior requires that. But App Store Connect is not showing any option for promotional images of the IAP, and tests (as mentioned here) aren't launching my app. What do I miss? The app's deployment target is macOS 10.12, but I would expect this to work with macOS 11 and higher - as listed for the method. Any thoughts / personal experiences are appreciated! Mattes P.S.: Maybe this works only for iOS apps running on Apple Silicon starting macOS 11? Just a quick after-thought...
0
0
719
Jul ’22
No MAS receipt after exit(173)
App receipt generation is broken (again). I'm getting the message my app is "damaged" on macOS Monterey 12.3.1 with Xcode 13.3.1 when no receipt is delivered after the app quits with exit(173) and I'm prompted for Mac App Store credentials. I tried App Store log out / log in (sandbox and regular account), cleaning derived data as well as reboot to no avail. Being aware of several old postings (and new comments), I decided to start a new thread to increase visibility ... and also filed a bug report FB10014055. Please consider a duplicate report if you're affected to raise Apple's awareness (all system status are reported as "green")...
11
1
3.9k
May ’22
App Store Connect: No "Sales and Trends" with Safari 15
After updating Safari to version 15.0 (16612.1.29.41.4, 16612), App Store Connect refuses to load "Sales & Trends". Other tabs like "My Apps" are loaded properly and Firefox has no issues showing my trends, but Safari is just presenting a blank page (titlebar only, no navigation, no charts). Apple, what a shame that Safari cannot render even your own web sites... Mattes
2
0
1.2k
Sep ’21
Siri is not speaking shortcut voice responses
Hi folks, Last year I added Siri intents to my iOS app, providing class room information to the user. Worked nicely with iOS < 14: The user could define a shortcut with the corresponding action, e.g. "Next Lesson", and Siri read the result from my intent definition (voice only dialog response). With iOS 14 Siri isn't reading responses anymore, but is only giving the feedback "Okay, viewing with...": So the shortcut is run, displaying the result provided from my app, but not reading it out loud. Unfortunately this was the main purpose of my intents, asking Siri just for some information w/o looking at the phone. Is this a general design decision in iOS 14? What do I need to implement to make Siri (again) reading intent results? Currently I can only think of a bypass, putting the result text into the clipboard and adding a second action reading the clipboard (which is an iOS-provided one). Any thoughts? Mattes
4
0
4.7k
Oct ’20
Receipt validation in Mac Catalyst
Hi all, I'm currently struggling with implementing In-App purchase in a Mac Catalyst app. After solving (at least some) hurdles building the appropriate OpenSSL libraries, receipt validation is the next challenge: In the past I used a 3rd party tool ("Receigen") to validate receipts and extract e.g. IAP information. It looks like the Mac Catalyst build is not receiving any receipt the same as an iOS app. My first assumption was a different path in the app bundle (like under macOS), but so far I couldn't locate any receipt... Is receipt validation (and IAP) supported for Mac Catalyst apps? Is there any information about the corresponding receipt location, and how validation should happen? The process is quite different between iOS and macOS... Any help is highly appreciated, Mattes
4
0
1.8k
Aug ’20