如何将.ipa文件安装到我的iPhone模拟器上?

200

我在我的 Mac 上运行着一个 iPhone 模拟器。

我有一个 .ipa 文件,请问如何将其安装到模拟器上?


双击IPA文件,您将看到应用程序图标,请将其拖放到模拟器中。 - Luchi Parejo Alcazar
2023年8月更新 在模拟器上安装.IPA的解决方案 - YuryDG
14个回答

153

你不能这样做。如果应用是从iTunes商店下载的,那么它是为不同的处理器构建的,并且在模拟器中无法运行。


12
我需要指出的是,在模拟器中启动iPhone应用程序的唯一方法是从XCode中自己编译,同时将模拟器设置为活动目标。 - Alex Wayne
3
看起来下面有人在这方面取得了一些成功。虽然这种方法有些独特,但如果它有效的话,那么了解这一点是很有用的。 - Randy L
16
声称在模拟器上运行 iPhone 应用程序的人是错觉的。iPhone 模拟器不是仿真器--它无法运行 ARM 代码。 - user149341
18
使用下面的技术,它会在模拟器中显示图标,但是我们的应用程序在运行时立即崩溃。 - Matt Hudson
2
现在有了M1和ARM模拟器,你的看法是什么? - Phương Nguyễn
显示剩余2条评论

117

我在iTunes中找到了想要的.ipa文件,并将其复制到了桌面上。

之后,我将扩展名更改为.zip并解压缩了它。

接下来,我找到了Payload文件夹,并将其中的应用程序移动到桌面上。

最后,我将该应用程序移动到iPhone模拟器应用程序文件夹中,该文件夹位于:

  • HD
  • > 应用程序
  • > Xcode.app(右键单击-显示包内容)
  • > 内容
  • > 开发人员
  • > 平台
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > 应用程序

(注意:有些应用程序比其他应用程序更容易崩溃。)


30
已经移动到HD > 应用程序 > Xcode.app(右键单击 - 显示包内容)> Contents > Developer > Platforms > iPhoneSimulator.platform > SDKs > iPhoneSimulator6.0.sdk > Applications。 - Richard Poole
7
在OSX系统中,XCode 4.3或更新版本的路径位于以下位置(请注意,5.1部分在您的电脑上可能会不同):/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Applications。 - Brad Parks
15
在模拟器中显示的应用程序.. 但在iOS6和iOS7上都崩溃了。 - Sri
3
我确认这种安装方法即使在2016年3月仍然有效。(尽管崩溃了,但已经安装成功) - jeet.chanchawat
2
而在2017年,使用Xcode 8.2的路径可能是:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Applications。将应用程序放在这里后,如何在模拟器中启动它?我在主屏幕上没有看到它作为一个应用程序。 - Alex Ixeras
显示剩余6条评论

77

在Xcode 6+和iOS8+中,您可以执行以下简单步骤:

  1. 将.app文件粘贴到桌面。
  2. 打开终端并粘贴以下命令:

    cd desktop

    xcrun simctl install booted xyz.app

  3. 打开iPhone模拟器,点击应用程序并使用。

对于低于iOS 8版本的设备,执行以下简单步骤。

注意:请确保您的应用程序已为所有架构构建,并且在构建设置中模拟器是且构建活动架构仅设置为No

  1. 路径:Library->Application Support->iPhone Simulator->7.1(或其他版本如果需要)->Applications
  2. 创建一个名为该应用的新文件夹。
  3. 进入该文件夹并将.app文件放置在此处。

