为什么我在xcode中找不到我的Iphone设备

时间:2012-07-09 00:48:19

标签: iphone ios

我已将iphone添加为设备并将其与配置相关联。然后我下载最新的配置并安装它(我之前已经成功添加了ipad作为测试设备)。

现在,在"管理器"中,我可以看到iphone设备但是当我连接iphone设备时,我找不到运行我的应用程序的iphone设备。我的软件版本是4.2.1,是不是导致此问题的最新版本?或者可能的原因是什么?

1 个答案:

答案 0 :(得分:1)

是的,iPhone的软件版本很重要。它必须在项目中概述的最低部署目标范围内。所以:

  1. 如果您调出“项目”设置(单击左侧项目导航器面板中所有源文件树结构列表根目录下的最顶层文件夹,然后在主面板中单击“PROJECT”下面的项目名称,然后选择“Info”选项卡,其中有“iOS部署目标”。如果iOS版本大于设备的iOS版本,则不会看到设备在Xcode的方案中列出(你选择设备和模拟器)。顺便说一下,如果你的应用程序的“基础SDK”是一个更高的数字(只是确保你不使用任何iOS 5-only方法,或者如果你做的话) ,确保您的程序以编程方式测试这些方法的存在/支持),只需确保部署目标对您的设备足够低。无论如何,如果您更改“iOS部署目标”,您的设备应该显示。(另外顺便说一下,如果你改变了你的目标的最小部署(即如果你曾经改变它,那么它不再默认为项目的最小“iOS部署目标”,您可能也需要调整该设置。)

  2. 此外,如果您的iOS版本是4.2.1,我想知道您是否正在处理iPhone 3G(3GS之前的型号)。我这样说是因为4.2.1是旧硬件上的最大iOS版本。无论如何,如果是这种情况,你应该明白iPhone 3G和早期的iPod触摸使用的是ARMV6处理器,而不是ARMV7处理器。因此,即使您将“iOS部署目标”更改为iOS 4.0,您也会看到您的iPhone 3G显示在您可以构建的设备列表中,但它不起作用(并且它不会给你任何有意义的错误信息)。如果您正在处理3G或更早版本,这只是一个问题。要支持那些旧设备(如果这是一个问题),除了上面讨论的“iOS部署目标”设置之外,您还必须转到“构建设置”选项卡,找到“架构”条目,并确保您添加“armv6”作为另一个选项(点击“架构”旁边的值(可能会说“Standard(armv7) - $(ARCHS_STANDARD_32_BIT)”,点击“其他......”,当你得到对话框时)框中,单击“+”并添加“armv6”(不带引号)作为可接受的值。

  3. 执行此操作后,您可能需要单击“验证设置”按钮,因为它建议使用与cpu相关的修复程序。不知道你是否需要它,但我让它修复了我的项目。

  4. 最后,您需要返回左侧的Project Navigator面板(您可以看到所有源文件),找到应用程序的plist(最简单的方法是在搜索框中键入“plist”)文件下方的左下角),然后转到“必需的设备功能”。展开该列表,如果你在那里看到armv7,只需删除armv7条目。

  5. 只有在您需要支持旧硬件时才需要点2-4,但这不必要地复杂且不直观。希望这会有所帮助。