为什么我的 Ionic2 应用程序总是充当 Android 应用程序?

Why is my Ionic2 app always serving as Android app?

我正在使用 ionic2 开发和 ios 应用程序 - 我通常在 ionic build ios

之后使用 ionic serve 在本地进行测试

在某个阶段,我想演示 android 功能,built/served 以相同的方式演示 android。

自从我无法提供 ios 版本以来?

怎么回事,是否有一些我应该删除或类似的更改的配置?

这是我当前的配置:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.myionic2463102" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>MyIonic2</name>
  <description>An Ionic Framework and Cordova project.</description>
  <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
  <content src="index.html"/>
  <access origin="*"/>
  <allow-intent href="http://*/*"/>
  <allow-intent href="https://*/*"/>
  <allow-intent href="tel:*"/>
  <allow-intent href="sms:*"/>
  <allow-intent href="mailto:*"/>
  <allow-intent href="geo:*"/>
  <platform name="android">
    <allow-intent href="market:*"/>
  </platform>
  <platform name="ios">
    <allow-intent href="itms:*"/>
    <allow-intent href="itms-apps:*"/>
  </platform>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="android-minSdkVersion" value="16"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreenDelay" value="2000"/>
  <preference name="FadeSplashScreenDuration" value="2000"/>
  <feature name="StatusBar">
    <param name="ios-package" onload="true" value="CDVStatusBar"/>
  </feature>
</widget>

您可以使用 --platform 选项强制 ionic serve 中的平台,在您的情况下 ionic serve --platform ios

您还可以在 url 中设置平台(直接在浏览器中)并像这样预览应用程序的 android/ios 版本:

http://localhost:8100/?ionicPlatform=ios
http://localhost:8100/?ionicPlatform=android

更新:

你也可以像这样在serve命令中设置目标平台

ionic serve -t android
ionic serve -t ios

您可以在 Ionic CLI docs

中找到有关 serve 命令的更多信息