Xcode 可以构建项目但不能在模拟器上运行

Posted

技术标签:

【中文标题】Xcode 可以构建项目但不能在模拟器上运行【英文标题】:Xcode can build a project but can't run it on simulator 【发布时间】:2011-12-09 15:46:16 【问题描述】:

当我从 Web 下载项目时,有时它可以构建但无法运行(XCode -> Product -> Run 已禁用,呈灰色)。当我自己创建项目时,这永远不会发生。可能是什么问题呢?它与版本有某种联系吗? 我是 ios 开发的新手,出于学习目的从网上下载项目。不能在模拟器上测试,可惜了。

【问题讨论】:

【参考方案1】:

通常,如果您无法运行项目,则:

它没有知道如何“运行”的构建方案。检查运行/停止按钮旁边的顶部是否显示了配置文件名称和目标设备。如果该框显示No Scheme,则单击它并创建一个新方案。如果有方案,请单击下拉菜单(Xcode 4.2+ 中的左侧分隔线,否则在框的任何位置)并转到编辑方案以确保该方案已正确设置为运行

它没有构建配置集。您应该在构建方案的运行部分中看到这一点。检查有一个选择。如果列表为空,请转到最左侧窗格顶部的“项目”图标,选择“项目”,进入“信息”部分,然后创建构建配置,但如果您可以构建项目,应该至少已经有一个

它根本没有可运行的目标,这可能意味着您有一个项目可以编译为静态库或框架以用于其他项目。如果是这种情况,您应该将构建目标的图标视为黄色工具箱(框架)或白色小建筑物(“库”,尽管在我看来它更像 United States Supreme Court Building)。

目标对模拟器无效,这意味着您可能需要将i386 添加到架构有效的列表中目标上的架构,然后才能运行它

目标对当前连接的设备无效。对于这一点,请检查部署目标编号是否设置得足以对设备的 iOS 版本有效

Xcode 看不到连接的设备。尝试拔下并重新插入。如果仍然无法识别它,您可能没有将其添加到 Xcode(窗口 -> 设备 -> 选择设备 -> 用于开发)

【讨论】:

感谢您的全面回答,就我而言,我构建了动态库,这就是模拟器上没有启动的原因。我所要做的就是切换到另一个方案。 就我而言,我必须选择正确的目标。我有 React,切换到我的项目名称。它启动了模拟器。 很好的答案,尽管我认为 Apple 将图标更改如下:i.stack.imgur.com/SrREk.png【参考方案2】:

确保在您的编辑方案中(单击停止按钮旁边的项目名称 -> 编辑方案),在“运行”菜单选项的“信息”选项卡中,将您的 .app 选为可执行文件。我遇到了这个问题并选择了“无”,这是在重构项目名称并重新配置构建目标之后发生的。

【讨论】:

感谢@luoser!!还有一点是..当您在同一个应用程序中有多个目标时,选择另一个目标并再次运行。 这应该被接受的答案.....非常感谢【参考方案3】:

您可以下载一个部署设置(ios 版本)高于您的 xcode 支持的项目。如果这是您的情况,您有两种选择来解决问题。

    尝试在较旧的部署选项中运行项目。按照这些说明( 如果项目只是设置为更高版本但没有使用更高版本的任何功能。这种方法应该有效): 在 xcode 中选择项目文件 > 选择您要运行的目标 > 选择摘要选项卡 > 在“iOS 应用程序目标”部分中 > 在关于“部署目标”的组合框中选择 Xcode 支持的版本。 然后你就可以在模拟器中选择并运行项目了。

    如果项目使用了更高版本的功能,那么您应该更新您的 Xcode 以运行该项目。

希望这会有所帮助!

【讨论】:

【参考方案4】:

在我的情况下,问题非常简单,我需要在“产品 > 方案 > 编辑方案 > 运行”菜单中检查“启动:自动”检查。

如果未选中此设置,我无法在模拟器中找到应用程序图标来启动应用程序。

【讨论】:

【参考方案5】:

In My Case Sole by Go->Project->Architectures->Architecture=select standard architectures(armv7,arm64)...

Go->Target->Architectures->Architecture=select standard architectures(armv7,arm64)...

【讨论】:

以上是关于Xcode 可以构建项目但不能在模拟器上运行的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 无法在设备上构建,但在 Xcode 4.6 上构建模拟器

更新 Xcode 后,我的 Swift 3 项目无法正常运行,但构建成功

我在 android studio 中运行我的颤振项目并尝试使用 iPhone 12 模拟器,但 Xcode 构建每次都失败

Xcode 8 构建失败仅适用于模拟器

无法在 iOS 模拟器上运行颤振应用程序

Xcode 12 beta 4:为 iOS 模拟器构建,但在为独立构建的目标文件中链接