NSUserDefaults
次のように作成された URL を使用して、オーディオ ファイルのユーザー設定を保存します。
soundURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audioFile1.m4r", [[NSBundle mainBundle] resourcePath]]];
その後、その設定は次のように取得されます。
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:self.audioURL error:&error];
これはうまく機能し、ベータ テストのために TestFlight を介してアプリがアドホック展開される最近まで問題はありませんでした。現在、アプリを再インストールすると、サウンドが再生されません。ログは、新しいインストールで変更された GUID (または同等のもの) にパスが依存していることを示しています。
file://localhost/var/mobile/Applications/D74D8B09-5B27-4EF9-A344-68304CFE5549/myApp.app/audioFile1.m4r
環境設定に保存されていましたが、その後のインストールでビルドされたときの URL は次のとおりです。
file://localhost/var/mobile/Applications/5F607CD7-6E32-45F0-9897-0DDBACBDD6B0/myApp.app/audioFile1.m4r
だから私の質問は次のとおりです。私はそれを間違っていますか? もしそうなら、正しい方法は何ですか?これが TestFlight でのみ発生するのはなぜですか?