我想從我的視圖控制器類的一個調用javascript函數,調用JavaScript功能的iOS
這裏是我的代碼片段我都試過了,但它不工作:(
代碼在我ViewController
- (NSString *)MyMehtod{
JSContext *context = [[JSContext alloc] init];
JSValue *function = context[@"ProfilePicFunction"];
[context evaluateScript: [self loadJsFromFile]]; //crashes here EXC_BAD_ACESS
JSValue* result = [function callWithArguments:@[[documentsDirectory stringByAppendingString:@"/ProfilePic.png"]]];
NSLog(@"result = %@",result);
}
- (NSString *)loadJsFromFile
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"app" ofType:@"js"]; //path returns here as nil
NSString *jsScript = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; //jsScript returns here as nil
return jsScript;
}
守則app.js
文件
function ProfilePicFunction(ProfilePicPath){
var d= new Date();
var userFullPath = ProfilePicPath+"?"+d.getTime();
$("#userImg").attr("src",userFullPath);
}
的
app.js
請幫
位置和在此先感謝!
您是否檢查過js目錄是否在您的包中?從你的錯誤聽起來好像不是。 –
也試過'的NSString *路徑= [[一個NSBundle mainBundle] pathForResource:@ 「應用程序」 ofType:@ 「JS」 inDirectory:@ 「JS」];'現在返回,而不是零路徑,但JavaScript函數是沒有得到所謂:( – Krunal
添加一些調試的NSLog語句的每一行代碼,並張貼,否則很難知道什麼錯誤。此外,沒有app.js依賴於其他的JavaScript。如果是這樣,你必須加載所有需要第一支撐? –