在我的Iphone應用程序中,我以前通過執行以下代碼將一個標準plist文件加載到字典中。最近我將源代碼和plist文件複製到一個新的包中,我將它編譯成框架並在原始應用程序中使用。所有代碼都在運行,但plist加載代碼無法再找到settings.plist文件。看着路徑,它似乎仍然在尋找主應用程序的文件。IOS框架問題加載嵌入式資源plist文件加載
我是否需要以某種方式更新此捆綁包以閱讀框架嵌入式資源?
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [[bundle resourcePath] stringByAppendingPathComponent:@"settings.plist"];
_plistDictionary = [[NSDictionary alloc] initWithContentsOfFile:path];
這是正確的想法,但bundleForClass似乎仍然是返回同捆的mainBundle。我認爲這是因爲框架被編譯幷包含在mainBundle的應用程序中,並在運行時成爲它的一部分。 – Miro
所以它不是一個真正的框架,而是你剛剛在你的應用程序捆綁包中獲得某種二次包?如果是這樣,那麼你可以嘗試類似:NSBundle * bundle = [[NSBundle mainBundle] pathForResource:@「MyBundle」ofType:@「bundle」];或者不管它是什麼。 – hsoi
這是一個框架,爲了簡化構建,我恰好碰巧與應用程序在同一個項目中。生成框架文件,並將其作爲框架資源包含在應用程序本身中。 (http://longtrieuquang.wordpress.com/2013/04/29/how-to-build-custom-ios-framework-with-xcode/) – Miro