如何将.ipa文件安装到iPhone模拟器


164

我的Mac上运行了iPhone模拟器。

我有一个.ipa文件,能否请您告诉我如何将其安装在模拟器上?

Answers:


136

你不能 如果它是通过iTunes商店下载的,则它是为其他处理器构建的,因此无法在模拟器中运行。


12
我要补充一点,在模拟器中启动iPhone应用程序的唯一方法是以模拟器作为活动目标,自己从XCode进行编译。
亚历克斯韦恩

1
您可以在模拟器中运行项目的应用程序文件。
humblePilgrim 2011年

3
看起来下面的某人在此方面取得了一些成功。骇人听闻,但如果它起作用,了解这一点很有用。
兰迪L

13
任何声称在Simulator上运行iPhone应用程序的人都是妄想。iPhone模拟器不是模拟器-它无法运行ARM代码。
duskwuff -inactive

16
它将使用以下技术在模拟器中显示图标,但是,我们的应用程序在运行时立即崩溃。
马特·哈德森

104

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

之后,我将扩展名更改为.zip并提取了它。

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

最后,我将该应用程序移至位于以下位置的iPhone模拟器应用程序文件夹中:

  • 高画质
  • >应用
  • > Xcode.app(右键单击-显示包内容)
  • >目录
  • >开发人员
  • >平台
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • >应用

希望这可以帮助!(注意:某些应用比其他应用崩溃的频率更高。)


28
@DataGreed:已移至HD>应用程序> Xcode.app(右键单击-显示程序包内容)>目录>开发人员>平台> iPhoneSimulator.platform> SDKs> iPhoneSimulator6.0.sdk>应用程序
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

14
应用程序在模拟器中失灵..但在iOS6和iOS7中都崩溃了
斯里兰卡

1
@DataGreed:您提到了正确的位置。Keeton提到的答案帮助我安装了LinkedIn应用程序,但是它崩溃了。可以解决吗?
Jayprakash Dubey 2015年

3
我确认这种安装方法在2016年三月甚至可以工作(虽然坠毁,但是装)
jeet.chanchawat

66

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

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

    cd desktop

    xcrun simctl install booted xyz.app

  3. 打开iPhone模拟器,然后单击应用程序并使用

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

注意:您需要确保您的应用是针对所有架构构建的,“模拟器” x386位于“构建设置”中,并Build Active Architecture Only设置为No

  1. 路径:库->应用程序支持-> iPhone模拟器-> 7.1(如果需要,则为其他版本)->应用程序
  2. 使用应用名称创建一个新文件夹
  3. 进入文件夹并将.app文件放在此处。

23
该命令有效,但是应用程序崩溃,因为它不是为模拟器构建的。:(
JamesDeHart

5
得到“没有设备启动”。
Vijay Sharma

7
这对于在模拟器上构建了应用程序并希望在其他模拟器上运行该应用程序的人来说非常有用。请注意,最初的问题是关于
.ipa

5
如果您使用的是.ipa,则只需将其重命名为.zip并将其解压缩即可获得.app
delrox

3
@Vijay我必须在步骤2之前手动启动iPhone模拟器,否则,它可以正常工作。
Glorfindel

35

对于Xcode 9.4.1和最新的模拟器:

希望我的答案在这里被看到,因为这花了我一段时间才弄清楚,但我刚刚开始工作。

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

在此处输入图片说明

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

在此处输入图片说明

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

控制并单击查找器图标,然后选择“ 转到文件夹”

在此处输入图片说明]

粘贴路径,然后单击Enter。您将看到My​​AppName.app文件。将其复制到桌面并压缩。将其移至所需的第二台计算机并解压缩文件。建立一个随机项目以打开模拟器。

最后:从字面上将应用程序从桌面拖放到模拟器中。你会看到安装和应用程序打开,也不会崩溃。

在此处输入图片说明


7
无需评论就可以投票的答案是可行的:D很棒
David Seek '18

将开发版本转移到其他模拟器的作品!
Alex Pelletier

1
@AlexPelletier不是我们在这里所说的重点吗?xD
David Seek

33

您无法在模拟器中运行ipa文件,因为该ipa文件是针对手机的ARM体系结构而不是针对模拟器的x86体系结构编译的。

但是,您可以提取安装在本地模拟器中的应用程序,将其发送给其他人,然后让他们将其复制到他们计算机上的模拟器中。

在终端中,键入:

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

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


2
在iOS 8上,它已移至每个设备的应用程序:〜/ Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC。

或者,您可以从一个模拟器中提取它,启动另一个模拟器(切换OS版本),然后将其安装在其中。
Alex Zavatone '16

4
从iOS 10开始,您必须从以下位置复制两个十六进制命名的应用程序文件夹: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/否则,应用程序将不会在模拟器中显示。
Macucula

31

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

  1. 从iTunes下载应用程序
  2. 选择下载的应用程序,右键单击在查找器中显示
  3. .ipa文件复制到桌面,将其重命名为.zip文件
  4. 解压缩该.zip文件,您将获得带有应用程序名称的目录
  5. 检查该目录,您将appPayload文件夹中找到该文件,然后复制该app文件

  6. ~/Library/Developer/CoreSimulator/Devices

