我正在使用Ionic构建iOS应用。现在我正在测试它在iPad 2中的表现,但这样做需要我经常需要写:
ionic emulate ios --target="iPad-2"
有没有办法在ionic.project文件或其他地方硬编码,所以我可以手动停止这样做?感谢
答案 0 :(得分:2)
我正在经历同样的问题,即使这个问题已经有一年了,但这是我通过谷歌获得的第一件事,却无法在其他任何地方找到答案。这就是我的所作所为,因为我不想每次都使用--target =“iPhone-7”。
要清楚任何想要在特定ios设备上运行的人,请使用以下内容:
ionic run ios --target="iXXX-X"
iXXX-X将是您从运行中获得的名称之一
ios-sim showdevicetypes
例如:
ionic run ios --target="iPhone-7"
我希望有一个解决方案让iPhone-7成为我的默认设置,因此运行以下内容将针对iPhone-7(我原来的默认目标是iPhone-SE):
ionic run ios
似乎默认是硬编码的,因此必须在代码中进行更改。 我找到了这个文件:/platforms/ios/cordova/lib/run.js
在那里你会找到一个名为deployToSim的函数,我按如下方式更改了它:
function deployToSim(appPath, target) {
// Select target device for emulator. Default is 'iPhone-6'
if (!target) {
return require('./list-emulator-images').run()
.then(function(emulators) {
if (emulators.length > 0) {
target = emulators[0];
}
emulators.forEach(function(emulator) {
// this is the original condition
// if (emulator.indexOf('iPhone') === 0)
// change "iPhone" to the specific model you want, in my case it's iPhone-7
// Notice the comma in iPhone7, without comma it will take iPhone-7-plus instead
if (emulator.indexOf('iPhone-7,') === 0) {
target = emulator;
}
});
events.emit('log', 'No target specified for emulator. Deploying to ' + target + ' simulator');
return startSim(appPath, target);
});
} else {
return startSim(appPath, target);
}
}