如何使用命令行将ipa/app文件安装到iPhone?

36
我想知道如何仅使用命令行将ipa/app文件安装到iPhone中?
设备可能没有越狱或已经越狱。
我尝试使用命令行:xcodebuild,但失败了。我没有找到如何设置目的地参数的方法,可能是真实设备而不是模拟器。
我有哪些选项?

1
我认为这是不可能的。但是,通过Xcode或TestFlight安装应用程序有什么问题吗? - Shmidt
哦,我想在Instruments上对真实设备进行单元测试。因此,我必须编写一个脚本自动安装ipa/app文件到iPhone上。 - roastjj
你不能这样做,最好的方法是使用iDevice上的无线安装。 - borrrden
是的,我在寻找答案。它显示需要使用OpenSSH和WiFi,但我认为部署单元测试不太稳定。 - roastjj
使用此命令 ios-deploy --debug --bundle your_iPA_Path.app,您可以在设备上安装ipa,但请确保您已安装了预配文件和证书。 - ADJ
4个回答

39

我知道的有三种方法:

  • 这些人编写了一个用Ruby编写的工具。它使用Fruitstrap库,该库又使用了苹果公司的私有API之一,所以这可能会在未来失效。

  • 您也可以仅使用Fruitstrap,但是这样需要一个“.app”目录,而我上面链接的Transporter Chief工具支持“.app”和“.ipa”部署(按照您的答案要求)。

无论哪种情况,都需要安装XCode才能正常工作,但设备不需要越狱。

  • 第三,还有一个OS X的二进制发行版libimobiledevice库,它使Linux桌面系统能够与iOS设备通信。其中有几个不同的工具之一可以使用此语法将有效签名的IPA安装到设备中:

    ideviceinstaller -i myapp.ipa
    

    这种方法的优点是不需要XCode甚至iTunes。


这个(libimobiledevice)能在最新的iOS设备上像iOS 9一样工作吗?我遇到了错误“无法启动com.apple.mobile.installation_proxy!” - Dinakar

31

通过新的苹果配置器2应用程序,您可以从菜单中安装自动化工具...。这将添加对命令行工具"cfgutil"的支持。

cfgutil允许您使用cfgutil install-app <ipa文件的绝对路径>命令行安装IPA文件。我们在构建服务器上使用它来自动更新设备的最新构建版本。


这应该是答案 :) 谢谢! - Jan
这个工具不太好用。没有简单的“更新”应用程序的方法。您必须先删除它,而且(到目前为止)在我的测试中,它只是在“成功”安装后立即删除应用程序(而像XCode/TestFlight这样的其他安装方式对我来说都很好用)。 - Wisteso
我简直不敢相信苹果不允许你使用这个工具升级应用程序。否则,这将是最好的解决方案。 - tmoore
2
刚测试了一下。(使用Xcode 10.2构建,在iOS 13.3上运行)现在它能够美观地更新应用程序,但是实际的应用程序必须处于后台。当应用程序在前台时,它将无法更新。当你按Home键时,你就可以看到图标被更新了。非常漂亮! - Guntis Treulands

4
我刚刚在一个帖子(Gist)中收集了如何使用以下方法来实现此目标,包括:
1. - Mattt的库Shenzhen。 2. - Phonegap的库ios-deploy。
阅读此处:
如何生成和安装IPA文件。

1

我尝试过libimobiledevice-macosx,在iPhone 5上可以正常工作。iOS版本为6.1.4。 我能够安装应用程序并像在Xcode中一样查看日志输出:) 谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接