27
这个命令起作用了,但应用程序崩溃了,因为它不是为模拟器构建的。 :( - JamesDeHart
5
获取到“没有设备启动。” - Vijay Sharma
8
这对于那些在模拟器上构建应用程序并希望在不同的模拟器上运行应用程序的人很有用。请注意,原始问题是关于.ipa文件而不是.app文件。 - ChrisH
5
如果您拥有一个 .ipa 文件,只需将其重命名为 .zip,然后解压缩即可获得 .app 文件。 - scosman
3
@Vijay 在第二步之前,我不得不手动启动iPhone模拟器,但除此之外,这个方法很有效。 - Glorfindel
显示剩余2条评论

65

Xcode 9.4.1+更新

希望我的答案能够被看到,因为我花了一段时间才弄明白,但最终成功了。

首先,您需要在模拟器上构建和运行应用程序。然后打开活动监视器。双击应用程序名称以查找其内容。

输入图像描述

在下一个屏幕中,打开打开的文件和端口选项卡,并找到具有MyAppName.app/MyAppName的行。

输入图像描述

复制链接但确保停留在MyAppName.app处。不要复制其后面的路径。

控制点击查找器图标并选择前往文件夹

输入图像描述]

粘贴路径并按Enter键。您将看到您的MyAppName.app文件。将其复制到桌面并进行压缩。将其移动到您想要使用的第二台计算机上并解压缩该文件。构建一个随意的项目以打开模拟器。

最后:从桌面直接拖放应用程序到模拟器中即可完成安装,然后打开应用程序,不会出现崩溃情况。

输入图像描述


11
给一个有效的答案却没有附带评论而被踩,太棒了! - David Seek
1
@AlexPelletier 这不就是我们正在讨论的重点吗?xD - David Seek
1
对我来说没问题!对于那些试图使用 .ipa 文件的人来说,它不起作用,因为 .ipa 文件只包含 arm 代码。 - Hua-Ying
2
首先,您需要在模拟器上构建和运行应用程序。这不就是OP最初询问如何做的吗? - Nodeocrat
这个想法是,你运行并构建应用程序,然后将其导出并移动到第二台机器上。在那里,你可以运行导出的应用程序。因此,有人需要构建该应用程序,即那些可以访问源代码的人。然后,你可以使用该构建来在不需要访问代码的机器上运行应用程序。希望这样更清楚了。 - David Seek
显示剩余2条评论

38

更新:针对 Xcode 8.0+,您需要按照以下步骤执行:

  1. 从 iTunes 下载应用程序
  2. 选择已下载的应用程序,在右键菜单中选择“在 Finder 中显示”
  3. .ipa 文件复制到桌面,并将其重命名为 .zip 文件
  4. 解压缩该 .zip 文件,您将得到带有应用程序名称的目录
  5. 检查该目录,您将在 Payload 文件夹中找到 app 文件,请复制此 app 文件

  6. 前往 ~/Library/Developer/CoreSimulator/Devices

提示:在 Mac 上,默认情况下隐藏了 Library 文件夹。您可以使用以下命令查看隐藏文件。

defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app

现在,您将看到许多具有长十六进制名称的目录,这些都是模拟器。

要找到所需的模拟器,请使用“排列方式>按修改日期”对这些目录进行排序。

选择该模拟器文件并转到下面的位置。

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. 创建名为<download-app-name>的新文件夹,并将app文件粘贴到该文件夹中
  3. 打开终端并运行以下命令以安装此应用程序

    xcrun simctl install booted <APP_FILE_PATH>
    

例如<APP_FILE_PATH>看起来会像下面这样:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>

2
你可以使用 xcrun simctl list 命令来查找模拟器和代码。 - Paulo Amaral
3
这似乎有效,但你的示例应用程序路径需要在开头的~后面加上/,路径需要一直到.app文件,而不仅仅是包含它的目录。 - emery
1
如果您想查找当前正在运行的模拟器,可以使用 xcrun simctl list | grep Booted - cjbarth
1
这个下载的应用程序如何可靠地工作?由于只需要ARM二进制文件,那么Xcode还需要做什么才能使其正常工作?除非你指的是只针对那些你已经拥有所有原始资产以进行重新定位的应用程序? - whitneyland

37

因为ipa文件是编译为手机的ARM架构而不是模拟器的x86架构,所以无法在模拟器中运行ipa文件。

但是,您可以提取本地模拟器中安装的应用程序,将其发送给其他人,并要求他们将其复制到他们的机器上的模拟器中。

在终端中输入:

open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications

