gpt4 book ai didi

cocoa - 我应该如何在应用程序沙箱中迁移 CoreData 文档?

转载 作者:行者123 更新时间:2023-12-03 17:57:42 26 4
gpt4 key购买 nike

我正在尝试更新基于 CoreData 的应用程序以满足在沙箱中运行的要求。然而,事实证明,迁移是困难的。看来 NSPersistentDocument 试图就地进行迁移,并希望在未经用户许可的情况下保存到磁盘。因此,轻量级迁移会失败。

我只能想象我需要有人避免在磁盘上进行迁移,但我不知道如何在 NSPersistentDocument 中执行此操作。建议子类化 NSDocumentController 并重写 makeDocumentForURL:... 以检查是否需要迁移。我认为此时的逻辑是创建一个新的无标题文档并将数据迁移到该文档,但我不确定这是否是最佳方法或应该考虑哪些其他方法。

我应该如何执行沙盒核心数据应用程序的迁移?

最佳答案

我能够通过临时权利解决这个问题。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
<string>/Volumes/</string>
<key>com.apple.security.temporary-exception.files.home-relative-path.read-write</key>
<string>/</string>
</dict>
</plist>

这使得自动迁移像没有启用沙箱一样工作。

但是,它本质上禁用了沙箱的很大一部分,因此我不确定苹果在应用商店批准时会如何 react 。

在developer.apple.com上,他们建议您在发现自己必须使用临时权利时提交错误。

关于cocoa - 我应该如何在应用程序沙箱中迁移 CoreData 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894404/

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