0

我正在为我的 iOS 应用程序开发文件提供程序扩展。一切正常,除了当我尝试将文件保存到磁盘时,它一直返回此错误:

Error Domain=NSPOSIXErrorDomain Code=2 "couldn't issue sandbox extension com.apple.app-sandbox.read-write for '/Users/Dlabs/Library/Developer/CoreSimulator/Devices/57330867-0570-46C8-8127-CAF8FE9F23A6/data/Containers/Shared/AppGroup/2F5EBE63-6FE5-47AE-BA55-BE47C5ED3FB1/File Provider Storage/0DCCF3F0-083A-4CBB-8C97-E98917DE8C53.jpg/0DCCF3F0-083A-4CBB-8C97-E98917DE8C53.jpg': No such file or directory"

让我难过的部分是:

couldn't issue sandbox extension com.apple.app-sandbox.read-write

每次我用谷歌搜索这个错误时,它都会返回指向 Apple 的链接,如下所示:

https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html

其中明确表示:

注意:本章描述特定于应用沙盒的 macOS 实现的属性列表键。它们在 iOS 中不可用。

有人有添加此权利的经验吗?

4

1 回答 1

1

好的,事实证明这与权利无关,而是我尝试在沙箱中创建目录的方式。

最初是这样做的:

[_fileManager createDirectoryAtPath:[[url URLByDeletingLastPathComponent] absoluteString]
        withIntermediateDirectories:true attributes:nil error:&dirError];

应该这样做:

[_fileManager createDirectoryAtURL:[url URLByDeletingLastPathComponent]
       withIntermediateDirectories:true attributes:nil error:&dirError];

createDirectoryAtPath注意和之间的区别createDirectoryAtURL

无论如何,希望这对将来的某人有所帮助!

于 2018-02-15T03:47:11.057 回答