2012-03-21 47 views
14

每當我想從我使用下面的代碼plist文件中獲取數據獲取數據:從信息的plist

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"FILE_NAME" ofType:@"plist"]; 
NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfFile:filePath]; 

但現在我想從信息plist中讀取數據,並且文件路徑零。有沒有不同的方式從Info plist獲取數據?

+0

謝謝,這解決了我的問題。 – Darren 2012-03-21 13:27:35

+0

[iOS:在代碼中訪問app-info.plist變量]的可能重複(http://stackoverflow.com/questions/9530075/ios-access-app-info-plist-variables-in-code) – thegrinner 2016-08-17 12:46:56

回答

40

從以前的SO答案我的。從info.plist中爲您的項目屬性是直接訪問通過以下...

[[NSBundle mainBundle] objectForInfoDictionaryKey:key_name]; 

你filepath是零,只是因爲它無法找到該文件 - 如果檢查拼寫檢查&您要的文件讀從實際上是在束等

+0

我可以使用[NSBundle mainBundle] .infoDictionary獲得plist。信息列表不在目標的「複製包資源」列表中。信息plist存儲在別的地方嗎? – Darren 2012-03-21 13:34:22

1

我不認爲有另一種方式(除非它是info.plist文件,然後看達摩的評論),而是我將重點弄清楚爲什麼filePath是零,也許plist文件不再是目標>構建階段>複製束資源?

+1

我可以使用[NSBundle mainBundle] .infoDictionary獲取plist。 info plist不在「複製軟件包資源」列表中。我想這信息plist有一些特別的東西? – Darren 2012-03-21 13:30:55

+0

斑點 - 我從來沒有想到,但在檢查我目前的項目時,info.plist也未被複制 – Damo 2012-03-21 13:35:52

0

替換

[[NSBundle mainBundle] pathForResource:@"FILE_NAME" ofType:@"plist"] 

[[NSBundle mainBundle] pathForResource: @"Info" ofType: @"plist"]