I have a share extension in my app, that shall allow users to send CSV files, custom app files, and selected text to my app via the share sheet for importing that data.
So, the share extension should activate when the user has selected either:
CSV or plain text files
Custom UTI app files
Text selected in other apps
The supported file types have been defined in as a predicate query according to the example in the docs
This works all fine on iOS, and the file sharing also works on the Mac.
However, on macOS, my app is not shown as a target in the share sheet when the user selects text in other apps and tries to share that text via the context menu.
Does macOS need a different configuration to enable a share extension for selected text?
This is how my Info.plist of the Mac share extension looks like:
...
<plist version="1.0">
<dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<string>SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.myCompany.myApp.customFormat" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.delimited-values-text"
).@count == $extensionItem.attachments.@count
).@count >= 1</string>
</dict>
...
</dict>
</plist>
I know there is a NSExtensionActivationSupportsText but it seems this cannot be combined with a subquery rule.
Is there a way to explicitly enable text activation within the subquery rule?
Post
Replies
Boosts
Views
Activity
For visionOS App Store listings, screenshots are supposed to be 3840 × 2160.
However, when I save screenshots from the Simulator, they are only 2732 × 2048.
Is there a setting to generate full-size screenshots from the simulator? Or is there a way to save screenshots of the app window without the scene background?
As the Apple Vision Pro is not being sold yet (and won't be outside the US for a while) taking screenshots on the device is not really an option.
Of course, we can add borders or scale up the Simulator screenshots, but it seems weird that the expected screenshot size does not match the Simulator output.
I have a universal app that runs on iPhone, iPad, and Mac. And I offer auto-renewing subscriptions that are universal purchases. So subscribing on the iPhone should also activate the subscription on the Mac app.
I noticed that this purchase syncing does not work in TestFlight.
I've read that Family Sharing does not work for TestFlight sandbox purchases.
Are purchases made on TestFlight generally not synced across devices? Or am I maybe doing something wrong with handling or setting up the subscriptions?
If TestFlight does not support syncing of purchases, what is the recommended way to test the cross-platform activation of Universal Purchases?
As NSUbiquitousKeyValueStore is now available on watchOS 9, I wanted to share values between the iPhone app and the watch app using the key value store.
However, it seems that the watch app creates a separate store with its <app-identifier>.watchkitapp identifier, so data is not synced between both.
I tried chaning the iCloud Key-Value Store identifier in the watch app's entitlements file. But then signing the app will fail.
Is there any way to use NSUbiquitousKeyValueStore as a shared store between iPhone and Watch?
In XCode 14 you can create a single Watch App target instead of the "Watch App for iOS App" target before.
XCode 14:
However, as this is no longer an extension, it is apparently not included when you archive the iOS app for distribution.
My question is: How do I include the new Watch target in my submission of the iOS app?
I could not find any documentation on this.
(My Watch app is only a companion app and not a stand-alone watch app).