我有一个Appcelerator Alloy 6.3.0 iOS应用程序,在开发中运行时可在设备上正常运行。
我使用我的企业证书打包应用程序,然后构建我的.ipa并在设备上安装(并信任)该应用程序。
应用程序运行正常,但在尝试使用commonJS库(纯JS)时抛出错误。
try{
var netUtil = require('API');
netUtil.getList($.labelModel.text, myCallBackFunction);
catch(e){
alert('Error: ' + e);
}
显示的错误是......
TypeError: undefined is not a function (evaluating 'a.getList(k.label-Model.text,g)' )
使用/不使用liveview运行开发证书时,完全相同的代码在设备上运行正常,无需更改。
可能导致CommonJS需要的功能仅在运行iOS .ipa Adhoc / Enterprise时找不到?
答案 0 :(得分:2)
我相信 API
名称保留在Apple的内部api中,或者可以由Titanium本身使用。因此,您应该将 API.js
文件重命名为非通用文件,例如 custom_api.js
或my_api.js
&然后再试一次。
当我将一些lib文件命名为 animation.js
或类似的东西(不记得确切)时,我遇到过这个问题。发现它总是更好&在命名lib文件或其他js文件时使用下划线格式更安全,因为内部apis通常不使用下划线名称格式。