2015-06-20 55 views
1

我想在Xcode中加載一個XML文件。該文件應該在應用程序啓動時加載,並更新數據以備將來使用。 我拖在Xcode中「支持文件」文件夾中的文件,我可以看到該文件的項目子目錄中的副本: /Users/Alex/Documents/ObjectiveC projects/myProject/myProject在Xcode 6.3.2項目包中訪問XML文件

我使用訪問該文件中的代碼是:

// Search for files in bundle 

_path = [[NSBundle mainBundle] pathForResource:@"profile" ofType:@"xml"]; 

NSLog(@"myFile path: %@", _path); 

然而,當我運行的應用程序的_path被設置爲其他目錄:

myFile path: /Users/Alex/Library/Developer/CoreSimulator/Devices 
/8F2AD2A7-4875-47C9-9AB8-852339AF31A0/data/Containers/Bundle/Application 
/7D9A4A78-A7CB-40E5-8CC7-6B8EE2143D2E/myProject.app/profile.xml 

此外,它看起來像我不能寫這個文件。如果我重新啓動應用程序,內容是相同的。無論我在模擬器還是設備上運行應用程序,都會發生這種情況。 它幾乎看起來像我正在訪問某些版本的文件,當我第一次運行時,在捆綁包中兌現。

回答

1

事實證明,該包中的文件是隻讀的。這在其他帖子中已經討論過了:File write with [NSBundle mainBundle] fails

當我第一次運行應用程序時初始化應用程序,然後使用新文件作爲讀/寫文件,我獲得了我需要的文件複製到一個新文件。