iOS模拟器不会与Calabash一起发布

时间:2014-06-03 18:55:18

标签: calabash calabash-ios

我在项目中将Calabash安装为pod。 gem本身是使用bundler安装的。当我尝试为我的Calabash目标运行黄瓜时,第一个功能开始但只是挂起而模拟器永远不会启动:

$ bundle exec cucumber
Feature: Ensure Login and Oauth Screen Functionality

  Scenario: Verify Welcome Page                 # features/Sign_in.feature:3

我安装的更多详情:

# xcode installation location
$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

# xcode version
$ xcodebuild -version
Xcode 5.1.1
Build version 5B1008

# calabash version
$ bundle exec calabash-ios version
0.9.168

# calabash < 0.9.169 or Xamarin IDE users
# start your app manually in the simulator or from Xcode and then launch a console
$ bundle exec calabash-ios console
> server_version
{
                        "outcome" => "SUCCESS",
                         "app_id" => "[REDACTED]",
               "simulator_device" => "iPhone",
                        "version" => "0.9.168",
                       "app_name" => "[REDACTED]",
    "iphone_app_emulated_on_ipad" => false,
                          "4inch" => true,
                            "git" => {
        "remote_origin" => "git@github.com:jmoody/calabash-ios-server.git",
               "branch" => "master",
             "revision" => "adde106"
    },
                    "app_version" => "2.0.1",
                    "iOS_version" => "7.1",
                         "system" => "x86_64",
                      "simulator" => "iPhone Simulator 463.9.41, iPhone OS 7.1 (iPhone Retina (4-inch)/11D167)"
}

2 个答案:

答案 0 :(得分:5)

好的,这意味着calabash无法找到您的应用。

先试试,

  1. 注释掉APP_BUNDLE_PATH定义 YourProject / features / support / 01_launch.rb如#APP_BUNDLE_PATH = "~/..../../myApp-cal.app"所以calabash gem可以找到app 自动。
  2. 打开控制台,从中转到项目文件夹。然后输入gem install calabash-cucumber这将安装calabash gem它可以再次运行,即使你以前安装它没有任何伤害。然后在该终端输入calabash-ios setup,这将创建一个calabash目标并将calabash框架添加到您的iOS项目中。有关设置过程的更多详细信息,请参阅here
  3. 现在在xcode编辑器中打开项目文件(您可以看到成功添加到项目框架组中的calabash.framework。)选择yourApp-cal目标和您想要清理的模拟器,构建并运行yourApp-cal目标你的模拟器。
  4. 然后停止它并返回到该控制台,输入calabash-ios console控制台将启动一个可以使用该应用程序的ruby控制台。现在(当模拟器在你的屏幕上,但你的应用程序在该模拟器上是backbround)键入start_test_server_in_background你的应用程序必须到达前台。如果可行的话,葫芦可以在模拟器上找到并运行你的应用程序。
  5. 请记住,只有使用xcodebuild命令或脚本或其他东西在单独的文件夹上创建应用程序构建时,才能设置APP_BUNDLE_PATH变量。

答案 1 :(得分:0)

Chathura的答案适用于我的一位同事,但我们中的一些人不得不寻找另一种解决方案。

在介绍CocoaPods之后,我们遇到了这个问题。在Xcode中,我打开了Organizer,注意到我们有一个BP(在Pods之前)项目的派生数据文件夹,另一个用于具有Pods的工作区。我删除了BP项目的派生数据文件夹,然后一切正常。

在这之前我已经重新设置了calabash,所以我的案例中的解决方案可能是Chathura的答案和我的答案。