我有一个从开发人员那里共享的.app文件,我想在iOS 8模拟器中运行该文件。我见过类似的问题,这些问题为不再适用于iOS 8的旧版本的iOS提供了解决方案。有人可以指出在不使用 xcode 的情况下在 iOS 8 模拟器中运行 .app 文件需要做什么吗?
在 iOS 模拟器中启动要安装它的模拟器,然后执行以下操作:
xcrun simctl install booted /path/to/Your.app
xcrun simctl launch booted com.yourcompany.yourapp
Xcode 6.0 中较旧版本的 simctl 不支持"booted"令牌。 如果出现错误,请使用完整的设备 UDID,而不是"已启动"。 您可以通过运行xcrun simctl list
来确定 UDID。
如果使用命令在模拟器中安装后应用程序崩溃,
xcrun simctl install booted /path/to/Your.app
这可能是因为架构问题,因为我们使用的是设备构建而不是模拟器构建。
iPhone模拟器和iPhone设备之间的基本架构区别是
iPhone模拟器使用架构i386或x86_x64
而
iPhone 设备使用架构 arm64 或 armv7 或 armv7s
我们可以在此链接中找到每个设备架构。因此,为了克服这个问题,我们需要通过更改 xcode 构建位置设置来构建模拟器。
溶液:
要更改构建位置设置,请打开您的 xcode 并按照以下步骤操作。
- 转到 xcode 首选项。
- 选择位置选项卡。
- 在"派生数据:"部分中,单击"高级",从出现的屏幕中选择"旧版"。 现在构建应用程序,
- 成功构建后转到查找器中的"您的应用程序文件夹/构建/调试iPhone模拟器",然后复制同一文件夹中可用的构建,扩展名为.app
复制它并运行上面由 @jeremy 回答的命令。
xcrun simctl install booted/path/to/Your.app
运行此命令后,请注意模拟器是使用指定的版本安装的。好了,通过单击相应的应用程序在模拟器中运行应用程序并使用它。
我故意写这个解决方案来帮助有需要的人,那些对上面指定的架构问题一无所知的人。
快乐编码:)
iOS模拟器还支持拖放以安装.app文件
- 开放式模拟器
- 您可以通过 XCode 在
XCode > Open Developer Tool > Simulator
下执行此操作 - 要"不使用 Xcode"打开它,请参阅这些答案。
- 您可以通过 XCode 在
- 在 Finder 中找到.app文件并将其拖到模拟器窗口中
- 等待应用程序安装并启动它
对于希望为测试人员提供模拟器构建的开发人员,这些是我创建和测试构建所遵循的步骤 -
-
在构建设置的有效体系结构部分添加 i386。
-
打开终端并导航到您的项目文件夹。然后执行命令 -
Xcodebuild -arch i386 -SDK iPhone模拟器8.1
(这将构建应用程序(
-
要在模拟器上安装应用程序,请运行上述答案中提到的命令,即 -
xcrun simctl install booted/path/to/Your.app
现在,您应该能够通过单击模拟器中已安装的应用程序来运行该应用程序。
我已经遵循了上述所有命令和东西,但没有一个有效。我所做的只是通过从 Product->Archive 存档应用程序来创建.app,然后通过将扩展名更改为 .zip 将生成的 .ipa 转换为 .app。但是该应用程序在启动时崩溃。对于那些面临相同问题的人,请转到
DerivedData/projectname/Build/Products/Debug-iphonesimulator/
文件夹。在那里,您可以找到带有应用程序名称的.app文件。您需要通过拖放到模拟器上来使用此.app文件。产品>存档>.app不起作用。