Prima di tutto è necessario ottenere l'accesso completo alla tastiera personalizzata per utilizzare immagini/gif ... in Impostazioni iPhone -> Generale -> Tastiere -> Tastiere -> Aggiungi nuova tastiera ... (Seleziona il tuo tastiera sotto TASTIERE DI TERZE PARTI) -> fare clic sulla tastiera e attivare Consenti accesso completo
Per fare ciò è necessario andare a per impostare RequestsOpenAccess = YES nel file info.plist situato nella cartella di estensione della tastiera.
Info.plist -> NSExtension -> NSExtensionAttributes -> RequestsOpenAccess -> SI
Il seguente metodo otterrà il tag pulsante di controllare il tag nella dichiarazione switch e impostare l'immagine corretta in base al pulsante tag al cartone.
func btnPressed(sender: AnyObject) {
var btn = sender as UIButton
switch (btn.tag){
case 5:
let imageURL = NSBundle.mainBundle().pathForResource("cat", ofType: "png")
let data = NSData(contentsOfURL: NSURL(fileURLWithPath: imageURL!)!);
UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: "public.png")
case 10:
let imageURL = NSBundle.mainBundle().pathForResource("dog", ofType: "png")
let data = NSData(contentsOfURL: NSURL(fileURLWithPath: imageURL!)!);
UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: "public.png")
}}
utente può quindi incollare l'immagine a qualsiasi applicazione supportata ...
Spero che questo aiuti!
Grazie per il vostro consiglio. Ho provato ad aggiungerlo al file Info.plist ma ancora senza fortuna. Non ottengo più l'errore (anche con il file originale per qualche motivo) ma 'UIPasteboard.generalPasteboard()' restituisce nil. –
Hai ragione, si trattava di un problema di "accesso completo". L'ho aggiunto a root di Info.plist ma deve essere fatto in ** Info.plist -> NSExtension -> NSExtensionAttributes -> RequestsOpenAccess -> YES ** Grazie per il tuo aiuto! –
Deve essere impostato nel file info.plist dell'estensione della tastiera, non nell'app che contiene – Jasper