iOS7 Xcode 5 升级让 longpress 崩溃应用

Posted

技术标签:

【中文标题】iOS7 Xcode 5 升级让 longpress 崩溃应用【英文标题】:iOS7 Xcode 5 Upgrade makes longpress crash app 【发布时间】:2013-09-19 01:24:10 【问题描述】:

我有一个我一直在开发的应用程序,它在几个小时前运行良好。我下载了 Xcode-5 的 DP5,使用内置的升级情节提要功能升级了情节提要。

当我启动应用程序时,它可以工作。这是一个基本的地图应用程序。我有一个注册长按的操作,然后在地图上放置一个 pin 注释,现在应用程序崩溃而没有任何错误,除了在编译器代码中显示失败的行:0x102d49c: calll 0x102d4a1 ; -[NSPathStore2 isEqualToString:] + 17 和 @987654323 的神秘消息@。

我什至不知道从哪里开始进行故障排除。我现在正在下载 Xcode 5 的发布版本,看看是否可以修复它。

--更新--

我也尝试了一个干净的构建,重新启动模拟器和 Xcode。

我使用了断点,似乎应用程序在将注释添加到地图时遇到了问题[self.mapView addAnnotation:annot];

【问题讨论】:

听起来是时候开始寻找zombies了。 @BergQuester 啊。会做。知道为什么升级会发生这种情况吗?谢谢! ios 6 跳转到 iOS 7,系统框架可能发生了变化。我记得当 10.8 发布时,我们发现我们的 OS X 应用程序存在内存问题。 (一个静态的自动释放对象)查看它应该永远不会工作的代码。我们很幸运(可能是因为框架中的某些东西保留了对象),直到操作系统中的某些变化随着更新而改变。 【参考方案1】:

哇!解决了这个问题。希望这对某人有所帮助。

我使用的是Apple's stock code for annotating maps。

当我为 iOS6 构建应用程序时,默认情况下,添加 pin 注释不会立即显示披露。

所以我添加了这行代码来选择注释并默认显示我的注释。删除此行修复了它,在 iOS7 中,默认情况下会显示该披露! [mapView selectAnnotation:pinView.annotation animated:YES];

【讨论】:

以上是关于iOS7 Xcode 5 升级让 longpress 崩溃应用的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 Xcode 5 自动将 xibs 升级到 iOS7 外观

[iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)

如何让Xcode8 支持ios7及以下的版本

升级到 iOS 7 和 Xcode 5 - UIAccelerator、UIStringDrawing 和 NSObject 出现问题

如何让 Xcode 5 和 iOS7 中的图标不变得有光泽?

在没有 XCODE 5 的运行 iOS7 的设备上测试 iOS 6 应用程序