2

既存のアプリケーションをサンドボックス化していますが、ドキュメントで指定されている内容に正確に従っていますが、何らかの理由で移行が機能していないようです。要約すると、これが私がしていることです:

  1. 既存のコンテナを削除しました(〜/ Library / Containers / com.mycompany.myapp内)。
  2. container-migration.plistResourcesグループにを作成しました。
  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. アプリケーションを起動すると、新しいコンテナが作成され、空のファイルが作成されますが、移行は実行されません。

移行しようとしているファイルはCoreDataSQLiteストアです。データモデルは変更されていないため、データの移行は必要ありません。CoreDataストアをサンドボックス化されたコンテナーに移動しようとしています。

私は周りに役立つものを見つけることができないので、私は非常に明白な何かを見逃していると思います、どんな助けでも大いに感謝されます。

4

1 に答える 1

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

アプリケーションを実行する前にデスクトップにコピーしようとしましたが、そこから正しく動作します。ビルドフォルダからの移行が機能しない理由はわかりませんが、これで問題を解決できます。

うまくいけば、これは他の誰かが彼らの時間を無駄にするのを避けるでしょう。

于 2012-11-13T09:57:19.677 に答える