shareExtensionを使用して、他のアプリ(例えばDropbox, EverNoteなど)から
共有ボタン->自作アプリを選択->Post でその画像をUserDefaultsで
一時的に保存して自作アプリにもって来てその中で保存、UserDefaultsの中身は削除
としたいのですが、text形式のもの(URL, 書き込んだ文字)しか持ってくることができず
画像データを持ってくることができなくて困っています。
Swift
1override func didSelectPost() { 2 3 let inputItem: NSExtensionItem = self.extensionContext?.inputItems[0] as! NSExtensionItem 4 let itemProvider = inputItem.attachments![0] as! NSItemProvider 5 6 // shareExtension ではそのページの 画像 を取得 7 if (itemProvider.hasItemConformingToTypeIdentifier("public.image")) { 8 itemProvider.loadItem(forTypeIdentifier: "public.image", options: nil, completionHandler: { 9 (item, error) in 10 11 // item に画像 が入っている 12 let itemImage: UIImage = item as! UIImage 13 14 // itemImage を UserDefaultsで保存処理 15 }) 16 } 17 18 self.extensionContext!.completeRequestReturningItems([], completionHandler: nil) 19}
こちらのサイトを参考にしているのですが、中に出てくる
inputItem, itemProviderの変数の意味がいまいち理解できず、
応用を生かすことができません。
hasItemConformingToTypeIdentifierの中でデータを認識してそれがあるかどうかを
チェックするのですが、"public.image", "public.pdf" などがその部分を通らないためできません。
画像のURLや書き込んだ内容(self.contentText)などは保存可能ですが、その画像データ本体を保存することはやはりできないのでしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/05 14:23
2017/01/05 14:31