我已经为我的iOS应用程序添加了一个共享扩展,并使用UIViewController创建了自定义UI,而不是默认的SLComposeServiceViewController。用户界面正在工作,但我如何参考选择共享的文件?例如,如果我在照片上分享照片,我如何引用该照片并将其转换为NSData。我目前有这个代码,但是当它运行时,数据似乎从未被初始化。我究竟做错了什么?iOS 8共享扩展附件 - Xcode - Swift
//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
}
})
另外,如何使当所选附件包含一个以上的文件(照片或视频),或者是一个无效的文件类型扩展名按钮消失。任何答复表示赞赏。提前致谢。
对于这个扩展,'NSExtensionActivationRule'看起来像什么? –