2011-09-15 36 views
0

我的應用程序有兩個目標。
每個文件都有其自己的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); 

如果我嘗試調試設備上的應用程序,捆綁的路徑和文件夾名稱是正確的,但該文件夾字符串爲空。
我檢查了我的應用程序產品,並有正確的文件夾,所有的文件。
那麼問題是什麼?這是一個讀取權限問題嗎?

UPDATE 在iPad的模擬器中運行生成的路徑是這樣的

/* /庫/應用程序支持/ iPhone模擬器/ 4.3.2 /應用/ 8337B9E5-1BFE-4A17-969E-E3E6E43193D6/MyApp.app/CustomFolder/

更新2 的問題是,我已經添加了「創建任何添加的文件夾文件夾引用」的文件夾。
我用stringByAppendingPathComponent替換了pathForResource,但現在問題仍然存在於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

我的文件夾不在文檔文件夾中,在包中。看到我的帖子更新到完整的路徑。 – pasine

+0

你的iPhone上有什麼版本的iOS? – geminiCoder

+0

iPad1與iOS5 beta7 – pasine

相關問題