我正在 Ionic 中制作一个项目。
当我尝试 ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"
时发生错误
TypeError: Cannot read property 'name' of undefined
了解更深层次的原因:--verbose
<>
at /Users/myname/ionic/platforms/ios/cordova/lib/build.js:130:60
我能够识别出这是错误的根源,但我不知道这个错误的解决方案。
var promise = require('./list-emulator-build-targets').targetForSimIdentifier(newTarget);
return promise.then(function (theTarget) {
if (!theTarget) {
return getDefaultSimulatorTarget().then(function (defaultTarget) {
emulatorTarget = defaultTarget.name;
events.emit('log', 'Building for ' + emulatorTarget + ' Simulator');
return emulatorTarget;
});
} khác {
emulatorTarget = theTarget.name;
events.emit('log', 'Building for ' + emulatorTarget + ' Simulator');
return emulatorTarget;
}
});
这个错误当然是MacOS Catalina
https://github.com/apache/cordova-ios/issues/427#issuecomment-503522317
修复代码platform/ios/cordova/liblist-emulator-build-targets
var availableDevices = Object.keys(devices).reduce(function (availAcc, deviceCategory) {
var availableDevicesInCategory = devices[deviceCategory];
availableDevicesInCategory.forEach(function (device) {
if (device && device.name === deviceType.name.replace(/\-inch/g, ' inch') && device.isAvailable == true) {
availAcc.push(device);
}
});
return availAcc;
}, []);
Tôi là một lập trình viên xuất sắc, rất giỏi!