繁体   English   中英

适用于 iPad 1 但不适用于 iPad 2 的通用应用程序

[英]Universal app working on iPad 1 but not on iPad 2

首先,我想说我知道我的问题可能太模糊而无法回答,并且可能被关闭/否决。 我只是希望就可能的解决方案进行一些鼓舞人心的头脑风暴。

这是故事:

My app was crashing on iPad 2, but not on iPad 1. I've fixed the crash related to unarchiving nib and now I have a very strange problem - my universal app still runs without any problems on 1st gen iPad with iOS 4.2.1和 4.3.3,但不在(部分/全部?)带有 4.3.3 的 iPad 2 上。 不幸的是,我无法访问 iOS < 4.3.3 的 iPad 2 以进一步测试并缩小问题范围。

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

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

我相信显示视图可能是更普遍的问题。 我试图读取我的详细视图的view属性,它应该强制显示视图,但它没有帮助。 它也可能与 IB 的东西有关(仅在 iPad 2 上的初始笔尖取消归档崩溃??),但我认为 IB 中的一切都正常......

任何人都知道如何调查这个问题?

编辑:顺便说一句:我的 iPad 2 让我很难受,因为它经常断开 Wi-Fi 连接。 其他人也在报告这种“功能”。 难道只是我的 iPad 2 有问题吗?

EDIT2: the app is also not correctly displayed on iOS 3.2, 4.2 and 4.3.3 Simulator (via XCode 4), but gets displayed correctly on iOS 3.2, 4.2 Simulator via Xcode 3. Strange, isn't it?

任何人都知道如何调查这个问题?

如果您允许对一个有点模糊的问题给出一个有点模糊的答案,那么是的,我确实有一个想法。

一般来说,为了解决这样的问题,问题域的二等分是向前推进 go 的好方法:

  • 您确定一般问题区域。 在你的情况下它可能是presentModalViewController吗?
  • 然后大约在有问题的代码进行到一半时,您设置断点/将消息写入日志文件/播放声音/发送邮件/推文/验证您的代码是否已经完成了这么远而没有崩溃的任何事情。
  • 运行它并查看您的消息是否已生成。
  • 如果已经产生,问题不在前半部分,所以一定是后半部分(已识别问题区域末尾的日志消息也很有用,只是为了确保崩溃确实发生在之前那)。
  • 另一方面,如果您的日志消息没有任何痕迹,那么崩溃肯定发生在前半部分,您可以排除代码的后半部分针对此特定问题。

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

重复直到你发现问题。 它不会需要很多次迭代。

当然,崩溃可能是由于在上一步或其他方法中存储了一些变量,但现在您知道在哪里查找了。

最初,由于取消归档笔尖,应用程序崩溃了。 我不记得确切的崩溃 output,但对我来说很奇怪的是,相同的笔尖在 iPad 1 上被正确地取消归档,具有相同的操作系统版本,所以我怀疑问题出在 xib 文件中......我重新创建了 xib从头开始仔细路由一切,然后-bam? - 它开始在 iPad 1 和 iPad 2 上工作? 为什么在运行不同硬件的同一个操作系统上,一些笔尖没有以相同的方式取消归档???

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM