i upgraded to Xcode 4.5 and have started using the iOS SDK 6.0: ![enter image description here](https://i.stack.imgur.com/kLyeN.png)
我有一个使用 Xcode 4.4 和 iOS SDK 5.1 开发的通用应用程序
它已经在所有经过测试的设备和模拟器上运行,没有出现任何故障。
为了让它继续在 iPhone 5 上运行,我想提供正确的启动图像并让它运行。
应用程序的许多部分无需更改即可工作,但其中一部分不能:我放置在 UIScrollView 中的图像无法平移。这以前一直有效,但在 iOS 6 模拟器上不起作用。
不过,问题的真正症结在于:当我在 iOS 5.0 或 iOS 5.1 模拟器上运行时,在我的调试日志中,我看到抛出如下异常:
-[NSKeyValueMethodSetter setMaximumNumberOfTouches:]: unrecognized selector sent to instance 0x6ddab20
堆栈抓取显示尝试进行此调用的代码是UIScrollView setMinimumZoomScale
.
我调用 setMimimumZoomScale 的代码如下:
CGFloat widthScale = self.scrollView.bounds.size.width / self.image.size.width;
CGFloat heightScale = self.scrollView.bounds.size.height / self.image.size.height;
// just reset the zoom scales; leave center and everything else where possible
self.scrollView.minimumZoomScale = MIN(1.0, MIN(widthScale, heightScale));
self.scrollView.maximumZoomScale = 4.0;
抛出的异常(以及随后的崩溃)发生在第一次调用 setMimimumZoomScale 并显示上述消息时。
我猜测 Xcode 4.5 正在使用 setMinimumZoomScale 的代码来调用发送该消息,该消息可能存在于 iOS 6 的库中,但在 iOS 5 中从未出现过。
其他人也看到类似的问题吗?
fwiw,我还没有触及我的 .storyboard 文件,因此它们仍然可以在没有 autoLayout 的情况下工作。
我是否必须返回并在 Xcode 4.5 旁边安装 Xcode 4.4 才能继续允许维护我的工作应用程序?