Ich möchte Dokumente von Cloud-Dienste wie iCloud, Google Drive und Dropbox auf einen Knopf klicken (wie in WhatsApp Screenshot unten), weiß jemand, wie man es in swift? Vielen Dank im VorausWie kann ich auf Cloud-Laufwerke zugreifen, um Dateien schnell in meine App zu importieren?
Antwort
Erste iCloud Dokumente Capabilitie aktivieren, siehe Apple-Dokumentation here
Die Sie UIDocumentMenuViewController
let importMenu = UIDocumentMenuViewController(documentTypes: doctypes, inMode: .Import)
importMenu.delegate = self
importMenu.popoverPresentationController?.barButtonItem = self.addButon;
self.presentViewController(importMenu, animated: true, completion: nil)
Ihres Projekts capabilites verwenden. Aktivieren Sie zuerst die iCloud-Dienste und den Schlüssel Sharing, importieren Sie jetzt MobileCoreServices in Ihre Klasse und erweitern Sie schließlich die folgenden drei Klassen innerhalb Ihrer Klasse.
UIDocumentMenuDelegate,UIDocumentPickerDelegate,UINavigationControllerDelegate
Nun werden Sie die richtigen Implementierungen für Ihre erweiterten neuen Klassen zu machen beauftragt. Die Funktionen, die Sie benötigen, sind
@available(iOS 8.0, *)
public func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
let cico = url as URL
print("The Url is : /(cico)")
//optional, case PDF -> render
//displayPDFweb.loadRequest(NSURLRequest(url: cico) as URLRequest)
}
@available(iOS 8.0, *)
public func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
documentPicker.delegate = self
present(documentPicker, animated: true, completion: nil)
}
func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
print("we cancelled")
dismiss(animated: true, completion: nil)
}
Wie nennen Sie das alles? Fügen Sie einer Ihrer anklickbaren Funktionen den folgenden Code hinzu.
func mySpecialFunction(){
let importMenu = UIDocumentMenuViewController(documentTypes: [String(kUTTypePDF)], in: .import)
importMenu.delegate = self
importMenu.modalPresentationStyle = .formSheet
self.present(importMenu, animated: true, completion: nil)
}
Manipulieren Sie die documentTypes nach Ihren Bedürfnissen. In meiner App dürfen Nutzer nur Pdf. Also, passen Sie sich an.
kUTTypePDF
Nun, wenn Sie Ihre Schaltfläche klicken. Das folgende Menü wird
Im Fall von DropBox Pop-up. Nach dem Klicken auf einen Gegenstand. Sie werden zu Ihrer App weitergeleitet. Und die URL wird gedruckt.
Auch wenn Sie sich wie Sie Ihre eigene Menüleiste anpassen. Fügen Sie den folgenden Code und passen Sie Ihre eigene Funktion innerhalb des Handlers
importMenu.addOption(withTitle: "Create New Document", image: nil, order: .first, handler: { print("New Doc Requested") })
es genießen.
kann nicht auf "public.audio" gesetzt werden zeigt diesen Fehler "zeigt diesen Fehler" übergeben in Typ public.pdf entspricht weder public.content noch public.item. Wenn Sie einen neuen Typ exportieren, stellen Sie bitte sicher, dass er einem entsprechenden übergeordneten Typ entspricht. " –
danke, das hat mir geholfen –
Während ich den UIDocumentMenuViewController initialisiere, wird meine App abgestürzt @Alexander –
- 1. Was muss ich importieren, um auf meine Modelle zugreifen zu können?
- 2. Wie kann ich auf das Internet zugreifen? Meine App App ist auf Android Mi4i Telefon minimiert?
- 3. Wie kann ich auf meine Knotendaten in ejs zugreifen
- 4. Wie kann ich auf SESSION-Variablen in PHP-Dateien zugreifen?
- 5. Kann nicht auf meine Dateien in ASP.NET-Website zugreifen
- 6. Wie kann ich auf meine Datenbank-Funktionen in anderen Klassen/Dateien in Tornado zugreifen?
- 7. Ich kann nicht auf Dateien auf Windows 8.1-Telefongerät zugreifen
- 8. Wie kann ich auf Pässe in meiner App zugreifen?
- 9. kann nicht schnell zwischen Dateien in Vim
- 10. Wie lade ich meine Datenbank auf meine Website, um sie in meiner Android App zu verwenden?
- 11. Wie kann ich auf die SQLite-DB zugreifen, die meine App auf dem iPhone verwendet?
- 12. Wie bekomme ich meine ember.js App, um Module von Bower oder Npm zu importieren
- 13. Wie kann ich meine App schnell und sicher von 1.5 auf 1.6 api migrieren?
- 14. Wie finde ich meine App-Dateien im iPhone Simulator-Ordner?
- 15. Wie kann ich Verzeichnisse auf Win32 schnell aufzählen?
- 16. Ich kann meine Google App nicht autorisieren, um auf meine Cloud SQL-Instanz zuzugreifen
- 17. Wie kann ich auf meine Webseite von fern zugreifen?
- 18. Wie kann ich von Perl aus auf INI-Dateien zugreifen?
- 19. Ich kann nicht auf meine Datenbank-Datei in Anwendung zugreifen
- 20. Wie kann ich meine .NET App in Amazon EC2 bereitstellen?
- 21. Wie kann ich nur meine App ohne Login auf Firebase zugreifen lassen?
- 22. Konfigurieren einer migrierten Schienen-App. Wie kann ich Apache davon überzeugen, auf meine App zu verweisen?
- 23. Wie kann eine Android-App ohne Erlaubnis auf Klingeltöne zugreifen?
- 24. Wie kann ich auf das Messenger-App-Dashboard zugreifen?
- 25. Wie kann ich auf meine eigene 2 iOS App-Datenbank von einander zugreifen
- 26. kann ich WiX verwenden, um meine app am Ende installieren zu starten, aber ich kann meine app laufen im Vordergrund
- 27. Kann ich mit JNDI auf Dateien/deren Inhalt zugreifen?
- 28. Wie kann ich importieren?
- 29. Thymoleaf + HTML5 - Warum kann ich nicht auf meine Javascripte zugreifen?
- 30. Wie kann ich auf die Physikgeräte im Game Maker zugreifen, um sie zu zeichnen?
Was mache ich mit der temporären URL, die ich ursprünglich vom DocumentPicker bekomme? Ich habe bemerkt, dass mein pdfView diese temporäre URL leicht anzeigt, aber es bleibt höchstens für ein paar Minuten gültig. Mit anderen Worten, wann sollte ich die .lastcomponent aus dieser temporären URL nehmen und dauerhaft machen, indem ich sie zum Document-Pfad hinzufüge? Ich hoffe, diese Fragen ergeben Sinn. – user3140521