【问题标题】:iOS - Document based app import file from share sheetiOS - 从共享表中导入基于文档的应用程序文件
【发布时间】:2018-06-18 23:07:48
【问题描述】:

我正在构建一个基于文档的 iOS 应用程序。当我将 info.plist 文件中的“支持文档浏览器”键设置为“是”时,我的应用程序会在图标下方显示“打开方式”文本,并且它会显示在 iOS 的“文件”应用程序中。当我在我的应用程序中打开文件时,AppDelegate 的 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 方法中的 url 参数指向文件的来源。因为源不在我的应用程序的文件夹中,所以我无法将文件复制或移动到所述文件夹中。

当我将 info.plist 中的属性设置为 NO 时,我的应用程序图标下方的文本是“复制到”,并且 url 指向我的应用程序收件箱文件夹中的一个文件,我可以在其中复制和移动文件。但该应用未显示在“文件”应用中。

有没有办法在文件应用中显示应用,但让打开的文件复制到收件箱文件夹?

提前致谢,
费边。

【问题讨论】:

    标签: ios objective-c file document ios-sharesheet


    【解决方案1】:

    如果您支持就地打开,您绝对可以将文件复制到其他地方。只需确保您使用正确收到的安全范围 URL,并仅在文件协调下访问它。但是,这样做会非常奇怪:如果用户正在打开一个文件,而不是在复制它,他希望该文档能够在适当的位置进行编辑。例如。您在 iCloud 中有一个文档,并在您的应用程序中打开它:当使用不同的设备时,您想查看编辑!如果您改为编辑副本,这将不起作用。

    如果您确实想编辑一个副本,则绝对不应出现在“文件”应用程序中(共享表中除外),因为在“文件”中拥有两个文档副本会非常混乱。

    【讨论】:

      猜你喜欢
      • 2021-02-19
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多