Przede wszystkim musisz uzyskać pełny dostęp do swojej niestandardowej klawiatury w celu użycia obrazów/gifów ... w ustawieniach iPhone'a -> Ogólne -> Klawiatury -> Klawiatury -> Dodaj nową klawiaturę ... (Wybierz klawiatura pod KLAWIATURAMI ZEWNĘTRZNYCH) -> kliknij na klawiaturę i przełącz Pozwól na pełny dostęp
Aby to zrobić, musisz przejść do, aby ustawić RequestsOpenAccess = YES w pliku info.plist znajdującym się w folderze rozszerzenia klawiatury.
Info.plist -> NSExtension -> NSExtensionAttributes -> RequestsOpenAccess -> TAK
Poniższa metoda dostanie tag tag przycisk sprawdzić w instrukcji switch i ustawić właściwy obraz według przycisk znacznika do papierowy. następnie
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")
}}
Użytkownik może wkleić obraz do dowolnej obsługiwanej aplikacji ...
nadzieję, że to pomaga!
Dziękuję za poradę. Próbowałem dodać go do pliku Info.plist, ale wciąż nie ma szczęścia. Nie dostaję już błędu (nawet z oryginalnym plikiem z jakiegoś powodu), ale 'UIPasteboard.generalPasteboard()' zwraca zero. –
Masz rację, to był problem "pełnego dostępu". Dodałem go do katalogu głównego pliku Info.plist, ale musi to być zrobione w ** Info.plist -> NSExtension -> NSExtensionAttributes -> RequestsOpenAccess -> YES ** Dziękujemy za pomoc! –
To musi być ustawione w info.plist z rozszerzeniem klawiatury, a nie z Twojej aplikacji zawierającej – Jasper