Как интегрировать Chartboost IOS SDK со Swift

Я пытаюсь интегрировать Chartboost IOS SDK со Swift. Я следовал всем инструкциям на странице интеграции Chartboost с IOS https://answers.chartboost.com/hc/en-us/articles/201220095-iOS-Integration и создал соединительный заголовок для использования инфраструктуры в моем быстром проекте.

BridgingHeader.h

#import <Chartboost/Chartboost.h>
#import <Chartboost/CBNewsfeed.h>
#import <CommonCrypto/CommonDigest.h>
#import <AdSupport/AdSupport.h>

Мой файл BridgingHeader.h находится в корневом каталоге моего проекта http://i.imgur.com/DcTcixo.png и я выполнил необходимые шаги, чтобы добавить BridgingHeader.h в мои настройки сборки http://i.imgur.com/jvtzs7a.png но когда я запускаю проект, я получаю 52 ошибки, например -> http://i.imgur.com/WCvyooz.png. Почему я получаю эти ошибки и как от них избавиться?

4 ответа

Решение

Похоже, что заголовки требуют UIKit и Foundation. Добавьте эту строку вверху заголовка моста.

#import <UIKit/UIKit.h>

Кроме того, вы убедились, что заголовок моста находится в корне проекта в файловой системе? Иерархия Project Navigator Xcode не обязательно совпадает с файловой системой.

Он ищет заголовок в /Users/andrew/Documents/dev/ios/Protect Paigridge/ Откройте искатель и убедитесь, что заголовок находится в этом каталоге. XCode, возможно, создал его на более глубоком уровне, чем остальные ваши файлы кода. Если это так, вы можете отредактировать запись в настройках сборки или переместить файл.

Добавляя к верхнему ответу, указанному выше, попробуйте добавить оба

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <Chartboost/Chartboost.h>

в ваш файл BridgingHeader.h

и убедитесь, что они оба выше

#import <Chartboost/Chartboost.h>

как показано выше

Быстрый код Chartboost, добавьте его в класс AppDelegate:

func applicationDidBecomeActive(application: UIApplication) 
{        
    let kChartboostAppID = "5472ef8f04b01601a1a5814c";
    let kChartboostAppSignature = "5b6222426e68cda48669a1d4d8246d4c3d20db9c";

    Chartboost.startWithAppId(kChartboostAppID, appSignature: kChartboostAppSignature, delegate: self);
    Chartboost.cacheMoreApps(CBLocationHomeScreen)
}

class func showChartboostAds()
{
     Chartboost.showInterstitial(CBLocationHomeScreen);
}

func didFailToLoadInterstitial(location :String!, withError error: CBLoadError)
{

}

func didDismissInterstitial(location :String! )
{
        if(location == CBLocationHomeScreen)
        {
            Chartboost.cacheInterstitial(CBLocationMainMenu)
        }
        else if(location == CBLocationMainMenu)
        {
            Chartboost.cacheInterstitial(CBLocationGameOver)
        }
        else if(location == CBLocationGameOver)
        {
            Chartboost.cacheInterstitial(CBLocationLevelComplete)
        }
        else if(location == CBLocationLevelComplete)
        {
            Chartboost.cacheInterstitial(CBLocationHomeScreen)
        }
 }

Синтаксис вызова:

   AppDelegate.showChartboostAds()

Этот вопрос, как импортировать.

Вы можете сделать код objC и bridge.h, чтобы показать в вашем коде

[Chartboost showInterstitial:CBLocationHomeScreen];

Для быстрой

Chartboost.showInterstitial(CBLocationHomeScreen)

я хочу, чтобы это помогло тебе

Другие вопросы по тегам