Swift 无法使用“在中打开”打开文件。。。从Xcode 9.3开始

Swift 无法使用“在中打开”打开文件。。。从Xcode 9.3开始,swift,xcode,debugging,Swift,Xcode,Debugging,在Xcode 9.3之前,我在导入文件时没有遇到任何问题,现在尝试使用应用程序中的open打开文件时,会与崩溃 Thread 1: EXC_BAD_ACCESS (code=1, address=0x0) 连我的手都拿不到 func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { let urlName

在Xcode 9.3之前,我在导入文件时没有遇到任何问题,现在尝试使用应用程序中的open打开文件时,会与崩溃

Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)
连我的手都拿不到

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

    let urlName = url.lastPathComponent
    print("Gotten a file \(urlName)")
}
所以在我的应用程序得到文件之前,它崩溃了,我不明白

在AppDelegate中

我还创建了一个新的空项目,得到了同样的问题

这些是必要的文档设置

坠机地点


我碰巧遇到了这种方法

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

      // read in your file 

}

因此,用此方法替换了上述方法,它成功了。

你的应用程序在哪里崩溃?你需要启用异常断点,以便查看应用程序真正崩溃的位置。仍然像以前一样获得结果-导入文件应在应用程序委派中触发该方法,但在此之前该方法已被窃听。谢谢!我一直在努力解决这个问题,但你的回答为我指明了正确的方向。似乎在iOS 9中已弃用了
应用程序(uuquo:open:sourceApplication:annotation:)
,但Xcode没有发出警告。参考: