私が取り組んでいるアプリは、ビデオ ファイルとオーディオ ファイルをディスクに永続化し、ファイルの URL とその他のメタデータを Core Data データベースに保存します。NSSearchPathForDirectoriesInDomains()
関数 (引数: NSDocumentDirectory
, NSUserDomainMask
, )を使用してYES
、ファイル名を文字列に追加し、それを NSURL の-initFileURLWithPath:
.
すべての移行プロセスに従って、マネージド オブジェクト モデルに小さな変更を加えました。
テストでは、以前のバージョンでキャプチャされたビデオとオーディオ ファイルがアップデートで再生されないことだけが機能していません。
例えば:
- テスターは App Store から 1.0 バージョンをダウンロードします
- テスターは 3 つのビデオを撮ります
- テスターはこれら 3 つのビデオを再生できます
- テスターは TestFlight から 1.0.1 バージョンをダウンロードします
- テスターは現在、3 つのビデオを再生できません
ビデオをキャプチャして再生するコードは、バージョン間で変更されていません (標準の MPMoviePlayerController を使用しています)。
Core Data マネージド オブジェクト モデル エンティティ「ビデオ」は、移行で変更されませんでした (別のエンティティは「ユーザー」でした)。
私の直感では、これはコード署名/プロビジョニング プロファイル/アプリ ID の問題です。上記の手順を実行しても、TestFlight から 1.0.1 をダウンロードする代わりに、Xcode でビルドして実行しても問題はありません。ディストリビューション証明書を使用して 1.0.1 ビルドにコード署名し、App Store バージョンと同じ App ID を使用しています。明らかにできないのは、App Store プロファイルを使用して TestFlight ビルドに署名することだけです。
私に何ができる?