gpt4 book ai didi

ios - 我有自定义文件类型,如何让其他 iOS 应用程序打开它?

转载 作者:行者123 更新时间:2023-11-29 10:37:44 40 4
gpt4 key购买 nike

我正在创建一个用于整理书籍的 iOS 应用程序。用户能够将他/她的“库”导出为自定义文件类型以备份或与他人共享。如果其他应用程序,例如GoodReader,将能够打开它,以便用户可以将它放在服务器或类似的服务器上。我知道除了我的应用程序之外没有任何应用程序可以打开该文件,但其他人仍然可以管理该文件并移动它。

我该怎么做?

编辑了更多信息

NSString *tempPath = NSTemporaryDirectory();
NSString *filePath = [tempPath stringByAppendingPathComponent:@"bksFileExport.bks"];
[self.activityItem writeToFile:filePath
atomically:NO];

self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];
self.documentInteractionController.UTI = @".bks";
[self.documentInteractionController presentOpenInMenuFromBarButtonItem:self.barButtonItemToOpenFrom
animated:YES];

这是我用来打开文档交互 Controller 的代码。我只包含了相关部分。当我对 .txt 文件使用完全相同的代码时,它会起作用。现在不是了。

我没有对我的 Info.plist 文件做任何事情,也许我应该做些什么?

用我尝试过的更多东西再次编辑

这就是我现在根据答案和评论所做的。 (该图标只是一个占位符)。它仍然不起作用。当我想要导出我的自定义文件时,没有其他应用出现。

最佳答案

步骤取自 this指导。

  1. 打开您的项目目标并转到信息选项卡

  2. 展开 Imported UTIs 选项卡并添加一个新选项卡并填写

    • 描述 - 这可以是任何你想要的
    • 标识符 - 这可以是任何你想要的,但你将在后面的步骤中使用这个值
    • 符合 - 文件类型的层次结构。你至少要使用 public.data - See apple's documentation for more details
    • 展开“其他导入的 UTI 属性”,添加一个带有 UITypeTagSpecification 且类型为字典的新键。将数组类型的 public.filename-extension 键添加到字典中,并在数组中创建具有文件扩展名字符串值的项目。 image
      (来源:infragistics.com)
  3. 展开“导出的 UTI”选项卡并填写以下内容

    • 姓名 - 这可以是任何你想要的
    • 类型 - 这必须与您在第 3 步中填写的“标识符”字段相同。

完成此操作后,应注册您的应用以打开您的文件类型。当用户打开一个文件到你的应用程序时,-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 将是调用您的 AppDelegate。您的应用打开的文件存储在应用文档文件夹内名为“收件箱”的文件中。

关于ios - 我有自定义文件类型,如何让其他 iOS 应用程序打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26076577/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com