仅供参考:Library默认情况下,文件夹在Mac中是隐藏的,您可以使用以下命令查看隐藏的文件。

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找到模拟器和代码
保罗·阿马尔

3
这似乎可行,但是示例应用程序路径的开头必须在〜后面加一个/,并且该路径需要一直到达.app文件,而不仅仅是包含它的目录。
金刚砂

1
如果要查找当前正在运行的模拟器,可以使用xcrun simctl list | grep Booted
cjbarth 17-10-17

1
如何为下载的任何应用程序可靠地工作?由于只需要arm二进制文件,因此xcode还会做什么以使其起作用?除非您只打算将所有原始资产重新定位为目标的应用程序?
whitneyland

19

首先,IPA通常仅具有ARM片,因为App Store当前不接受上传中的模拟器片。

其次,从Xcode 8.3开始,您可以将.app捆绑软件拖放到Simulator窗口中,然后将其安装。~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulator如果要保存或分发给其他人,可以在构建产品目录中找到该应用。

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

device可以是设备UUID,其名称,也booted可以是当前引导的设备。


2
是的,您可以拖放.app文件,但不会复制模拟器运行文件所需的所有内容。我正在使用的应用程序立即崩溃。Xcode v.8.3.3
Matthew Poer

5
从定义上讲,它确实包含了所有需要的内容。当Xcode在Simulator中安装应用程序时,我们将路径传递到.app文件,这就是安装的路径。您的应用因其他原因崩溃。
russbishop

6

您可以在模拟器中运行项目的应用程序文件,而不是.ipa文件。

您可以从以下途径获得它:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->然后您会看到许多文件,例如0CD04F....通过打开找到您的应用程序文件。

您可以将文件复制到系统(您需要运行哪个系统模拟器)位置 Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

然后打开模拟器4.3(您粘贴的模拟器版本)。您可以在此处看到安装的应用程序。


从别人那里得到:

请告诉他们找出答案,Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->然后您可以0CD04F....从他们的系统中看到许多文件,并从他们那里接收该文件。

他们获取文件后,请复制文件并将其粘贴到系统中`Libraries-> Applicationsupport-> iphone模拟器-> 4.3(其模拟器版本)-> applications->(将文件粘贴到此处)。

然后,您可以看到该应用程序已安装在系统模拟器中,并且您可以在单击文件后运行它。


5

从此处复制:
-在Xcode中运行应用程序。-选择“查找器”,转到“转到”,然后单击选择“库”,“库/应用程序支持/ iPhone Simulator / 7.0.3-64 /应用程序”-选择32位文件夹复制您的应用程序。

粘贴到此处:
-/Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator。SDK /应用程序
-粘贴在此处并运行模拟器。


4

使用Xcode 6:

可以在模拟器上进行构建和安装。

我是通过在项目设置中复制调试构建配置(以下示例中称为SimRelease)来实现的。我将体系结构更改为i386和x86_64(不确定这样做的必要性),但是要复制的构建配置之间进行更改的主要区别在于将活动体系结构设置为NO。之后,几个简单的命令行工具将完成其余工作!

xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1

根据设置DerivedData的位置,需要找到输出的.app文件夹。找到它后,您只需将其安装在任何模拟器设备上即可。要找到设备UUID的打开的Xcode并转到Window-> Devices,您将看到设备实例的列表,您可以获取UUID。对于简单的脚本,您可以从以下位置中获取所有脚本:〜/ Library / Developer / CoreSimulator / Devices /并安装在每台设备上。

从那里可以在设备上安装的简单命令是:

xcrun simctl安装DEVICE_ID APP_FOLDER_LOCATION

这是一个简单的shell脚本,可以将应用程序安装在每台设备上:

app_dir=$1
current_dir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$current_dir"
for device in $devices
do
    device_id=${device%/}
    xcrun simctl install "$device_id" "$app_dir"
done

希望这可以帮助!花了我一段时间找出最好的方法。


此脚本更短:xcrun simctl install booted APP_FILE_PATH但是将应用安装到模拟器时,该应用无法运行
2015年

4

对于Xcode 10,这是一种适用于我的调试IPA(开发配置文件)的简单方法

  1. 解压缩IPA以获取有效载荷文件夹。
  2. 应用程序可执行文件位于Payload文件夹中。
  3. 将应用程序拖放到打开的模拟器中。(将其拖到模拟器上时,您可能会看到一个绿色的添加按钮)

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


对我有用,我将“ my-app.ipa”的名称更改为“ my-app.ipa.zip”,然后使用macos Finder应用程序将其解压缩。如果您想使用终端安装应用程序:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu

0

在没有任何代码仓库的情况下在其他模拟器中运行的步骤:-

首先通过构建您的项目(在Xcode中的项目文件夹下)创建一个.app并将其粘贴到适当的位置(有关更多信息,请参见图片)

在此处输入图片说明

  1. 下载Xcode
  2. 创建一个演示项目并启动要在其中运行应用程序的模拟器。
  3. 将.app文件复制到特定位置(例如:-桌面)。
  4. cd桌面并运行命令(xcrun simctl install booted appName.app),
  5. 应用程序将安装在特定的引导模拟器中。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.