以下を使用して、viewDidLoad でバンドル オブジェクトを初期化しています。
documentBundle = [[NSBundle alloc] initWithPath:path];
パスは次のようになります。
/Users/..../Library/Application Support/iPhone Simulator/6.1/Applications/B69B8A03-C029-4DF5-89E0-1429E73E840F/Documents/Downloads/documents.bundle
アプリケーションの実行中に、documents.bundle を更新して古いものを取り除く必要があります。だから私はそれを削除し、ウェブから最新のものをダウンロードします。バンドル オブジェクトが同じフォルダーを指していることを確認しましたが、既存のフォルダーを置き換えた後、そのバンドル内のコンテンツを取得できません。アプリケーションを再起動すると、最新のコンテンツが取得されます! ここで何が起こっているのかわかりません。何が間違っているのか指摘できますか?
バンドルを交換した後、以下はNilパスを返します! 端末から必要なファイルがすぐそこにあることがわかります!
NSString *path = [documentBundle pathForResource:filename ofType:extension];
また、バンドルを置き換えた後にバンドル オブジェクトを再初期化しようとしましたが、それでも同じメモリ アドレス (%p を使用して出力) を指しており、新しいバンドルからコンテンツを返しません。
デバイスとシミュレータの両方で同じ結果が得られます。