2011-09-15 3 views
0

私のアプリケーションには2つのターゲットがあります。
それぞれには独自のInfo.plistファイルとカスタムフォルダが含まれています(グループではなく参照として)。
ターゲットをシミュレータで実行すると、フォルダがバンドルに正しく挿入され、その中のファイルが問題なく読み込まれます。
これは、フォルダのパスを読み込むためのコードです:私は、デバイス上のアプリケーションをデバッグしようとした場合iPadバンドルにフォルダを追加すると、デバイスではなくシミュレータで動作します

NSBundle* mainBundle; 
NSString *fileFolder; 
mainBundle = [NSBundle mainBundle]; 
NSLog(@"Bundle path: %@", [mainBundle bundlePath]); 
NSLog(@"Folder name: %@", [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]); 
NSString *folder = [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]; 
fileFolder = [[[NSBundle mainBundle] pathForResource:folder ofType:nil] retain]; 
NSLog(@"Folder: %@", fileFolder); 

、バンドルのパスおよびフォルダ名は正しいですが、フォルダの文字列がnullです。
私は自分のアプリケーション製品をチェックしました。そこにはすべてのファイルを含む正しいフォルダがあります。
問題は何ですか?それは読み取り権限の問題ですか?

UPDATE のiPad Simulatorで実行されている結果のパスがあり、この

/* /ライブラリ/ Application Support/iPhoneシミュレータ/ 4.3.2 /アプリケーション/ 8337B9E5-1BFE-4A17-969E-E3E6E43193D6/

UPDATE 2 MyApp.app/CustomFolder/問題は、私は、「任意の追加フォルダのフォルダ参照を作成します」のフォルダを追加したことです。
私はpathForResourceをstringByAppendingPathComponentに置き換えましたが、問題は今度はsubpathsOfDirectoryAtPathに残っています。

+0

大文字と小文字は区別されますか? Mac(iOSシミュレータを含む)では、ファイルシステムは大文字と小文字は区別されませんが、デバイス上にあります。 –

+0

フォルダは、名前とコードの両方の参照で大文字と小文字を区別します。 – pasine

答えて

0

iPadのメモリで正しい場所を使用していることを確認する必要があります。シミュレータに何を保存するかに制限はありません。このコードは動作します

+(NSString*) pathToDocumentsFolder 
{ 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
return documentsDirectory; 
} 
+(NSString*) pathToFileInDocumentsFolder:(NSString*)filename 
{ 
NSString *pathToDoc = [NSBundle pathToDocumentsFolder]; 
return [pathToDoc stringByAppendingPathComponent:filename]; 
} 
+0

myフォルダがドキュメントフォルダになく、バンドル内にあります。完全パスへの私のポストアップデートを見てください。 – pasine

+0

iPhoneにはどのバージョンのiOSがありますか? – geminiCoder

+0

iOS5 beta7を搭載したiPad1 – pasine

関連する問題