如何从phonegap启动ios模拟器

Posted

技术标签:

【中文标题】如何从phonegap启动ios模拟器【英文标题】:how to launch ios simulator from phonegap 【发布时间】:2013-09-22 11:43:54 【问题描述】:

当我尝试通过使用从命令行启动 ios 模拟器时 $ phonegap run ios 我收到以下错误

错误:找不到 ios-sim。请下载、构建和安装 版本 1.5 或更高版本 https://github.com/phonegap/ios-sim 进入你的路径。或'酿造安装 ios-sim' 使用自制软件:http://mxcl.github.com/homebrew/

我什至尝试将上面的 ios-sim 文件夹复制到我的路径中。仍然出现错误。

【问题讨论】:

您是否在安装并运行 xCode 的 Mac 机器上运行?您是否在命令行中输入了brew install ios-sim 并看到安装了 ios-sim?之后您是否编辑了系统中的 PATH 变量并包含了 ios-sim 文件夹的路径? 【参考方案1】:

要在模拟器上运行,我们需要安装 ios-sim 和 ios-deploy。

以下是在 iOS 模拟器上运行的步骤

    通过执行以下命令使用 npm 安装 ios-sim:

    sudo npm install ios-sim -g

    通过执行以下命令使用 npm 安装 ios-deploy:

    sudo npm install ios-deploy -g

    确保您的模拟器正在运行

    最终命令:

    phonegap 运行 ios --emulator

如果需要在特定的模拟器上运行,那么以下是步骤:

    找出可用模拟器列表及其确切名称

    cordova 模拟 ios --list

    现在在特定模拟器上运行:

    cordova 模拟 ios --target="XXXXXX"

【讨论】:

对于 mac os 10.12 及更高版本,为了安装 ios-deploy 您需要添加不安全参数 sudo npm install ios-deploy -g --unsafe-perm=true【参考方案2】:

最佳解决方案:

    确保您已安装 XCode 及其命令行工具并接受许可协议

    通过在终端中执行以下命令来下载并安装 Homebrew:

    ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

    通过 Homebrew 安装 ios-sim,执行:

    brew 安装 ios-sim

    注意错误消息或成功安装后,您应该能够运行 iOS 模拟器:

    phonegap run ios


替代解决方案:

您可以尝试通过 npm 安装 ios-sim:

前往 http://nodejs.org/ 并安装 node.js(npm 将自动安装为 node 的包管理器)。 通过执行 npm 安装 ios-sim

sudo npm install ios-sim -g

如果您使用的是 Windows 计算机,请以管理员身份打开命令提示符并改为执行 npm install ios-sim

【讨论】:

我最终能够让它以另一种方式工作。显然,node.js 安装 sim 的位置存在问题,而且我需要通过终端全局接受 xcode 用户协议。 我遇到了同样的问题。首先我尝试了brew,但是由于node.js而发生了冲突。所以,然后我通过 npm 更新了 ios-sim,然后是 tada!它有效。 也遇到了整个更新问题,只运行了“sudo npm update ios-sim -g”,然后就开始了传单 我遇到了类似的问题,看起来 homebrew 和 npm 正在互相踩踏。 brew uninstall ios-sim 后跟 npm install ios-sim -g(可能需要 sudo 取决于您的设置)成功了。 目前我正在学习 Phonegap,许多工具似乎都有 Cordova 的名称,所以我必须运行:以下获取 iOS 模拟器:cordova run ios

以上是关于如何从phonegap启动ios模拟器的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap/Cordova:如何使用 cookie (iOS)?

PhoneGap 2.1.0 iOS Mac Xcode CordovaLib

如何使用 PhoneGap 3.5 添加 iOS 图标?

在 PhoneGap/Cordova 中安排本地通知在 iOS 模拟器上不起作用

如何使splashscreenimage在ios phonegap应用程序中工作?

Cordova Phonegap 表单输入框在 iOS 上不起作用