我需要在iOS上分享/打开一些不同的文件,例如将图像共享到iCloud或PDF打开到iBooks。虽然有一些文本和图像的示例,但没有其他类型的示例...
我创建了自己的UIActivityItemProvider
;这里是简化版本:
class MyItemProvider: UIActivityItemProvider {
override func item() -> AnyObject {
self.placeholderItem
}
override func activityViewController(activityViewController: UIActivityViewController, dataTypeIdentifierForActivityType activityType: String?) -> String {
return kUTTypePDF as String
}
func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
return self.placeholderItem
}
}
从类似下面的方式开始分享:
let myPDF = NSData(contentsOfURL: NSBundle.mainBundle().URLForResource("testpdf", withExtension: "pdf")) {
let activityVC = UIActivityViewController(activityItems: [MyItemProvider(placeHolder: myPDF)], applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)
我希望看到的是一个共享对话框,如下图:
但是我得到的却是:
有什么建议吗?
dataTypeIdentifierForActivityType
的调用 - 但这不是真的。同时NSURL也会触发它。提供NSURL而不是NSData将显示大多数已安装的应用程序 - 除了“保存到iBooks”。 - coyer