iOS アプリに共有拡張機能を追加し、デフォルトの SLComposeServiceViewController ではなく、UIViewController を使用してカスタム UI を作成しました。UI は機能していますが、共有するように選択されたファイルを参照するにはどうすればよいですか? たとえば、写真の共有をクリックした場合、その写真を参照して NSData に変換するにはどうすればよいでしょうか。私は現在このコードを持っていますが、実行するとデータが初期化されないようです。私は何を間違っていますか?
//Runs when button is pressed
inputItem = extensionContext!.inputItems.first as NSExtensionItem
attachment = inputItem.attachments![0] as NSItemProvider
attachment.loadItemForTypeIdentifier(kUTTypeJPEG as String,
options: nil,
completionHandler: {(content, error: NSError!) in
let url = content as? NSURL
if let data = NSKeyedArchiver.archivedDataWithRootObject(url!) as NSData?{
self.imageChosen = UIImage(data: data)!
//Never runs
}
else {
//Always runs
}
})
また、選択した添付ファイルに複数のファイル (写真またはビデオ) が含まれている場合、またはファイルの種類が無効な場合に、拡張ボタンを非表示にするにはどうすればよいですか。どんな答えでも大歓迎です。前もって感謝します。