Я сделал все шаги в соответствии с документацией Chartboost, чтобы интегрировать iOS SDK в мое приложение. Но на последнем этапе вызова Chartboost у меня возникает ошибка компиляции:
- (void)applicationDidBecomeActive:(UIApplication *)application {// Begin a user session. Must not be dependent on user actions or any prior network requests.
// Must be called every time your app becomes active.
[Chartboost startWithAppId:@"some_id" appSignature:@"some_signature" delegate:self];
// Show an ad at location "CBLocationHomeScreen"[[Chartboost sharedChartboost] showInterstitial:CBLocationHomeScreen];
По зову startWithAppId
Метод я получаю следующую ошибку:
......../proj.ios_mac/ios/AppController.mm:101:126: Cannot initialize a parameter of type 'id<ChartboostDelegate>' with an lvalue of type 'AppController *'
Вместо,
попробуйте использовать этот код
Chartboost *cb = [Chartboost sharedChartboost];
cb.appId = @"some_id";
cb.appSignature = @"some_sig";
[cb startSession];
[cb showInterstitial];
Вот обновленный ответ для всех, кто может натолкнуться на эту тему. Проверено, чтобы работать на 16.02.2015 для Chartboost Версия 5.1.3
В вашем файле appController.mm добавьте следующий импорт:
#import <Chartboost/Chartboost.h>
#import <Chartboost/CBNewsfeed.h>
#import <CommonCrypto/CommonDigest.h>
#import <AdSupport/AdSupport.h>
Затем добавьте следующий интерфейс:
@interface AppController () <ChartboostDelegate>
@end
Наконец, в вашем приложении метод AddBecomeActive добавьте:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[Chartboost startWithAppId:@"appID" appSignature:@"appSIG" delegate:self];
[Chartboost showInterstitial:CBLocationHomeScreen];
//[Chartboost showInterstitial:@"CBLocationHomeScreen"]; //older way
}