Post

Replies

Boosts

Views

Activity

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
84
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
84
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
557
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
914
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
865
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
776
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
716
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
Mac Catalyst and OpenSSL
Hi folks, I'm currently implementing In-App purchase into a Mac Catalyst app, and facing troubles linking to static OpenSSL libraries. Currently - as in other projects - I'm using a 3rd party tool to implement receipt validation (Receigen), which uses static OpenSSL libraries. These need to be built with a corresponding target (x86_64-apple-ios13.0-macabi?), but so far I wasn't able to compile / link the sources using the build-libssl.sh script from https://github.com/x2on/OpenSSL-for-iPhone. Unfortunately I a newbie when it comes to building OpenSSL from sources with individual configs. Can anyone point my to some information ... all I found on SO were references to the mentioned target and GitHub repository. Did anyone of you integrate OpenSSL (or even Receigen) in a Mac Catalyst app ... and how? Maybe it's only me over-complicating things. Any help is appreciated, Mattes
3
0
3.1k
Aug ’20
Apple Business Manager and IAP
Hi folks,I'm offering a freemium app with an IAP option to unlock features from macOS App Store. Now I was contacted by a company interested in purchasing some licenses, and distributing it to their users by Apple Business Manager. According to them the app's IAP cannot be centrally purchased / distributed.Is Apple Business Manager supporting In-App purchases, and if so are there any specific configurations etc. to follow?Any help appreciated, Mattes
1
0
1.3k
Feb ’20