2

我一直在尝试按照他们网站上的教程将Objective C Chartboost SDK集成到一个Swift项目中,并通过使用桥接头等将其调整为我所知道的最好的。不幸的是,当我运行初始AppDelegate代码时,我得到了一些如下截图所示的错误

图片链接:

https://imgur.com/wO5eyem

然后我尝试像在Objective C中那样将@符号放在字符串之前,这也带来了大量的错误,经过大量的研究,我仍然没有真正找到解决这个问题的方法,但这些是我给出的错误尝试按以下方式添加 @ 符号。

Chartboost.startWithAppId(appId:@"appID", appSignature:@"appSig", delegate: self)

图片链接:

https://imgur.com/HQqMYEj

我还尝试了以下方法,并遇到了另一个类似的错误:

    let kChartboostAppID: NSString = "123"
    let kChartboostAppSignature: NSString = "123"
    Chartboost.startWithAppId(appId:kChartboostAppID, appSignature:kChartboostAppSignature, delegate: self)

但这给了我以下错误(类似于第一个错误):

无法将表达式的类型“(appId:NSString,appSignature:NSString,delegate:AppDelegate)”转换为类型“(String!,appSignature:String!,delegate:ChartboostDelegate!)-> Void”

我将非常感谢任何帮助,因为我已经尝试解决这个问题很长时间了:)

4

1 回答 1

4

这对我有用...

  1. 将框架放入支持文件

  2. 添加到桥接头

    #import <UIKit/UIKit.h>
    #import <Chartboost/Chartboost.h>
    
  3. 将 chartboost 委托添加到 appdelegate.swift

    class AppDelegate: UIResponder, UIApplicationDelegate, ChartboostDelegate {
    
  4. 在 appldelegate didfinishlaunching

    let kChartboostAppID = "appid"
    let kChartboostAppSignature = "appsignature"
    Chartboost.startWithAppId(kChartboostAppID, appSignature: kChartboostAppSignature, delegate: self)
    Chartboost.setShouldRequestInterstitialsInFirstSession(false)
    
  5. 展示广告

    Chartboost.showInterstitial(CBLocationHomeScreen)
    Chartboost.showInterstitial("AnyCusotmTitleID")
    
于 2015-07-05T17:30:11.223 回答