我正在沙箱化现有的应用程序,由于某些原因,迁移似乎不起作用,尽管我完全遵循documentation中指定的内容。总之,这是我正在做的事情:
container-migration.plist
; 我想在~/Application Support
中迁移单个文件:我试图指定文件和封闭文件夹,但都没有工作。这是我正在使用的迁移plist(我刚刚更改了应用程序名称),文件夹为:
<?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>Move</key>
<array>
<string>${ApplicationSupport}/myapp</string>
</array>
</dict>
</plist>
启动应用程序时,会创建新容器,并创建一个空白文件,但不会执行迁移。
我尝试迁移的文件是CoreData SQLite商店。数据模型没有改变,所以不涉及数据迁移,我只是试图将CoreData存储移动到沙盒容器。
我想我错过了一些非常明显的东西,因为我找不到任何有用的东西,任何帮助都会非常感激。
答案 0 :(得分:3)
在发布问题后,我在系统日志中发现了这个错误:
13/11/2012 4:59:59.026 PM sandboxd[55845]: ([55835]) myapp(55835) deny file-read-data /Volumes/Mac_HD/Users/me/Library/Developer/Xcode/DerivedData/myapp-hfgnivbvxutfvcxjmyntrenofdsh/Build/Products/Debug no receipt verif
我尝试在运行之前将应用程序复制到我的桌面,并从那里正常工作。我不明白为什么从构建文件夹迁移不起作用,但这足以解决我的问题。
希望这会避免让别人浪费时间。