新手問題。如何在應用程序測試期間訪問資源
我知道,在模擬器中測試我的iPhone應用程序時,並非所有資源文件都在[NSBundle mainBundle]
中可用。我知道解決方案是指[NSBundle bundleForClass:[self class]]
而不是mainBundle。
問題,我有:當應用程序部署和它是很好的做法
是指的
[NSBundle bundleForClass:[self class]]
有效?它是很好的做法,在應用程序委託定義...
NSBundle *appBundle = [NSBundle bundleForClass:[self class]]; // or, for in final app // NSBundle *appBundle = [NSBundle mainBundle];
...和使用appBundle
整個代碼?否則,有太多的地方,我指的是[NSBundle mainBundle]
,我將不得不改變爲bundleForClass:[self Class]
。
如果我使用這個appBundle定義,我應該做其他事情嗎?也許在應用程序委託結束之前釋放appBundle?
謝謝!
蘇萊曼
在什麼情況下你看到'mainBundle'不工作?如果它在模擬器不起作用,那麼它不應該工作.. – Wain 2015-03-03 13:30:22
我猜你沒有將資源添加到應用程序包,這就是爲什麼他們沒有顯示出來。該包中的任何資源都位於mainBundle中。要爲資源添加或刪除資源,請單擊左上角的小文件夾(文件夾視圖),然後單擊頂部的項目,然後單擊目標(如果您有多個),然後顯示「複製軟件包資源」選項卡。從你所描述的內容來看,我猜測你想要的資源不會在那裏。 – 2015-03-03 14:11:49
@Wain,當在模擬器中運行應用程序時,並不是所有資源都在主包中找到。 – Sleiman 2015-03-03 14:54:15