【问题标题】:iOS can't visit the app group folder with FileManager [duplicate]iOS无法使用FileManager访问应用程序组文件夹[重复]
【发布时间】:2020-09-25 03:36:16
【问题描述】:

我使用以下代码将png文件写入App Group文件夹以在我的共享扩展和App之间共享,我发现写入文件可以成功(我可以在我的终端中找到该文件),但是写完后,我用contentsOfDirectory来获取App Group Folder的内容,会失败并抛出

Error Domain=NSCocoaErrorDomain Code=260 "The folder “435D6129-B964-46A4-A066-47133EFF832D” doesn’t exist." UserInfo={NSUserStringVariant=(
    Folder 

因为我可以写到App group,所以我觉得App Group的配置还可以,但是为什么不能使用contentsOfDirectory获取App group目录的内容呢?

【问题讨论】:

  • 检查你的url是否有file://,如果有,则不是有效路径
  • ...要解决这个问题,您应该使用.path 而不是.absoluteString
  • @jtbandes,谢谢!这正是问题所在!

标签: ios swift xcode sandbox ios-app-group


【解决方案1】:

使用URL.absoluteString 将返回无效路径,因为它包含文件方案file://

您应该使用 URL.path,在您的情况下是:

let contents = try FileManager.default.contentsOfDirectory(atPath: groupURL.path)

【讨论】:

  • @ximmyxiao 或在您的情况下简单地使用func contentsOfDirectory(at url: URL, includingPropertiesForKey:, options:) 方法:FileManager.default.contentsOfDirectory(at: groupURL)
猜你喜欢
  • 2022-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多