代码之家  ›  专栏  ›  技术社区  ›  CIFilter

iPhone设备调试

  •  14
  • CIFilter  · 技术社区  · 15 年前

    在设备上而不是模拟器上运行iPhone应用程序时,是否可以实际使用Xcode调试器?也就是说,我可以让设备在我在代码中设置的断点处停止并在设备上运行时单步执行代码吗?

    编辑:我应该提到我是苹果公司的注册开发者,并且拥有有效的证书。事实上,我可以在我的设备上构建和运行iPhone应用程序。但是,即使在调试模式下,当我在设备上运行应用程序时,它也不会在断点上停止,也不会输出到控制台。如果有帮助,我的申请 在模拟器中运行时,在调试模式下正常工作(例如,在断点处停止)。

    编辑2:我尝试重置手机,完全删除并重新安装Xcode,创建新项目,更改本页答案中提到的所有设置(以及其他设置),清理和生成项目,生成和调试…如果我单击暂停,它将显示“来自调试器的错误:退出”。:(也许我会尝试在另一台计算机上使用xcode在这个设备上进行调试,看看会发生什么。

    编辑3:嗯,我在一个新项目中尝试使用另一台使用新安装的xcode的计算机,但我仍然无法使设备调试工作。我怀疑可能是我的iPhone或有线电视?我想认为我不是那么无能,我错过了一些让人难堪的显而易见的事情,但我已经仔细检查了这里提到的所有建议。

    编辑4:最终使设备调试工作。我有一种感觉,我的设备上的一些低级别的东西导致了问题……我在我的系统上没有做任何工作。但是,我在另一个系统上安装了Xcode,在同一个设备上(使用同一条电缆)进行设备调试工作毫无瑕疵。就在那之后,设备调试开始在我原来的机器上工作,这让我相信一些奇怪的硬件标记被搞砸了,不知何故在第二台机器上“重置”。不管怎样,它现在起作用了…谢谢你的帮助。:)

    另外,我不确定是让这个问题无人回答,还是选择最“有用”的答案…

    7 回复  |  直到 15 年前
        1
  •  10
  •   Lou Franco    15 年前

    是——只需使用设备构建。你必须得到证书并提供它。

    这是一个很好的描述:

    http://boga.wordpress.com/2008/07/16/debugging-ipod-provision-profilescertificates/

        2
  •  3
  •   MrDatabase    15 年前

    确保按“cmd-y”开始调试…而不是“cmd-r”:-)

        3
  •  2
  •   MikZ    15 年前

    你可以试试最后一个技巧,以防什么都帮不了你。

    如果应用程序在设备上从xcode成功启动,但没有在断点处停止-请尝试 按“暂停” 在调试模式下启动后的按钮。如果您看到应用程序正确暂停(不响应用户的操作) 添加新断点 然后按“运行”继续执行应用程序。在某些情况下,它可能有助于在新的断点处停止。

        4
  •  1
  •   Andrew Garrison    15 年前

    是的,只需将项目设置为为为设备生成。

        5
  •  1
  •   MikZ    15 年前

    如果您需要为越狱iPhone设置调试(最高达2.2.1)(尚未向苹果支付99美元),请执行以下步骤:

    • 通过cydia为iPhone安装mobileInstallationPatch(使用搜索选项卡)

    • 关闭xcode上的配置文件:转到/developer/platforms/iphoneos.platform/info.plist,添加下一个密钥:

    <key>PROVISIONING_PROFILE_ALLOWED</key>
    <string>NO</string>
    <key>PROVISIONING_PROFILE_REQUIRED</key>
    <string>NO</string>
    

    您也可以将这些密钥添加到 项目,特别是Xcode,项目 生成设置,用户定义 变量。

    重要! 您可能需要安装和启动 至少一个合法应用程序 (任何免费的)首先从应用程序商店(在“构建和执行”步骤之前)。否则,Xcode将成功地将您的应用程序安装到您的设备上,但可能无法启动。如果应用程序启动出现问题,请先尝试此故障排除。

        6
  •  0
  •   Nosredna    15 年前

    对。调试器和性能工具在设备上工作正常。这就是我大部分调试工作的地方。

        7
  •  0
  •   Ransom Weaver    15 年前

    xcode>首选项>调试取消选中“延迟加载符号”

    修复了我的设备问题中没有保持的断点。