内购的一个导致程序崩溃的坑

EXC_BAD_ACCESS(code=1,address=0x10)

最近刚刚把内购集成到我们的APP中,随之而来的就是测试妹妹带来的bug,其中一个bug比较独特(操蛋), 现在给大家分享出来,崩溃的具体步骤如下图:

程序崩溃在下面这一句话:报的是野指针错误

很明显的原因是因为一个控制器的中的某个对象已经释放,但是后来又一次向其调用了某些请求,造成野指针错误,最后查看代码发现是由于在第5步的时候,控制器消失的时候没有释放 [SKPaymentQueue defaultQueue]的observe

解决
1
2
3
4
- (void)dealloc{
[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];
}
这个人很帅<br>他什么都不想说<br>