如何将 .ipa 文件安装到我的 iPhone 模拟器
-
21-08-2019 - |
题
我的 Mac 上运行着一个 iPhone 模拟器。
我有一个 .ipa 文件,您能告诉我如何在模拟器上安装它吗?
解决方案
您不能。如果它是通过iTunes的下载保存它是一个不同的处理器构建,并不会在模拟器工作。
其他提示
我使用 iTunes 找到了一个所需的 .ipa 文件,并将其复制到我的桌面上。
之后我将扩展名更改为 .zip
并提取它。
接下来,我找到了 Payload 文件夹,并将其中的应用程序移至我的桌面。
最后,我将该应用程序移动到我的 iPhone 模拟器应用程序文件夹中,该文件夹位于:
- 高清
- > 应用领域
- > Xcode.app(右键单击 - 显示包内容)
- > 内容
- > 开发商
- > 平台
- > iPhone模拟器.平台
- > 软件开发工具包
- > iPhone模拟器6.0.sdk
- > 应用领域
希望这可以帮助!(笔记:有些应用程序比其他应用程序更容易崩溃。)
在 Xcode 6+ 和 iOS8+ 中,您可以执行以下简单步骤
- 将 .app 文件粘贴到桌面上。
打开终端并粘贴以下命令:
cd desktop
xcrun simctl install booted xyz.app
- 打开iPhone模拟器并点击应用程序并使用
对于 iOS 8 以下的版本,请执行以下简单步骤。
笔记:您需要确保您的应用程序是针对所有架构构建的,模拟器是 x386
在构建设置和 Build Active Architecture Only
设置 No
.
- 小路:库->应用程序支持->iPhone模拟器->7.1(或其他版本,如果需要)->应用程序
- 使用应用程序的名称创建一个新文件夹
- 进入文件夹并将 .app 文件放置在此处。
由于IPA文件编译为手机的ARM架构,您不能运行在模拟器IPA文件,而不是模拟器的x86架构。
不过,您可以提取安装在本地模拟器的应用程序,它发送给其他人,并让他们把它复制到模拟器的机器上。
在终端中,类型:
open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications
这将打开您已安装的所有模拟器的所有应用程序文件夹。每个应用程序都将与一个随机的十六进制名称的文件夹中。你可以计算出它是由内部的每个人看到自己的应用程序。一旦你找到了你想要一个,右键单击它并选择“压缩...”,它将使一个zip文件,你可以轻松地复制到另一台计算机,并解压缩到一个相似的位置。
更新:对于 Xcode 8.0+,您需要执行以下步骤:
- 从 iTunes 下载应用程序
- 选择下载的应用程序,右键单击在Finder中显示
- 复制
.ipa
文件到桌面,重命名为.zip
文件 - 提取那个
.zip
文件,您将获得包含应用程序名称的目录 检查你会发现的目录
app
文件输入 有效载荷 文件夹,复制这个app
文件去
~/Library/Developer/CoreSimulator/Devices
供参考: Library
Mac 中默认隐藏文件夹,您可以使用以下命令查看隐藏文件。
defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app
现在在这里你会看到许多带有长十六进制名称的目录,这些都是模拟器。
要找到所需的模拟器,请使用“排列方式 > 修改日期”对这些目录进行排序。
选择该模拟器文件并转到以下位置。
<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
- 创建新文件夹名称为
<download-app-name>
并粘贴app
该文件夹中的文件 打开 终端 并运行以下命令来安装此应用程序
xcrun simctl install booted <APP_FILE_PATH>
例子 <APP_FILE_PATH>
将如下所示:
~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
首先,投资促进机构通常只有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
这意味着当前引导设备。
:用于Xcode的9.4.1和最新模拟器:强>
希望我的回答是越来越看到到这里,因为这花了我一段时间来弄清楚,但我只是得到它的工作。
所有你需要建立和你的模拟器运行应用程序的第一次。然后,你打开活动监视器。双击您的应用程序的名称查找其内容。
在下一屏幕打开打开文件和端口标签和找到MyAppName.app/MyAppName行。
复制链接但一定要停在MyAppName.app 。不要复制它后面的路径。
控制点击到取景器的图标并选择转到文件夹强>
粘贴路径和点击进入。你会看到你MyAppName.app文件。 它复制到桌面和zip它。它移动到你想要的第二个计算机并解压文件。建立一个随机的项目有一个模拟器打开。
最后:从字面上将它从桌面拖放应用程序到你的模拟器。你会看到安装和App打开并执行不会崩溃。
您可以在模拟器中运行项目的应用程序文件 - 而不是.ipa文件
您可以得到它:
Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->
then u能看到像0CD04F....
许多文件找出你的应用程序文件,通过打开它。
您可以将文件复制到系统(u需要运行的系统仿真器)的位置Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->
然后打开模拟器4.3(您在其中粘贴了你的模拟器版本)。你可以看到那里安装应用程序。
<强>从其他人获得:强>
请告诉他们,找出Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->
then你可以从他们的系统中看到很多文件,如0CD04F....
从他们收到该文件。
他们已经拿到了文件后,请复制并粘贴文件到您的系统`库 - > Applicationsupport - > iPhone模拟器 - > 4.3(这是你的模拟器版本) - >应用程序 - >(粘贴这里的文件)。
然后就可以看到应用程序被安装在您的系统仿真器,您可以点击该文件后,运行它。
复制从这里:强>结果 - 运行在Xcode中的应用。 - 选择搜索到你去按一下选择库库/应用程序支持/ iPhone模拟器/ 7.0.3-64 /应用 - 选择32位文件夹复制应用程序
<强>粘贴到这里:强>结果 - /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone模拟器。 SDK /应用结果 - 粘贴在这里和运行模拟器
使用的Xcode 6:
这是非常可能的构建和安装上的模拟器。
我做到了通过复制调试生成配置(我把它叫做SimRelease我下面的例子),在项目设置。我改变了架构,i386和x86_64的(不知道如何必要,这是),但关键的区别复制的构建配置之间的变化是建立积极的架构设置为NO。之后,几个简单的命令行工具将做休息!
xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1
根据你有你的DerivedData设置你需要去找到输出的.app文件夹中。一旦你找到它,你根本就任何模拟设备上安装它。要查找设备UUID的开放Xcode和去窗口 - >设备,您会看到设备实例的列表,你可以抓住的UUID的。对于一个微不足道的脚本,你可以抓住他们都来自:〜/资源库/开发/ CoreSimulator /设备/并安装在每个设备上
。从那里简单命令安装在设备上是:
xcrun simctl安装DEVICE_ID APP_FOLDER_LOCATION
下面是一个简单的外壳脚本采取应用和每个设备上安装:
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
希望这有助于!我花了一段时间才能找出做到这一点的最好办法。