这是我的文本文件导出和导入难题的第二部分。现在,我有写代码和导出代码。难题的最后一部分是导入代码和读取代码。我想从电子邮件中提取附件并将其导入到应用程序中,以便我可以阅读。我有基本的阅读代码:
@IBAction func readButton(_ sender: UIButton) {
let filePath = getDocumentsDirectory().appendingPathComponent("matrixFile.txt")
do {
try displayField.text = String(contentsOfFile: path!,
encoding: String.Encoding.utf8)
} catch let error as NSError{
displayField.text = String(describing: error)
}
}
Run Code Online (Sandbox Code Playgroud)
但是我也想知道导入时是什么filePath。我调整了info.plist的导出功能,但是否需要对此做更多更改?这是我当前添加的内容:
提前致谢。
为了打开通过电子邮件附件输入的文档,您需要使您的应用程序出现在“在...中打开”菜单列表中。根据相关的Apple文档,您必须:
答:您需要注册您的应用程序可以通过iOS打开的文档类型。为此,您需要为应用程序可以打开的每种文档类型添加一个文档类型到您的应用程序的Info.plist中。此外,如果iOS无法识别任何文档类型,则需要为该文档类型提供统一类型标识符(UTI)。
我知道您已经添加了Exported Type UTI(如屏幕截图所示),但是您是否按照上面链接的页面上的说明使用您定义的UTI添加了文档类型?如果您没有这样做,那么您也应该添加文档类型,因为我认为,正是文档类型标识您的应用程序能够处理该特定类型的文档。
另外,由于txt是一种已知格式,因此您可能不需要为文本文件再次定义UTI。您也许可以只将现有的UTI用于文档类型定义中的文本文件。
实际上,我通过创建一个快速测试应用程序对上述内容进行了测试,而我需要添加到该应用程序中的只是文档类型(由于文本是已知类型,因此没有UTI定义),以便我可以在在...中打开。这是我的文档类型声明:

更新:
正如@LeoDabus提到的,您确实需要通过UIApplicationDelegate的application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool方法来实现实际打开文件。我认为您已经了解了这部分,但是如果您需要其他帮助,请在此处询问,我会答复。
| 归档时间: |
|
| 查看次数: |
3533 次 |
| 最近记录: |