2013-07-21 2 views
0

Вот код:Chartboost всегда падает в iOS5

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

[cb startSession]; 
[cb cacheInterstitial]; 

Это прекрасно работает в iOS6 устройстве, но падает в iOS5.

Краш Log:

NSInvalidArgumentException Причина: - [__ NSCFDictionary SetObject: forKeyedSubscript]: непризнанные селектор направлен например 0x1234sva8

Как я могу решить эту проблему? Я уже сделал AdSupport.framework дополнительным.

+1

Какая версия Xcode, какой SDK и какая цель развертывания вы используете? –

+0

Xcode 4.6.1, развертывание iOS 4.3, Chartboost SDK 3.2.1 и пробовали 3,2 также. Оба сбоя – Guru

+1

Вам нужна совместимость с iOS 4.3? Компиляция с целью развертывания iOS 5 (и iOS 6 SDK, используя clang) также должна решить проблему. –

ответ

1

Я не знаю Chartboost, но сообщение об ошибке указывает, что код использует современной функции «NSDictionary и NSArray subscriptip», например.

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

Согласно "Objective-C Feature Availability Index", NSDictionary и NSArray индексирование требует IOS 6.0 или более поздней версии SDK и LLVM Compiler 4.0. Он развертывается в iOS 5 и более поздних версиях.

Так что если вам не нужна совместимость с iOS 4.3, установка цели развертывания на iOS 5 и компиляция с iOS 6 SDK должна решить проблему. Убедитесь, что «Компилятор Apple LLVM», а не «LLVM GCC» или аналогичный установлен в качестве компилятора в настройках сборки.

+0

спасибо за этот ответ. – Guru

+0

@Guru: Добро пожаловать! –