Sui dispositivi iOS, l'app Mail offre l'opzione "Apri in ..." per gli allegati. Le app elencate hanno registrato i loro CFBundleDocumentTypes con il sistema operativo. Quello che mi chiedo è come la mia app possa consentire agli utenti di aprire file generati dalla mia app in altre app. Mail è l'unica app che fornisce questa funzionalità?Aggiunta dell'opzione "Apri in ..." all'app per iOS
risposta
Dai uno sguardo allo Document Interaction Programming Topics for iOS: Registering the File Types Your App Supports.
Finché si forniscono i tipi di documento nel proprio Info.plist, altre app che riconoscono quel tipo di documento elencheranno l'app nelle proprie scelte "aperte". Ovviamente, presume che la tua app crei documenti che altre app possono aprire.
Grazie, sembra esattamente quello che stavo cercando. E, sì, la mia app crea .csv e .zip File. – westsider
potresti voler modificare la tua risposta per fare riferimento al nuovo link (Apple ha riorganizzato la libreria di riferimento iOS, apparentemente). – westsider
Ho aggiunto il tipo di documento nella mia app. per esempio ho aggiunto il tipo PDF.Ma quando gestisco l'interazione con il documento, sto solo facendo l'applicazione rapida. –
This è un ottimo tutorial, che mi ha aiutato.
Ho aggiunto il supporto per i file *.xdxf
nella mia app. In breve, devi fare due cose. In primo luogo - aggiungere voci come questo per file del app Plist
:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>XDXF Document</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>com.alwawee.xdxf</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>XDXF - XML Dictionary eXchange Format</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.alwawee.xdxf</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>xdxf</string>
<key>public.mime-type</key>
<string>text/xml</string>
</dict>
</dict>
</array>
Qui, si dovrebbe aggiungere UTExportedTypeDeclarations
solo se il tipo di file è unico. O con altre parole non è here.
In secondo luogo - gestire metodo delegato in AppDelegate
:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if (url != nil && [url isFileURL]) {
// xdxf file type handling
if ([[url pathExtension] isEqualToString:@"xdxf"]) {
NSLog(@"URL:%@", [url absoluteString]);
}
}
return YES;
}
Il collegamento del tutorial è rotto. –
Per essere visibile nella lista di "Apri in ..." per tutti i file, è necessario aggiungere questo alla vostra plist
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Open All Files</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.content</string>
<string>public.data</string>
</array>
</dict>
</array>
Una volta visualizzata l'app in "Apri in ...", è necessario caricare tale file. La maggior parte sito web mostra per implementare questa funzione:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool
{
println("Open URL "+url.path!)
}
Ma questa funzione che ha funzionato bene in IOS 7 arresti in IOS 8. ho dovuto implementare la seguente funzione invece per farlo funzionare.
func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool
{
println("Open URL "+url.path!)
}
aggiungo la mia applicazione in "Apri in" lista con successo come segue,
aggiungere un nuovo filtro tipo di documento, il cui nome è tutto quello che vuoi e il tipo è definito in https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1
Spero anche tu possa essere un successo !!
Tuttavia, la caratteristica che voglio implementare è "Condividi" come Facebook o Slack di, non posso fare ancora ... qualcuno mi può dare una grossa mano :(
- 1. Apri l'app per iOS dal browser
- 2. Schema URL "Apri Impostazioni" ios
- 3. Apri l'app Google Maps in iOS 6
- 4. Come utilizzare la funzione "Apri in ..." nell'app per iOS?
- 5. Apri App da Widget IOS con Swift
- 6. iOS - apri il controller di visualizzazione iniziale
- 7. Safari non apri le app iOS su iOS 9
- 8. Cordova 3.0 - Apri il collegamento nel browser esterno in iOS
- 9. iPhone- Apri le impostazioni dalla mia applicazione iOS 6
- 10. "Apri recenti" in Emacs
- 11. Aggiunta di trascinamento e rilascio di componenti all'app per iOS
- 12. Apri l'app iOS dall'URL e passa i parametri
- 13. iPhone - "Apri in" in SDK?
- 14. IOS: aggiunta di immagini a MKAnnotationview personalizzata
- 15. Xcode Swift Ios App: aggiunta di ritardo
- 16. Aggiunta di editor in Visual Studio Finestra di dialogo "Apri con ..."
- 17. File sharing/inviare file in un'altra applicazione ("Apri in" in iOS)
- 18. Aggiunta di OAuth2 al progetto iOS
- 19. Aggiunta di campo di testo in Notifica remota, iOS 8
- 20. Aggiunta di una stringa con stringa in ios
- 21. Apri Xcode Project in windows
- 22. Come mostrare "Apri in ..." quando un utente tenta di aprire allegati di posta elettronica in iOS
- 23. Apri URL in Webview - PhoneGap
- 24. Apri in + UIDocumentInteractionController: come filtrare le opzioni in SDK iOS 6 (canPerformActions è obsoleto)
- 25. Apri PDF in una WebView
- 26. Apri l'app per Android Cordova dal calendario
- 27. Apri l'app per mappe nativi da PhoneGap
- 28. PhoneGap - Apri/Copia un file PDF in iBook
- 29. Apri URL in Java per ottenere il contenuto
- 30. Apri codice sorgente per leggere PDF in Android
Sono abbastanza sicuro che la risposta è qui: http://stackoverflow.com/questions/2774343/how-do-i-associa-file-types-with-an-iphone-application –
L'articolo aggiornato che fornisce le informazioni pertinenti può ora essere trovato sotto [ Argomenti di programmazione dell'interazione del documento] (http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/PreviewingandOpeningItems.html#//apple_ref/doc/uid/TP40010410-SW1 "Programmazione dell'interazione documento Argomenti "). – robotpukeko