在设备而不是模拟器上运行iPhone应用程序时,是否可以实际使用Xcode调试器?也就是说,我可以让设备停在我在代码中设置的断点处,并在设备上运行时逐步执行代码吗?
编辑:我应该提一下,我是Apple的注册开发人员并拥有有效证书。事实上,我可以在我的设备上构建和运行iPhone应用程序。但是,即使在调试模式下,当我在设备上运行时,我的应用程序也不会停在断点上或输出到控制台。如果有帮助,当我在模拟器中运行时,我的应用程序将在调试模式下正常运行(例如,在断点处停止)。编辑2:我尝试重置手机,完全删除并重新安装Xcode,创建新项目,更改此页面(以及其他人)的答案中提到的所有设置,清理和构建我的项目,构建和调试...如果我单击暂停,它会显示“调试器出错:退出”。 :(也许我会尝试在另一台计算机上使用Xcode在此设备上进行调试,看看会发生什么。
编辑3:嗯,我尝试在新项目中使用新安装的Xcode来使用另一台计算机,但仍然无法使设备调试工作。我怀疑这是我的iPhone或电缆吗?我想我不是那么无能,以至于我错过了一些如此令人尴尬的事情,但我已经对这里提到的所有建议进行了双重和三重检查。编辑4:最终让设备调试正常工作。我有一种感觉,我的设备上的低级别的东西导致了问题...我在我的系统上做了什么。但是,我在另一个系统上安装了Xcode,并且在同一设备(使用相同的电缆)上的设备调试工作正常。在此之后,设备调试开始在我原来的机器上运行,让我相信一些奇怪的硬件标志被搞砸了,并且在第二台机器上以某种方式“重置”。无论如何,它现在有效...感谢所有的帮助。 :)
此外,我不确定是否最好不要回答这个问题,或选择最“乐于助人”的答案......
答案 0 :(得分:10)
是 - 只需使用设备构建。您必须获得证书并进行配置。
这是一个很好的描述:
http://boga.wordpress.com/2008/07/16/debugging-ipod-provision-profilescertificates/
答案 1 :(得分:3)
确保按“Cmd-Y”而不是“Cmd-R”开始调试: - )
答案 2 :(得分:2)
如果没有什么可以提供帮助,你可以尝试最后一招。
如果您的应用程序在您的设备上从XCode成功启动但未在断点处停止 - 请在调试模式启动后尝试按“暂停”按钮。如果您看到应用程序已正确暂停(不对用户的操作做出反应)添加新断点,请按“运行”继续执行应用程序。在某些情况下,停在新的断点可能会有所帮助。
答案 3 :(得分:1)
是的,只需将项目设置为为设备构建。
答案 4 :(得分:1)
如果您需要为越狱iPhone设置调试(最高2.2.1)(尚未向Apple支付99),请按照以下步骤操作:
通过Cydia为您的iPhone安装MobileInstallationPatch(使用“搜索”选项卡)
在XCode处关闭PROVISIONING_PROFILE:转到/Developer/Platforms/iPhoneOS.platform/Info.plist,添加下一个键:
<key>PROVISIONING_PROFILE_ALLOWED</key> <string>NO</string> <key>PROVISIONING_PROFILE_REQUIRED</key> <string>NO</string>
您也可以将这些密钥添加到任何密钥中 项目特别是在XCode,Project 构建设置,用户定义 变量
在XCode上为项目Info.plist添加密钥 SignerIdentity = Apple iPhone OS应用程序签名
不要忘记安装并添加Apple项目设置的自签名证书 http://developer.apple.com/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW2
“Build and Go”,您可以连接iPhone并开始调试。
重要!您可能需要先从App Store安装并启动至少一个合法应用(任意免费)(在“Build and Go”步骤之前)。否则,您的应用程序将由XCode成功安装到您的设备,但可能无法启动。如果应用程序启动出现问题,请先尝试进行此问题排查。
答案 5 :(得分:0)
是。调试器和性能工具在设备上运行良好。这就是我进行大部分调试的地方。
答案 6 :(得分:0)
Xcode&gt;偏好设置&gt;调试取消选中lazily加载符号
为我修复了不存在设备问题的断点。