Post

Replies

Boosts

Views

Activity

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
689
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
894
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
708
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
672
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
6
5
13k
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
649
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.4k
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.1k
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.7k
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
2.9k
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.2k
Feb ’20
Siri Intent Extension - How to just read result?
Hi folks,I'd like to add a Siri Intent Extension to my Objective-C project. Users should be able to pick it in the "Shortcuts" app to trigger it by voice. The extension should only read out a result string to the user. Sounds quite simple, doesn't it?So far I've enabled Siri capability for my app, added the Intent Extension, defined the intent with a fixed result, and implemented a dummy handler, but Siri doesn't show my shortcut and I assume that's because I haven't donated the shortcut so far.Unfortunately I cannot get my brain around the concept of donations (in this context): My app is not going to be launched, there is no specific workflow related to the shortcut, but it should just tell the user what their next lesson a school is: no required parameter, neiter any confirmation, nor a user interaction, not even a specific Intention UI...Is a donation required to make Siri recognize my shortcut? So the app needs to be run at least once to use the shortcut? Does my app need to request Siri access from the user? All examples I found were dealing with more complex scenarios, including app integrations. Do I need to walk all this road?Any help is appreciated, Mattes
3
0
2.1k
Dec ’19
[Catalina] Quick Look doesn't extend Sandbox for "related items"
Hi folks,My Quick Look plugin reads a "related item" in addition to the file to be thumbnailed / previewed. Therefore I implement a NSFilePresenter as described in scenario 2 of the link Apple documentations:https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW22This approach worked well until macOS 10.15 "Catalina" (and even works there for the main app). When previewing a file with Quick Look the related item file is not read. I assume the sandbox of Quick Look is not extended to the related item.Before filing a RADAR, does anyone has a similar QL plugin and observing the same behavior?Greetings, MattesEdit: If I perform the preview using qlmanage the related item is read...
1
0
1.3k
Oct ’19
Extended file attributes stripped by iCloud sync
Hi!I have two companion apps, iOS and macOS, supporting iCloud Drive to sync files between devices.Both apps are operating on 3rd party file formats, which are - under certain conditions - enhanced with additional information. This metadata is currently saved in "extended file attributes" by using setxattr / getxattr .Unfortunately I realized that the corresponding file attribute is stripped during iCloud synching. Changing the originally individual attribute name to "com.apple.ResourceFork" was unsuccessful, too. Some attribute seem to get synched, but I don't want to hijack attributes with other purposes, which will lead to unwanted side effects.What is a supported way to store metadata with a 3rd party file format for iCloud syncing, when a file-wrapper is no option?Greetings, Matthias
7
0
3.3k
Mar ’19