【问题标题】:Install iOS app into xcode simulator?将iOS应用程序安装到xcode模拟器中?
【发布时间】:2011-05-23 14:54:57
【问题描述】:

我们是 iOS(和其他移动平台)开发人员,我们的销售人员经常需要为客户提供我们应用的演示。我们正在尝试使流程自动化,以便销售人员可以访问自助服务网站并将应用程序输入到他们的模拟器中。

使用 xcodebuild,我们可以启动构建过程,然后将其显示为安全下载链接(通过我们的内部网),但他们所要做的就是将其安装到他们的 iOS 设备上。这没关系,只是不是路上的每个人都有 iOS 设备(或者有些人有旧的 iPod touch,而且速度非常慢)。所以,我在想一定有办法把它安装到他们的模拟器中。

我看到其他人通过压缩模拟器目录并将其放在另一个目录中来破解它: http://discussions.apple.com/thread.jspa?messageID=7680994

将目标设置为模拟器,发布。 部署。停止iphone模拟器。压缩 你的应用程序来自 ~/Library/Application 支持/iPhone 模拟器/用户/应用程序/发送它 给别人,让那个人 知道将其解压缩到该文件夹​​中,而不是 启动 iphone 模拟器 - 你就是 完成。

我想我们可以做到这一点,但它似乎不是确定性的(或者至少,编写脚本要困难得多)。我更喜欢使用 .app,但如果唯一的方法是使用这个 hacky 复制和粘贴操作,那我们就必须这样做。

有什么想法吗?

【问题讨论】:

  • 这主要是Apple限制设备定位方案的功能。即便如此,在我们拥有的设备上安装垃圾箱仍然是一个 PITA。在模拟器上安装它更容易(相对而言)。

标签: ios ios-simulator xcodebuild


【解决方案1】:

在您构建的产品目录中找到.app 捆绑包,通常位于Debug-iphonesimulatorRelease-iphonesimulator 下。将该包拖放到模拟器窗口上,它将被安装(您可能需要在主屏幕上滑动以显示图标)。

您也可以使用xcrun simctl install 从命令行编写此脚本。 xcrun simctl launch 命令也可以启动应用程序。

大多数构建系统都可以自动化(或者您可以使用 Xcode 中的构建后脚本,作为最后一步排序)来创建应用程序包的 ZIP 并将其放在某个地方以供下载。

(如果存档工作流支持创建模拟器 IPA 对您有用,请在 https://bugreport.apple.com 提交增强请求)

【讨论】:

    【解决方案2】:

    我刚刚开发了一对脚本来 (a) 从 iOS 模拟器中提取应用程序,以及 (b) 将其安装到另一个 iOS 模拟器上。 https://github.com/christopher-prince/SimAppScripts

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 不适用于 iOS7。绝对不是 iOS8 / Mac10.10。
      【解决方案4】:

      这可以工作:https://github.com/landonf/simlaunch/

      我自己还没有尝试过,但是从视频上看,应用程序将模拟器编译的.app转换为启动器,可以在模拟器中运行应用程序,而无需通过xcode安装。

      它可能使用与此处描述的相同的方法来模拟应用程序而无需先安装它:How to install iPhone application in iPhone Simulator

      【讨论】:

        【解决方案5】:

        我已经将上面的模拟器构建机制与许多客户端一起使用,一旦他们找到了正确的文件夹将实际文件夹放入其中,它就非常顺利。

        正如您所说,这有点像 hack,但在某些情况下,当将它放在实际设备上并不那么重要时,它也比不得不处理临时配置等要好。

        我还没有尝试过,但我听说过关于 Test Flight (http://testflightapp.com/) 的好消息,它也是分发演示/测试版的一种方式,因此也值得一看。

        【讨论】:

          【解决方案6】:

          我知道这不是您问题的直接答案,但您是否考虑过拥有一台服务器(例如 Mac mini)来安装所有软件?然后他们可以使用某种形式的屏幕共享来远程运行应用程序。

          【讨论】:

          • 感谢您的建议。我们确实有一台 Mac mini(那是我们的构建服务器)。不幸的是,大部分时间在路上他们无法访问互联网(尤其是在客户站点上,可能没有手机服务或锁定的 WiFi),所以这不会真正起作用。购买个人手机 wifi 比购买每个人的 iPod Touch(es) 更贵 :)
          猜你喜欢
          • 2014-04-24
          • 1970-01-01
          • 2013-09-29
          • 2015-04-05
          • 1970-01-01
          • 2014-07-16
          • 2012-10-07
          • 2013-09-15
          相关资源
          最近更新 更多