Ihre zweite Frage können wir nicht 100% sicher, dass nur Ihre App auf bestimmten App-Erweiterung starten können, die völlig vom Benutzer gesteuert wird aber wir können auf steuern, welche Dokumente Sie Ihre App-Erweiterung Declaring Supported Data Types for a Share or Action Extension folgen zeigen wollen
zu customize Dokumenttyp für Schreib Prädikate unter Schlüssel NSExtensionActivationRule zum Beispiel machen: für pdf, Bild und Excel-Dokumente i mit einer maximalen Menge von Dokumenten
<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>
auf 1 folgende Prädikate gemacht