无法在IOS 13上导入具有自定义UTI扩展名的文件



由于IOS 13的更新无法导入自定义UTI文件(在具有12.4的设备上完美工作(

我已经从这个页面下载了简单的工作项目:https://www.raywenderlich.com/813044-uiactivityviewcontroller-tutorial-sharing-data,我还将其用作我的应用程序共享系统的基础。

在IOS 13(12.4工作(上,当获取样本文件(从电子邮件o数据文件夹(并单击"复制到应用程序"时,IOS返回主屏幕,几秒钟后我收到Safari崩溃错误。

这是导出文件的项目info.plist部分:

<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Book Tracker Document</string>
<key>UTTypeIconFiles</key>
<array>
<string>book_320.png</string>
<string>book_64.png</string>
<string>book_44.png</string>
<string>book_22.png</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.raywenderlich.BookTracker.btkr</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>btkr</string>
<key>public.mime-type</key>
<string>application/booktracker</string>
</dict>
</dict>
</array>
</key>

我尝试过的东西:

  • 添加一个UTImportedTypeDeclarations,其详细信息与UTExport类型声明的详细信息相同,因为项目中没有----仍然崩溃

  • 在这篇关于结尾的文章中,有人建议从info.plist中删除该部分(不修改文档类型部分(,并从接口重新创建它----STILL CRASH(当为public.filneame-extensing或mime-type添加数组项时,它也会导致xcode中的无限循环(

  • 以上解决方案的各种组合

这是我经常遇到的主要错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
terminating with uncaught exception of type NSException

完整日志在这里:日志

我有点出主意了!请帮忙!

我不知道你的问题的答案,但我对Ray Wenderlich的同一个示例应用程序也有类似的问题。遗憾的是,本教程的评论部分已关闭。

我使用的是已经设置了所有UTI信息的"已完成"版本。

在我的情况下,我想将".btkr"文档保存到Files应用程序中。这还可以,但如果我点击保存在Files中的.btkr文档,它会打开BookTracker应用程序,但在Book.swift importData(from url:url(方法中会悄悄失败。

我将guard语句分解为do/try/catch块,我看到的是"无法打开文件"NewBook.btkr",因为您没有查看它的权限。"这是从"let data=try data(contentsOf:url("语句中抛出的。

奇怪的是,如果我通过电子邮件共享同一个文档,点击.btkr附件即可成功打开应用程序并导入.btkr。通过AirDrop共享也可以。

我不知道这是否只是iOS 13的错误,因为我不再有任何带有旧iOS的设备。由于Wenderlich的教程通常都很好(这是2019年2月iOS 13之前的教程(,我怀疑你和我的问题都是iOS 13的错误。

我在我的应用程序上看到了完全相同的东西。在startAccessingSecurityScopedResource&stopAccessingSecurityScopedResource在我运行iOS 13.2.3的iPad上有所帮助,但我仍然看到Safari崩溃,无法在运行13.2.2的iPhone上打开文档。

最新更新