2014-12-21 80 views
2

我一直在試圖將Objective C Chartboost SDK集成到Swift項目中,方法是按照他們的網站上的教程並通過使用橋接標頭等將其適配爲swift,盡我所知。不幸的是,當我運行初始AppDelegate的代碼中,我得到了一些錯誤,如下面的截圖Chartboost SDK Swift集成

圖片鏈接看到:

https://imgur.com/wO5eyem

然後我試圖在目標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) 

但是這給了我下面的錯誤(類似第一個錯誤):

無法轉換expressi on'type'(appId:NSString,appSignature:NSString,delegate:AppDelegate)'to type'(String !, appSignature:String !, delegate:ChartboostDelegate!) - > Void'

我將非常感謝任何幫助因爲我一直在試圖解決這個很長一段時間:)

回答

3

這個工作對我來說...

  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")