riguarda la seconda domanda non possiamo 100% che solo la tua applicazione può lanciare sul specificato estensione app che è totalmente controllato dall'utente ma siamo in grado di controllare in cui la documentazione si desidera mostrare l'estensione per app seguire Declaring Supported Data Types for a Share or Action Extension
per rendere tipo di documento personalizzare per predicati scrittura sotto NSExtensionActivationRule chiave ad esempio: per pdf, immagine e documenti excel ho fatto seguente predicati con quantità massima di documento 1.
<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 "com.adobe.pdf"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.png"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.jpeg"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.jpeg-2000"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.excel.xls"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "org.openxmlformats.spreadsheetml.sheet"
)
)[email protected] == [email protected]
)[email protected] == 1</string>