2011-06-14 100 views
2

首先,我想说的是,我知道我的问题可能太模糊,无法回答,可能会被关闭/倒票。我只是希望能够对可能的解决方案进行一些鼓舞人心的思考。通用应用程序在iPad 1上工作,但不在iPad 2上

这里的故事:

我的应用程序崩溃是在iPad 2,但不是在iPad 1,我已经修复与解档笔尖,现在我有一个很奇怪的问题崩溃 - 我的通用的应用程序仍然运行在iOS 4.2.1和4.3.3的第一代iPad上没有任何问题,但在4.3.3版本的iPad上没有任何问题。不幸的是,我无法通过iOS < 4.3.3访问iPad 2,以进一步测试并缩小问题范围。

我的应用程序的主屏幕使用presentModalViewController显示。我的模态VC是MGSplitViewController(它模仿原生UISplitViewController并增强其功能)。当我的VC出现时,只显示“根视图”,而“详细视图”的屏幕剩余部分只是黑色且空白,但控制器已加载并处于活动状态(调试日志已打印等)。

因此,在iPad 2上,我无法正常显示细节视图,但是我从一位用户那里听说他的iPad 2(两个iOS 4.3.3)都没问题。无论iOS版本,应用程序在iPhone/iPod上也可以正常工作,所以我认为它仅与我的通用应用程序的iPad代码相关。

我认为这可能是显示视图时更常见的问题。我试着读取我详细视图的view属性,这应该强制显示视图,但它没有帮助。它也可能与IB的东西有关(最初的笔尖解压仅在iPad 2上崩溃??),但我认为IB中的所有东西都连接好...

任何人都有丝毫的想法如何调查这个问题?

编辑︰顺便说一句:我的iPad 2给我很难,因为它经常下降Wi-Fi连接。其他人也在报告这种“特征”。这可能是因为我的iPad 2出了问题吗?

EDIT2:该应用程序在iOS 3.2,4.2和4.3.3模拟器(通过XCode 4)上也没有正确显示,但通过Xcode 3正确显示在iOS 3.2,4.2模拟器上。奇怪的是它?

+0

您能解决此问题吗?我有类似的问题,没有iPad 2进行测试。另外,你怎么知道有一个笔尖加载问题?也许你在iPad 2上使用调试器运行应用程序? – bdmontz 2011-07-11 14:31:46

+0

我对我的应用程序有同样的问题!它在iPad2上崩溃... – SPatil 2011-07-26 06:47:47

回答

0

最初,由于取消存档笔尖,应用程序崩溃。我不记得确切的崩溃输出,但对我来说,相同的笔尖在具有相同操作系统版本的iPad 1上正确解除存档对我来说很奇怪,所以我怀疑问题在于xib文件中......我重新创建了xib从头开始仔细寻找一切 - 巴姆! - 它开始在iPad 1和iPad 2上工作!如何在运行不同硬件的相同操作系统上以相同方式解除一些笔尖的存档?

1

任何人都有丝毫的想法如何调查这个问题?

如果你允许对含糊不清的问题做出含糊不清的回答,那么是的,我确实有一个想法。

接近一般像这样的问题,这个问题域的二分法是前进的好方法:

  • 您识别的一般问题区。你的情况可能是presentModalViewController
  • 然后在有问题的代码的中途,您设置了一个断点/写一条消息到一个日志文件/播放声音/发送邮件/ tweet /无论它需要验证您的代码在没有崩溃的情况下到达那里。
  • 运行它并查看您的消息是否已经生成。
  • 如果已经生成,问题不在上半年,所以它必须在下半年(在确定问题区域末尾的日志消息也是有用的,只是为了确保崩溃实际上在那之前发生)。
  • 另一方面,如果没有跟踪您的日志消息,那么崩溃必须发生在前半部分,并且您可以排除后半部分代码的特定问题。

现在您重复该算法,将您的断点/日志消息设置为刚刚确定的罪魁祸首的一半。

重复,直到找到问题。它不会需要很多迭代。

当然,崩溃可能是由于某个变量存储在上一步或另一种方法中,但现在你知道去哪里看。

+0

我遵循你的算法并隔离了问题 - 查看我的答案。 – matm 2011-09-01 20:44:34

相关问题