这将打开您安装的所有模拟器的所有应用程序文件夹。每个应用程序都在一个带有随机十六进制名称的文件夹中。您可以通过查看它们中的每一个来找出哪一个是您想要的应用程序。一旦找到了您想要的应用程序,右键单击它并选择“压缩...”,它将生成一个 zip 文件,您可以轻松地将其复制到另一台计算机上,并解压缩到类似的位置。


2
在iOS 8中,它被移动到每个设备的应用程序:~/Library/Developer/CoreSimulator/Devices/594C6B4D-AB19-479B-A047-240361C51D95/data/Applications/因此,执行 open ~/Library/Developer/CoreSimulator/Devices/*/data/Applications - CC.
或者,您可以从您的一个模拟器中提取它,启动另一个(切换操作系统版本),然后在那里安装它。 - Alex Zavatone
4
自从iOS 10版本开始,你需要从以下两个位置复制十六进制命名的应用程序文件夹: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/ 否则,该应用程序将无法在模拟器中显示。 - Macucula

23

首先,IPAs通常只有ARM切片,因为App Store目前不接受模拟器切片上传。

其次,在Xcode 8.3中,您可以将.app包拖放到模拟器窗口中,它就会被安装。如果您想保存或分发应用程序,可以在构建产品目录~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulator中找到该应用程序。

要从命令行安装,请使用xcrun simctl install <device> <path>

device可以是设备UUID、名称或booted(当前启动的设备)。


2
是的,您可以拖放 .app 文件,但这并不能复制模拟器运行所需的所有内容。我正在使用的应用程序立即崩溃。Xcode 版本为 8.3.3。 - Matthew Poer
5
根据定义,它包括所需的一切。当Xcode在模拟器中安装应用程序时,我们会传递一个路径到.app文件,这就是安装的内容。你的应用程序由于不同的原因崩溃了。 - russbishop

13

对于Xcode 10,以下是一个适用于我个人的轻松方法,用于调试IPA(开发配置文件)

  1. 解压IPA以获取Payload文件夹。
  2. Payload文件夹中包含应用程序可执行文件。
  3. 将应用程序拖放到已打开的模拟器中。(当你将其拖到模拟器上时,你可能会看到一个绿色的添加按钮)

它应该会在那个模拟器上安装该应用程序。


对我来说可以,我已经将“my-app.ipa”的名称更改为“my-app.ipa.zip”,然后使用macOS Finder应用程序解压缩了它。如果您想使用终端安装应用程序: xcrun simctl install "模拟器名称" /path/to/my-app.app - im-a-teapot
xcrun simctl install booted "my-application.app" 可以正常工作 :) - Medhi
xcode 14 上 xcrun 不再可用 :'( - Huy Hóm Hỉnh

7
您可以在模拟器中运行项目的应用程序文件,而不是.ipa文件。
您可以从以下位置获取:Libraries-->Applicationsupport-->iphone simulator-->4.3(这是您的模拟器版本)-->applications-->然后打开它,即可找到许多文件,例如0CD04F....,通过查找该文件找到您的应用程序文件。
您可以将该文件复制到您需要运行的系统(哪个模拟器),位置为Libraries-->Applicationsupport-->iphone simulator-->4.3(这是您的模拟器版本)-->applications--> 然后打开模拟器4.3(这是您粘贴的模拟器版本)。您可以在那里看到安装的应用程序。
从其他人处获取:
请告诉他们找到Libraries-->Applicationsupport-->iphone simulator-->4.3(这是您的模拟器版本)-->applications-->,然后他们可以从他们的系统中找到许多文件,例如0CD04F....,并从他们那里接收该文件。
在他们获得该文件之后,请将该文件复制并粘贴到您的系统`Libraries-->Applicationsupport-->iphone simulator-->4.3(这是您的模拟器版本)-->applications-->(在此处粘贴文件)。
然后,您可以在系统模拟器中看到应用程序已安装,并且在单击该文件后可以运行它。

6

从这里开始翻译:
- 在Xcode中运行应用程序。 - 选择Finder前往"前往",然后单击选择Library Library/Application Support/iPhone Simulator/7.0.3-64/Applications - 选择32位文件夹,复制您的应用程序。

粘贴到这里:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK/Applications
- 粘贴并运行模拟器。


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