3

私はrollout.ioをインストールしようとしています。単純に、このようにApppDelegateにコードを入れると書かれていますが、問題はそれがObjective-Cにあるということです。そのため、コンバーターを使用して Swift に変更しようとしましたが、Objective-C インポート ヘッダーをコードに挿入しようとすると機能しません。変換しようとしても、オンラインコンバーターは「インポート」部分さえ表示しません

私はこれらすべての準備ができて試しました

コード:

import  Rollout
import rollout
import UIRollout

これらはすべて失敗します。

迅速なイジェクトで下部を取得できますが、上部の「インポート、Rollout/Rollout.h>」部分は取得できません

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

6

ノート:

AppDelegate が Swift にある場合、Rollout SDK をセットアップするには、次のようにします。

アップデート:

ロールアウト SDK 1.1.0 には、セットアップを呼び出すための Swift インターフェイスがあるため、次の情報はすべて現在関係ありません。

元の答え:

1. Swift-ObjC ブリッジング ヘッダー

[Rollout setupWithDebug:]Swift から呼び出すには、Objective-C ブリッジング ヘッダーを設定し、<Rollout/Rollout.h>そこからインポートする必要があります。

  1. ビルド設定で、SWIFT_OBJC_BRIDGING_HEADER が既に設定されているかどうかを確認します。はいの場合は、手順 4 に進みます
  2. C ヘッダーを作成します ( File -> New -> File... -> iOS -> Source -> Header File )。どういうわけかそれを呼び出します、例えばObjC-Bridging-Header
  3. ビルド設定に移動し、作成SWIFT_OBJC_BRIDGING_HEADERしたファイル ( ) を指すように設定しますObjC-Bridging-Header.h。ファイルがプロジェクトのルートにない場合は、設定に相対パスが必要です - 詳細については、この SO 回答を参照してください。
  4. ヘッダーに移動し、そこに import 行を追加します。

    #import <Rollout/Rollout.h>

2.#if debug

#ifdef Debugロールアウト テスト モード (簡単なホット パッチ テスト用) を許可するには、 ObjCからの変換も必要です。これはOTHER_SWIFT_FLAGS、ビルド設定で次のように設定することで実行できます。

ここに画像の説明を入力

3. AppDelegate.swift からセットアップを呼び出す

これで、次の行を に追加できますapplication(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?)

    #if DEBUG
        Rollout.setupWithKey("<rollout_key>", developmentDevice: true)
    #else
        Rollout.setupWithKey("<rollout_key>", developmentDevice: false)
    #endif
于 2015-10-19T08:17:20.397 に答える