从昨天开始,当我尝试构建iO时,它不会成功并抛出此错误:
(node:3043) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toLowerCase' of undefined
at /Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/lib/list-emulator-build-targets:54:45
at Array.forEach (<anonymous>)
at /Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/lib/list-emulator-build-targets:52:44
at Array.reduce (<anonymous>)
at /Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/lib/list-emulator-build-targets:50:57
at Array.reduce (<anonymous>)
at /Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/lib/list-emulator-build-targets:45:28
at _fulfilled (/Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/node_modules/q/q.js:854:54)
at /Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/Users/username/Documents/petpo-fe-mobile-bugs/platforms/ios/cordova/node_modules/q/q.js:816:13)
(node:3043) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:3043) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
我已经尝试从git中检出一个新项目,删除并重新安装模块,删除并读取ionic中的平台,我不知道我还能尝试什么。 拜托,有人可以给我一些启发在这个问题上吗?
谢谢。
答案 0 :(得分:1)
toLowerCase
用于 plugins / cordova-plugin-ios-localized-strings / scripts / add_supported_languages.js?
如果是,则该值未定义。
请尝试运行:ionic build --prod
如果遇到错误->代码有问题。
如果您没有遇到任何错误->当cordova捆绑您的应用程序时,就会发生此问题。
如果是最后一个选项,请从bash(不是cmd)执行:ionic cordova build ios --prod
或尝试再次删除并添加平台。
-最好的问候。
答案 1 :(得分:0)
可以通过以下方法解决此问题:转到list-emulator-build-targets:54:45并从 if 语句中删除条件device.availability.toLowerCase().indexOf('unavailable') < 0
。
在卸载第二版XCode之前,我正在使用此替代方法。
答案 2 :(得分:0)
今天我突然开始遇到这个问题。删除和添加平台并不能做到这一点。为了解决该问题,我删除了iOS平台版本4.5.5,并安装了该平台版本的最新版本,该版本似乎已对其进行了修复。
这样做:
1)删除iOS平台:
ionic cordova platform remove ios
2)安装最新版本的iOS平台:
ionic cordova platform add ios@latest --save
上面为我安装的版本5.0.1。此后,运行命令ionic cordova build ios
没有显示任何错误。