小弟才疏学浅.经常遇到问题 只能不耻下问了…望见谅…
1.7.0 中. 原Objective-c调用JS方法失效.
在1.6.2中好用的. 一样代码.
‘evalString’ in ‘ScriptingCore’
官方文档中只找到 JS调用 Objective-c
连接:http://docs.cocos.com/creator/manual/zh/advanced-topics/oc-reflection.html
是不是要换成其他方法了?

小弟才疏学浅.经常遇到问题 只能不耻下问了…望见谅…
1.7.0 中. 原Objective-c调用JS方法失效.
在1.6.2中好用的. 一样代码.
‘evalString’ in ‘ScriptingCore’
官方文档中只找到 JS调用 Objective-c
连接:http://docs.cocos.com/creator/manual/zh/advanced-topics/oc-reflection.html
是不是要换成其他方法了?

1.7主贴正文有介绍
找到了
在 1.7 中,抽象层被设计为一个与引擎没有关系的独立模块,对 JS 引擎的管理从 ScriptingCore 被移动到了 se::ScriptEngine 类中,ScriptingCore 被保留下来是希望通过它把引擎的一些事件传递给封装层,充当适配器的角色。
我再看看文档
之前…太长了就没仔细看.
嗯~~~
老哥,请问你是怎么解决的?我找不到文档在哪
std::string jsCallStr = cocos2d::StringUtils::format("%s("%s");",funcName.UTF8String, jsonStr.UTF8String);
if (std::this_thread::get_id() == Director::getInstance()->getCocos2dThreadId())
{
bool flag = se::ScriptEngine::getInstance()->evalString(jsCallStr.c_str());
if(!flag) {
NSLog(@“jsCallStr = %s”,jsCallStr.c_str());
}
}
else
{
std::string jsCallStr = “ss(cons);”;
Director::getInstance()->getScheduler()->performFunctionInCocosThread(={
bool flag = se::ScriptEngine::getInstance()->evalString(jsCallStr.c_str());
if(!flag) {
NSLog(@“jsCallStr = %s”,jsCallStr.c_str());
}
});
}
为什么1.70版本CCC构建编译的项目用这个方法无效从js调用oc且报错, 以下是我的代码: 问题见图, 有同问的吗? 求解
1 js 端代码:
2 oc 端代码
3 报错

我的理解是 js 端调用 oc 端代码无效. 但问题是我之前把1.6.2的项目下编译的 build 文件删除后, 再用1.7重新构建编译后用 se::ScriptEngine::getInstance()->evalString(“cc.vv.anysdkMgr.bindIosSuc()”)
这个方法是有效连接了 ios 的, 所以我现在头都是大的, 问题出在哪呢?
导入#include "base/CCScheduler.h"解决