container-migration.plist ничего не делает

Я настроил свой container-migration.plist для переноса моего приложения MAS в песочницу приложения. Кажется, что он ничего не делает, когда я запускаю приложение. Я подтвердил, что файл включен в ресурсы приложения. Вывод консоли не создается, говоря, что элементы были перенесены, а указанные папки и файлы не перенесены. Вместо этого они воссоздаются моим приложением, как это обычно бывает, когда их не существует.

Когда происходит миграция? Мое приложение автоматически загружается из метода applicationDidFinishLaunching. Разве старые файлы не должны быть перенесены до вызова этого метода? Как я могу отладить код миграции?

<?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}/com.company.AppName</string>
        <string>${ApplicationSupport}/com.company.AppName/data.sqlite</string>        
    </array>
</dict>
</plist>

person Cal    schedule 10.11.2011    source источник


Ответы (1)


Неважно... Я обнаружил, что мне просто нужно удалить папку приложения из папки ~/Library/Containers, чтобы снова запустить миграцию.

person Cal    schedule 10.11.2011
comment
Правильно, он мигрирует только при первом запуске: манифест миграции контейнера состоит из массива строк, которые идентифицируют вспомогательные файлы и каталоги, которые вы хотите перенести, когда пользователь впервые запускает изолированную версию вашего приложения. - person valexa; 31.01.2012