2

我正在尝试将 Chartboost IOS SDK 与 Swift 集成。我已遵循 Chartboost IOS 集成页面https://answers.chartboost.com/hc/en-us/articles/201220095-iOS-Integration上的所有说明,并创建了一个桥接头以在我的 swift 项目中使用该框架。

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

4 回答 4

4

看起来标头需要 UIKit 和 Foundation。将此行添加到桥接头的顶部。

#import <UIKit/UIKit.h>

另外,您是否确保您的桥接头位于文件系统的项目根目录中?Xcode 的 Project Navigator 的层次结构不一定与文件系统相同。

它在 Open finder 中寻找标题,/Users/andrew/Documents/dev/ios/Protect Paigridge/并确保标题在该目录中。Xcode 可能在其他代码文件所在的位置创建了一个更深的层次。如果是这种情况,您可以在构建设置中编辑条目或移动文件。

于 2014-10-16T02:25:20.627 回答
0

Swift 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()
于 2014-11-24T16:33:34.493 回答
0

添加到上面说的最上面的答案尝试添加两者

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

到您的 BridgingHeader.h 文件

并确保它们都高于

#import <Chartboost/Chartboost.h>

如上图

于 2015-02-13T05:46:53.857 回答
0

这个问题是如何导入。

您可以制作 objC 代码和 bridge.h,以在您的代码中显示

[Chartboost showInterstitial:CBLocationHomeScreen];

为了迅速

Chartboost.showInterstitial(CBLocationHomeScreen)

我希望对你有帮助

于 2014-12-08T09:51:11.803 回答