2017-07-17 170 views
0

我有幾個目標的項目:無法訪問資源包

  • MyLib中 - 靜態庫
  • 資源 - 資源包
  • 應用 - 例如應用程序現在

,我」想要做是從資源的訪問內部資源MyLib中。我已經在這兩個MyLib中和App添加資源目標相關複製包資源。在資源,我已經添加了我需要複製包資源的所有文件。

但是,我無法訪問的資源包,無論是在我的庫,也沒有在應用程序。 [NSBundle bundleWithIdentifier]返回nil。 MyLib中,當我列出與[NSBundle allFrameworks][NSBundle allBundles]所有包,我可以看到應用程序包,但不能Resouces束。任何幫助?

回答

0

我設法找到了答案:

顯然,bundleWithIdentifier不會加載一個包。文檔似乎有點模糊:

如果沒有與標識符關聯的現有束,此方法將創建並返回一個新的NSBundle對象。否則,返回現有的實例。

有人可能會想到,你可以加載一個捆綁它,情況並非如此。你需要與bundleWithPath明確加載包,就像這樣:

NSBundle *bundle = [NSBundle bundleWithPath:[NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] bundlePath], @"Resources.bundle"]]; 

問題解決了我。