解决 cordova build ios toLowerCase of undefined

主要可能是新版本系统(或者软件)对于获取设备的返回数据格式作了修改
所以这里在 cordova build ios 获取可用设备列表的时候,会报 Cannot read property ‘toLowerCase’ of undefined。

解决方法很简单
打开这个文件:platforms/ios/cordova/lib/list-emulator-build-targets,
大概 54 行左右

device.availability.toLowerCase().indexOf('unavailable') < 0
改成:
device.isAvailable
所以改完之后完整的代码是:
availableDevicesInCategory.forEach(function (device) {
    // console.log(device);
    if (device.name === deviceType.name.replace(/\-inch/g, ' inch') && device.isAvailable) {
        availAcc.push(device);
    }
});
如果还不对,看一看这个 console.log(device); 输出是什么,我这里输出的是:
{ state: 'Booted',
  isAvailable: true,
  name: 'iPhone 11 Pro',
  udid: 'A4E72C68-XXXX-XXXX-XXXX-DFB57EB137B7' 
}
所以看看这个输出的内容就知道怎么改了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