Fab*_*her 0 pdf ios swift ios-app-extension
我正在寻找导入PDF的可能性,以便用它做一些进一步的任务,就像本课题中所述:将PDF文件导入到app
经过两天的互联网浏览后,我发现行动扩展可能是解决方案,这是我得到了多远:
override func viewDidLoad() {
super.viewDidLoad()
let fileItem = self.extensionContext!.inputItems.first as! NSExtensionItem
let textItemProvider = fileItem.attachments!.first as! NSItemProvider
let identifier = kUTTypePDF as String
if textItemProvider.hasItemConformingToTypeIdentifier(identifier) {
textItemProvider.loadItemForTypeIdentifier(identifier, options: nil, completionHandler: handleCompletion)
}
}
func handleCompletion(pdfFile: NSSecureCoding?, error: NSError!) {
print("PDF loaded - What to do now?")
}
Run Code Online (Sandbox Code Playgroud)
正确调用完成处理程序,因此我假设PDF已加载 - 但我现在不知道如何继续.如果动作扩展只处理图像或文本,它可以轻松下载,但使用我知道的文件的唯一方法是路径名 - 我没有,也不知道如何获取.另外,我非常确定Sandboxing也是派对的一部分.
我想我只需要向正确的方向推进哪个类或协议可能适合我的需要 - 任何建议都高度赞赏.
对于其他寻找答案的人 - 我自己发现了,这很容易让人感到尴尬:
func handleCompletion(fileURL: NSSecureCoding?, error: NSError!) {
if let fileURL = fileURL as? NSURL {
let newFileURL = NSURL(fileURLWithPath: NSTemporaryDirectory().stringByAppendingString("test.pdf"))
let fileManager = NSFileManager.defaultManager()
do {
try fileManager.copyItemAtURL(fileURL, toURL: newFileURL)
// Do further stuff
}
catch {
print(error)
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1720 次 |
最近记录: |