旧工程在Xcod5下出现的问题
最近把iOS6的项目拿到Xcode5下去编译并运行,出现了一些问题:
1、AssertMacros: queueEntry, file: /SourceCache/IOKitUser/IOKitUser-920.1.11/hid.subproj/IOHIDEventQueue.c,
修改main.m,添加如下代码
1 2 3 4 5 6 7 8 9 | typedef int (*PYStdWriter)(void *, const char *, int); static PYStdWriter _oldStdWrite; int __pyStderrWrite(void *inFD, const char *buffer, int size) { if ( strncmp(buffer, "AssertMacros:", 13) == 0 ) { return 0; } return _oldStdWrite(inFD, buffer, size); } |
然后在main()中的 @autoreleasepool 前添加
1 | _oldStdWrite = stderr->_write; stderr->_write = __pyStderrWrite;
|
2、-[UIView setImage:]: unrecognized selector sent to instance 0x1d410f0
通过Debug定位到如下的代码:
1 2 3 4 5 6 | for (int i = 0; i < [self.subviews count]; i++) { UIImageView* dot = [self.subviews objectAtIndex:i]; if (i == self.currentPage) dot.image = activeImage; else dot.image = inactiveImage; } |
self是一个UIPageControl,也就是它的subviews不都是UIImageView,所以要做一下检查,修改如下:
1 2 3 4 | if ([dot isKindOfClass:[UIImageView class]]) { if (i == self.currentPage) dot.image = activeImage; else dot.image = inactiveImage; } |