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里使用单元測试(上)
升级到 iOS 7 和 Xcode 5 - UIAccelerator、UIStringDrawing 和 NSObject 出现问题