用了NSString * jsStr = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"xx" ofType:@"js"] ,一直報Error Domain=NSCocoaErrorDomain Code=258 "The Codefile"沒有知道怎麼解決的?
靜態函式庫好像不行,必須搞bundle,而且放入的bundle的js檔案會被系統自動轉換為.txt文件,更好的解決方法是將js程式碼壓縮,然後進行URLEncode編碼可以解決這個問題。
可以將你需要的文件一起打包到 Framework 里面,然后通过 NSBundle 去获取这个文件。不同的是不能使用 mainBundle,因为此时的 mainBundle 指的引用 Framework 的這個程式。當然找不到你的 JS 檔了。
Framework
NSBundle
mainBundle
解決方法:
在 Framework 的工程里面,Target->Build Phases->Copy Bundle Resources 里面加入你需要打包进 Framework 的檔案
Target->Build Phases->Copy Bundle Resources
需要讀取某個檔案時使用
NSBundle *bundle = [NSBundle bundleWithIdentifier:@"your.framework.id"]; if (bundle) { NSString *filePath = [bundle pathForResource:@"somefile" ofType:@"js"]; // ... }
PS: Framework 需要為動態函式庫才行!
靜態函式庫好像不行,必須搞bundle,而且放入的bundle的js檔案會被系統自動轉換為.txt文件,更好的解決方法是將js程式碼壓縮,然後進行URLEncode編碼可以解決這個問題。
可以將你需要的文件一起打包到
Framework
里面,然后通过NSBundle
去获取这个文件。不同的是不能使用mainBundle
,因为此时的mainBundle
指的引用Framework
的這個程式。當然找不到你的 JS 檔了。解決方法:
在
Framework
的工程里面,Target->Build Phases->Copy Bundle Resources
里面加入你需要打包进Framework
的檔案需要讀取某個檔案時使用
PS:
Framework
需要為動態函式庫才行!