Chartboost总是在iOS5中崩溃

时间:2013-07-21 10:16:35

标签: iphone objective-c chartboost

这是代码:

Chartboost *cb = [Chartboost sharedChartboost];
cb.delegate = self;
cb.appId = CHARTBOOST_APPID;
cb.appSignature = CHARTBOOST_APPSIGNATURE;

[cb startSession];
[cb cacheInterstitial];

这在iOS6设备中运行良好,但在iOS5中崩溃。

崩溃日志:

  

NSInvalidArgumentException原因: - [__ NSCFDictionary   setObject:forKeyedSubscript:]:发送到实例的无法识别的选择器   0x1234sva8

我该如何解决这个问题?我已经选择了AdSupport.framework。

2 个答案:

答案 0 :(得分:1)

崩溃固定!

我在这篇文章中关注了解决方案:http://forums.xamarin.com/discussion/3893/chartboost-ios-binding-works-on-ios-6-but-crashes-on-ios-5

我刚刚将lib arclite.a添加到我的项目中并修复了崩溃。

答案 1 :(得分:1)

我不知道Chartboost,但错误消息表明代码使用了 现代“NSDictionary和NSArray下标”功能,例如

dict[@"key"] // instead of [dict objectForKey:@"key"]

根据"Objective-C Feature Availability Index", NSDictionary和NSArray下标需要iOS 6.0或更高版本的SDK和LLVM编译器4.0。它部署到iOS 5及更高版本。

因此,如果您不需要iOS 4.3兼容性,请将部署目标设置为iOS 5 并针对iOS 6 SDK进行编译应该可以解决问题。确保“Apple LLVM编译器”而不是“LLVM GCC”或类似 在构建设置中设置为编译器。