iPhone 使用 PhoneGap 在 iPad 上模拟开发的应用程序

iPhone app developed with PhoneGap emulated on an iPad

背景

使用 Xubuntu Linux 发行版和 PhoneGap 编写 iPhone(和 Android)应用程序。

我只有第一代iPad(iOS5.x);我既不拥有也不希望购买更多 Apple 设备;另外,我不想为第三方软件付费。

问题

PhoneGap 提供 iOS simulator, which requires Xcode 6+(之前为 4.5+)。 Xcode 软件需要 Apple 设备。

尝试的解决方案

VirtualBox 可以 运行 Hackintosh,但该解决方案非常缓慢且存在错误。

QEMU/KVM 也可以 运行 Mac OS X,但是配置和设置非常复杂。

使用 jailbroken iPad 可能会 运行 Xcode,但我宁愿不越狱 iPad。

问题

我可以利用 iPad 来模拟 iPhone 到 运行 的应用程序吗?

如果可以利用 iPad 进行测试,那么是否也可以通过 iPad 将应用提交到应用商店?

您可以在 iOS 和 Android 上使用 PhoneGap 应用程序在使用本地服务器的设备上模拟您的应用程序,有关如何设置的更多信息,请参见此处:http://phonegap.com/blog/2014/04/23/phonegap-developer-app/

回答

不能用第一代iPad来模拟iPhone。

备用解决方案

您可以通过使用 PhoneGap 和 ios-sim 来避免 VirtualBox 下的错误和缓慢的 Xcode 环境。解决方案分为以下几个部分:

  • 安装和配置 VirtualBox
  • 在VirtualBox上安装开发软件
  • 测试新项目
  • 执行开发工作流程

配置 VirtualBox

按如下方式创建和配置 VirtualBox:

  1. Oracle.
  2. 安装 VirtualBox 5.0.2(或更高版本)
  3. 下载 Oracle VM VirtualBox 扩展包(以启用 USB 2.0)。
  4. 文件>>首选项>>扩展安装扩展包。
  5. Install Mac OS X 10.10 Yosemite 使用 VirtualBox 5.0.2.
  6. 开机顺序按F8设置内核参数,如:

    /amd busratio=11 colors=32

通过将 cpu MHz 除以 133 并四舍五入来计算 busratio。例如,1.4 GHz 的 AMD 运行ning 是 1400 MHz / 133 = 10.52 = 11。注意:/amd 仅在安装 AMD 处理器时需要,在正常启动时必须省略。在 Linux 上,您可以 cat /proc/cpuinfo 验证处理器类型。

安装开发软件

继续如下:

  1. 安装nodejs.
  2. 安装Xcode 6+.
  3. 安装 PhoneGap Desktop(可能不需要)。
  4. 打开一个终端。
  5. 安装 PhoneGap 命令行界面 (CLI):

    sudo npm install -g phonegap

  6. 安装iOS模拟器:

    sudo npm install -g ios-sim

  7. 可选地,验证模拟器是否正常工作(使用 docker 图标停止模拟器):

    ios-sim start

  8. 启用开发者模式:

    DevToolsSecurity -enable

测试项目

创建、构建并 运行 一个新项目,其中将包含一个 Hello World 示例。从打开的终端:

phonegap create project
cd project
phonegap build ios
ios-sim launch ./platforms/ios/build/emulator/Hello\ World.app

开发工作流程

开发工作流程如下:

  1. 在 Xubuntu 中进行更改 Linux。
  2. 将更改提交到存储库。
  3. 切换到虚拟 Machine。
  4. 从存储库中提取更改。
  5. 建造。
  6. 关闭 iOS 模拟器。
  7. 重新运行 ios-sim 以查看新的更新。

您现在可以开发和预览您的应用程序。

合法性

尽管软件是 available at no charge, see this answer 硬件许可证详细信息。