[0]native初始化的时候getExePath报错 IOS17.2(beta版本)必现
exception info: [TypeError: Can't declare global function 'getExePath': property must be either configurable or both writable and enumerable] at line undefined
没有找到相关结果
已邀请:
要回复问题请先登录
13 个回复
ant♑️
赞同来自: layabox
匿名用户
赞同来自: loew
JSGlobalExportC();
//设置js的一些环境。必须在所有导出之后,执行其他脚本之前。
#ifndef WIN32
JSP_RUN_SCRIPT((const char*)"function getExePath(){return null;}");
#endif
JSGlobalExportC();
JSP_ADD_GLOBAL_FUNCTION(getExePath, getExePath);
上面函数逻辑中已经定义了js全局函数getExePath,并且属性是kJSPropertyAttributeReadOnly
#ifndef WIN32
JSP_RUN_SCRIPT((const char*)"function getExePath(){return null;}");
#endif
但接下来,又通过执行js重新定义这个全局函数,可能是iOS 17.2新系统有调整,ReadOnly状态不再允许这样重复定义js函数,导致的异常
1、临时的解决办法是注释掉了这一句代码,重新编译引擎
//JSP_RUN_SCRIPT((const char*)"function getExePath(){return null;}");
本人只测了iOS平台,其他平台未作测试,不确定具体影响,仅供技术参考
方案2、保留原来的代码,换了个写法
#ifndef WIN32
#ifdef __APPLE__
JSP_RUN_SCRIPT((const char*)"var getExePath=getExePath||function(){return null;}");
#else
JSP_RUN_SCRIPT((const char*)"function getExePath(){return null;}");
#endif
#endif
lv
赞同来自: layabox
2.0
https://www.layabox.com/layana ... 4.zip
devx
赞同来自: layabox
devx
赞同来自: layabox
过客
赞同来自:
小小射下
赞同来自:
qqqq
赞同来自:
何东
赞同来自:
七分度的微笑
赞同来自:
七分度的微笑
赞同来自:
何东
赞同来自:
风神
赞同来自: