objective-c - 打包成.framework sdk 想在裡面放 js 文件,不想用 bundle,怎麼可以讀取到 js 文件
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:33:31
0
2
796

用了NSString * jsStr = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"xx" ofType:@"js"] ,一直報Error Domain=NSCocoaErrorDomain Code=258 "The Codefile"沒有知道怎麼解決的?

过去多啦不再A梦
过去多啦不再A梦

全部回覆(2)
迷茫

靜態函式庫好像不行,必須搞bundle,而且放入的bundle的js檔案會被系統自動轉換為.txt文件,更好的解決方法是將js程式碼壓縮,然後進行URLEncode編碼可以解決這個問題。

给我你的怀抱

可以將你需要的文件一起打包到 Framework 里面,然后通过 NSBundle 去获取这个文件。不同的是不能使用 mainBundle,因为此时的 mainBundle 指的引用 Framework 的這個程式。當然找不到你的 JS 檔了。

解決方法:

  1. Framework 的工程里面,Target->Build Phases->Copy Bundle Resources 里面加入你需要打包进 Framework 的檔案

  2. 需要讀取某個檔案時使用

NSBundle *bundle = [NSBundle bundleWithIdentifier:@"your.framework.id"];
if (bundle) {
    NSString *filePath = [bundle pathForResource:@"somefile" ofType:@"js"];
    // ...
}

PS: Framework 需要為動態函式庫才行!

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板