迁移到沙箱没有发生

时间:2012-11-13 09:44:24

标签: xcode macos cocoa sandbox

我正在沙箱化现有的应用程序,由于某些原因,迁移似乎不起作用,尽管我完全遵循documentation中指定的内容。总之,这是我正在做的事情:

  1. 我删除了现有的容器(在〜/ Library / Containers / com.mycompany.myapp中);
  2. 我在资源组中创建了container-migration.plist;
  3. 我想在~/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>
    
  4. 启动应用程序时,会创建新容器,并创建一个空白文件,但不会执行迁移。

  5. 我尝试迁移的文件是CoreData SQLite商店。数据模型没有改变,所以不涉及数据迁移,我只是试图将CoreData存储移动到沙盒容器。

    我想我错过了一些非常明显的东西,因为我找不到任何有用的东西,任何帮助都会非常感激。

1 个答案:

答案 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

我尝试在运行之前将应用程序复制到我的桌面,并从那里正常工作。我不明白为什么从构建文件夹迁移不起作用,但这足以解决我的问题。

希望这会避免让别人浪费时间。

相关问题