Testing iOS Share Extensions with Apple Wallet - ios-extensions

I would like to test if my share extension works with the Share option available inside the passes from Apple Wallet. I have already tried to run the extension from Xcode, I can find some apps (Messages, Maps, Safari, etc...) but I can't find Wallet. Is there a way to do it?

Related

Is an Apple watch app required in order to use SiriKit?

I've set up Siri on my iOS app- I am able to call intents using INAddTasksIntent and it works great.
When I say "Hey Siri, add task clean my room to JoshApp" it works great.
However, Siri does not work on my Apple watch, using the same commands. When I say "Hey Siri, add task clean my room to JoshApp", it will say it cannot find the app or to look on the app store.
Do I need to create a separate Apple watch app and handle the Siri intents there? Based on my research (which incidentally, there is very little documentation around it), it doesn't seem like it is possible unless you set up a watchOS app.
Intents are delivered to individual devices as part of app bundles:
Overview
Interactions with SiriKit occur through your Intents app extension, which you deliver inside your iOS or watchOS app bundle.
[...]
Enable the Siri Capability
Enabling the Siri capability adds a set of entitlements to your app. The App Store requires the presence of these entitlements for any iOS app or watchOS app containing an Intents extension.
[...]
Source: Creating an Intents App Extension
Without the associated app bundle being installed on the watchOS device, it's (loosely, I'll admit) implied that you won't be able to add an Intents extension to meet your requirements.

How to get the source app from a iOS share extension? The reminder app knows the text is shared from the notes app

When I share a note from iOS notes app into Reminders, the reminders is able to know that it is from the notes app, and display the notes app icon.
I have looked at NSExtensionContext etc and couldn't figure this out. Is this specific only to Apple Apps?
I am implementing a share extension that others can share to, however, I can't figure out how to get that I am getting a share from notes vs other apps.

Are voice shortcuts for custom SiriKit Intents supported on watchOS?

I’m trying to get a voice shortcut for a custom Siri Intent working as part of an Apple Watch app, but I’m not sure whether that’s possible. Has anyone had success with this or know if it’s supported?
There isn't much code to share in this case, since most of the code is auto-generated by Xcode, but here’s a quick overview of how I have everything set up.
I created a custom Intent with a .intentdefiniton file and separate Intents Extension targets for my iOS app and watchOS app to handle the Intent.
I set up and donate the shortcuts at the appropriate time. I included an INUIAddVoiceShortcutButton in my app so a user can easily add or edit a phrase for the shortcut.
Everything works fine on an iPhone: the shortcut shows up at relevant times throughout iOS, and the Intents Extension in my iOS app handles the shortcut when I say the invocation phrase to Siri.
Since 20% of my app’s users use the Apple Watch app, I want to provide a congruent experience on watchOS. The donated shortcut shows up on the Siri watch face, as expected. I trigger the shortcut from the Siri watch face, and is handled by the Intents Extension that's part of my watchOS app.
When I say the intent’s invocation phrase to my Apple Watch (Series 3 GPS-only), however, it doesn’t work. Siri says:
Checking with the app...
Then a few seconds later:
I do not recognize that command.
I’ve tried this with a separate Intents Extension for my watchOS app, and without. I get the same results in both situations. It works on the simulator, but not on a real device.
I’ve also made sure I have my Watch Extension and Watch App selected under Target Membership for the .intentdefinition file.
I’ve also tried going into Settings > Developer and enabling Display Recent Shortcuts then tapping Force Sync Shortcuts to Watch, but that doesn’t change the behavior.
Are voice shortcuts for these custom intents even supported on Apple Watch? I haven’t been able to tell one way or another with Apple’s documentation. The SoupChef sample project is set up with an Intents Extension for the watchOS app, which makes me think it should be supported. And, since it works on the simulator, that makes me think it should be supported.
However, this page doesn’t list custom intents as being supported on watchOS, so that makes me think they may not be supported: https://developer.apple.com/design/human-interface-guidelines/watchos/user-interaction/siri/
If anyone can help me figure out whether this is supported I’d really appreciate it. I’m not sure if I’m doing something wrong or if this just isn’t supported.
The problem was on my Apple Watch.
I was able to get it working by erasing the watch (Settings > General > Reset > Erase All Content and Settings) then restoring it from a backup.

Swift - how to access all pdf files on device

I am trying to build an app that will allow users to see all pdf files that are on the device (in some kind of a list with a preview) [Regardless of which app it belongs to on the device, all should be shown]. Is there anyway to achieve this?
Sorry but this is not possible on an iOS device because of a feature called sandboxing. Apple does not allow an app to access the sandbox of another app. Each app sits inside a sandbox of its own. This is iOS's security feature. There is no way to go around this feature.
Reference - About App Sandbox

UTIs for the gallery App share function

I am implementing Foto/video/others import in my App.
Using the UTIs public.image, public.movie, com.adobe.pdf, etc works fine on a lot of Apps, but apple's gallery displays only Mail,Facebook,twitter and youtube in the Share function.
How to get my App in this list ?
Thanks!
Your app is a consumer (you said you are importing.) Apple's Gallery app is also a consumer AND a producer. As a producer, Gallery could share with your app as a consumer.
On the desktop (OSX) declaring the UTI's that your app supports (produces or consumes) in your app bundle is the first step. Then in what is similar to 'sharing', the Finder lets you double click a file (document) to open it with the default app (or other app) that supports the UTI. Finder is part of security (sandboxing): the user is in charge when using the Finder and the OS assumes the user understands the security implications of sharing content between apps, but the Finder may still give warnings about security.
On iOS, I suppose you are asking whether declaring UTI's in your app bundle is sufficient for the Share button? I don't know. In iOS8 apparently you need an App Extension.

Resources