带有iOS 4.2.1的越狱iPhone 3G无法使用XCode进行调试

时间:2010-12-13 19:52:21

标签: iphone xcode

我正在尝试使用XCode 3.2.5调试我的应用程序,并使用iOS 4.2.1越狱iPhone 3G。

当我启动调试启用启用断点时,应用程序无法启动(它停留在'Default.png'屏幕上)并且我得到数据格式化程序暂时不可用,将在之后重新尝试'继续'。 (无法在GDB中找到dlopen函数,因此无法加载共享库。)消息。

当我启动调试而没有启用断点时,应用程序启动没有问题。

我尝试执行there所描述的步骤,但没有任何结果。

当我使用iOS 4.1时,reboots出现问题。

每个连接的iPhone Organizer上显示以下消息:

**Unknown iOS detected** Xcode does not have debugging information for the version of iOS on the device named “iPhone”. Xcode can collect debugging data from the device to enable development with this version of iOS. This process only needs to be done once per iOS version, and will take several minutes.

感谢您的帮助!

6 个答案:

答案 0 :(得分:8)

您的问题很可能通过重新授权设备来解决:

  1. 如果您的iPhone已插入电脑,拔下电源

  2. 在Xcode中,显示管理器(窗口 - >管理器)

  3. 设备区域中,点击您的设备,然后将其删除

  4. 以防万一,退出Xcode ,然后重新启动

  5. 再次打开管理器,然后将iPhone 插入计算机。

  6. 告诉Xcode是的,你想授权设备

  7. 如果一切正常,Xcode现在下载设备信息为4.2.1。

  8. 如果这不起作用,那么我建议再次执行这些步骤,但更换步骤4,从计算机中删除所有Xcode痕迹,然后重新安装。这包括整个Developer文件夹。

答案 1 :(得分:5)

最新的Xcode + SDK drop并不知道iOS 4.2.1,因为它是在最新补丁发布之前发布的。 Xcode的管理器有一个新功能,试图直接从设备下载调试支持文件,但显然它有一些(可能与越狱相关)的问题。

iOS 4.2.1与4.2类似,可以强制Xcode使用4.2支持文件在4.2.1设备上进行调试。为此,只需转到/Developer/Platforms/iPhoneOS.platform/DeviceSupport文件夹并手动将Symbols子文件夹和/或DeveloperDiskImage.*文件从4.2 (8C134)复制到4.2.1 (8C148)(或任何版本)文件夹管理器为您的设备创建)。

答案 2 :(得分:2)

越狱3GS / 4.2.1

我试过马修弗雷德里克的建议没有成功。有人碰巧找到了解决这个问题的方法吗?


修改

请注意,我使用了越狱 3GS 和非越狱 3GS 。 解决方法,需要非越狱iPhone 3GS与4.2.1(8C148a)

  1. 删除/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148a)
  2. 将非越狱iPhone 3GS与4.2.1(8C148a)连接
  3. 打开Xcode和管理器
  4. 单击“管理器”中的“用于开发”按钮,配置新iPhone以进行开发。
  5. 让它从中重新提取调试符号/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148a)
  6. 拔下插头,从管理器中删除
  7. 此时您可以再次调试已越狱的iPhone。 干杯!

答案 3 :(得分:1)

为了在每次将iPhone呈现给XCode时摆脱管理器中的(重新)收集调试符号(实际上什么都不做),一个简单的解决方法是复制:

DeveloperDiskImage.dmg和DeveloperDiskImage.dmg.signature

从4.2(8C134)到空4.2.1(8C148)文件夹。

XCode将识别设备,您将能够调试代码,但没有IOS框架的调试符号。 但是,gdb控制台将处于活动状态,您可以使用它来调试代码(使用调试符号)。

顺便说一下。您可以随时使用模拟器获得完整的IOS支持: - )

答案 4 :(得分:0)

我完全没有越狱的iPhone使用4.2.1执行此操作,并获得完全相同的消息和问题。它是最新版本的XCode中的新功能,所以它很可能是错误的。

答案 5 :(得分:0)

除了Fnord的建议之外,还有其他建议是确保iPhone 3G越狱设备没有启用多任务处理或PwnageTool中的“重新启用功能”。

我不确定这是否有影响。但是,如果我们真的想在iPhone 3G的真实世界条件下进行测试,那么这样做是合理的。