问题描述
我正在尝试直接在预定义的应用程序中打开文件。我正在运行此代码,但我不断收到错误消息……
func pushFile(_ destination: URL) {
let appURL = destination
DispatchQueue.main.async {
if UIApplication.shared.canOpenURL(appURL) {
if #available(iOS 10.0,*) {
UIApplication.shared.open(appURL,options: [:],completionHandler: nil)
}
else {
UIApplication.shared.openURL(appURL)
}
} else {
print("ERROR")
}
}
}
在info.plist中,我还添加了:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>file</string>
</array>
当我从iPhone(不在模拟器中)运行应用程序时,出现此错误:
SuperApp [24883:7866592] -canOpenURL:网址失败:“文件:///private/var/mobile/Containers/Data/Application/7F14B348-8BE5-4A26-94DA-D9163634D8BA/tmp/port.lrtemplate” -错误:“操作无法完成。(OSStatus错误-10814。)”
所需的应用已安装在设备上。
解决方法
您正试图通过向系统抛出文件URL来使应用打开文件。你不能那样做。