iOS 崩溃问题

**1、NSInternalInconsistencyException negative sizes are not supported in the flow layout CoreFoundation ___exceptionPreprocess **

出错原因:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
设置Size为负数

2、-[NSNull countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x1b705...

出错原因: 对NSNull类型进行遍历导致崩溃。

3、unrecognized seletor

出错原因:这种情况很简单,给一个对象发送了一条它不认识的消息。比如说你的.h中声明了某一个方法,但是.m中却没有实现,而且你没有对异常消息处理(消息转发)就会造成这种现象。

解决办法:首先排查自己的某一些方法是否实现,其次看一下哪些对象接收了它不该接收的消息。

4、EXC_BAD_ACCESS异常:

出错原因:这种大多数是对象提前释放,访问了野指针的错误,也可能是由于memcpy的数据超出的给定的长度,导致破坏了后面对象的堆栈,出现到处乱崩的问题。

解决办法:排查所有声明为weak对象的使用,是否在没有持有的情况下再次访问了该对象(该对象已经被释放),第二在MRC情况下,排查一下所以已经release的对象(声明一点,MRC中全局变量最好在dealloc方法中进行释放),第三排查一下所有block,是否block被正常赋值等。

5、UIApplicationInvalidInterfaceOrientation Supported orientations has no common orientation with the application, and [UIAlertController shouldAutorotate] is returning YES

出错原因:横屏时推出UIAlertController

解决办法:重写UIAlertContrller 的shouldAutorotate 方法

- (BOOL)shouldAutorotate  
{  
    return NO;  
}  

6、真机 The application bundle does not contain a valid identifier

解决办法:删除所有Xcode的构建文件 Xcode > Preferences > Locations > Derived Data 输入图片说明

猜你喜欢

转载自my.oschina.net/u/1763048/blog/913654