XCode 4 - 设备未显示在架构“目标”下拉菜单中

7

我实在找不到如何使用 XCode 4 在设备(特别是 iPhone 4)上运行应用程序的方法。

文档中指出要“在计划编辑器中将运行目标设置为 iOS 设备,然后构建和运行应用程序。”

计划编辑器中的下拉菜单仅提供模拟器选项。

请问是否有人能够提供一个使用 Xcode 4 在设备上运行应用程序的逐步方法?

使用: Xcode 4.0.2(iOS 4.3) iPhone 4.3.3

更新

最终我进行了一系列重启(Macbook Pro、iPhone 4、Xcode),对项目进行了几次清理和构建,并将 TARGET 的“Base SDK”构建属性设置为“最新 iOS(iOS 4.3)”。

之后,在计划编辑菜单的目标下拉菜单中出现了该设备。

(感谢您的时间 septi!)


1
我拥有开发者许可证并创建了一个配置文件(包括应用程序ID、开发者证书和设备)。Xcode 4组织器在我的设备旁边有一个绿色的指示灯。我还阅读了文档:http://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Devices/Devices.html,但在“在设备上运行您的应用程序”一节中没有详细说明。 - user487890
嗯...那应该就可以正常工作了;-) 你有点击“用于开发的设备”吗?我记得有一个按钮可以启用设备... - tamasgal
1
我确定如果它出现了,我就接受了它。尽管已经下载了最新版本的Xcode,但“iOS部署目标”构建设置中并未包括iOS 4.3...有什么想法为什么会这样?我的手机已安装4.3.3版本,如果部署目标未设置为4.3,则Xcode可能无法识别该设备。 - user487890
“工作”是指设备应该在方案编辑器中的“目标”下拉菜单中显示吗?在您设置好Xcode 4中的预配配置文件设置后,您采取了哪些步骤使其“正常工作”? - user487890
好的,我刚刚把我的设备升级到了4.3.3版本并且启动了Xcode 4.0.1。然后它提示说我的连接设备没有调试信息,随后从网上下载了一些文件。几分钟后就正常工作了。所以我现在很困惑为什么它不能和你的配置一起工作 :-\ - tamasgal
显示剩余3条评论
5个回答

20

请务必确认您项目所使用的BASE SDK。根据文档中所述:

"注意:如果你正在为你的开发设备构建应用程序,则Xcode项目定义的基础SDK版本号必须大于或等于你的开发设备上的软件版本号;否则,Xcode将无法与该设备启动调试会话。在这种情况下,您需要下载并安装最新的iOS SDK版本,该版本必须大于或等于您的设备软件版本。"


(这在目标设置的“常规”选项卡中称为“部署目标”。) - Sophie Alpert

3
我遇到了类似的问题。我的手机是iOS 4.2.1版本。
我下载了一个示例应用程序,但是我的手机没有显示为选项,只有模拟器被列出。
所以这只是一个配置问题:
要解决这个问题,您需要选择项目,并:
1.(如上所述)选择Build Settings/Base SDK =(在我的情况下)Latest iOS(iOS 4.3) 2. 选择Summary: Devices: iPhone 3. 选择Deployment Target:(在我的情况下)4.2
现在,在目标的下拉列表中,我获得了以下内容:
Myiphone(4.2.1,覆盖基本SDK为4.3)

1

同时要注意plist文件中的UIRequiredDeviceCapabilities属性。有时这可能会阻止设备出现。


0

项目的一般设置中的“部署目标”需要小于或等于您的设备,就像Danny上面所说的那样。

请注意,当您在新版本的XCode中创建新项目时,默认的部署目标将是最新的操作系统版本。如果您的iPhone使用较低版本,则意味着您需要升级您的iPhone或将旧的SDK安装到XCode中。

您可以通过将旧的SDK复制到以下位置的XCode包中来安装旧的SDK:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs


0

今天在 XCode 5 中遇到了这个问题,我尝试了指定的步骤。最终,我找到了另一个解决方案,可能对未来的读者有用(无论是 Xcode 4 还是其他版本)。

  1. 进入项目设置并选择目标。
  2. 选择“常规”选项卡并滚动到部署信息。
  3. 在“部署目标”下,确保指定了您设备的操作系统版本或更低版本。
  4. ---> 您的设备现在应该显示在调试列表中可用。

通过在另一个项目中检查相同的设备,我发现了这个解决方法。在那个项目中,设备显示正常。当比较两个项目的设置时,上述差异是引起问题的关键并解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接