【问题标题】:How to Import Rollout.io in SWIFT Xcode如何在 SWIFT Xcode 中导入 Rollout.io
【发布时间】:2015-10-18 01:30:37
【问题描述】:

我正在尝试安装 rollout.io,它只是说将代码放入您的 ApppDelegate 中,问题是它在 Objective-C 中。因此,我使用转换器尝试将其更改为 Swift,但是当我尝试将 Objective-C 导入标头放入我的代码时它不起作用。即使我尝试转换它,在线转换器甚至不显示“导入”部分

这些我都试过了

代码:

import  Rollout
import rollout
import UIRollout

所有这些都失败了。

我可以得到快速弹出的底部,但不能得到顶部的“import ,Rollout/Rollout.h>”部分

【问题讨论】:

    标签: ios objective-c xcode swift rollout


    【解决方案1】:

    注意:

    以下内容将允许您设置 Rollout SDK,以防您的 AppDelegate 使用 Swift。

    更新:

    Rollout SDK 1.1.0 具有调用设置的 Swift 接口,因此以下所有信息现在都无关紧要。

    原答案:

    1。 Swift-ObjC 桥接头

    要从 Swift 调用 [Rollout setupWithDebug:],您应该设置 Objective-C 桥接头,并且应该从中导入 <Rollout/Rollout.h>

    1. 在构建设置中,检查是否已设置 SWIFT_OBJC_BRIDGING_HEADER。如果是,请转到第 4 步
    2. 创建一个 C 头文件(文件 -> 新建 -> 文件... -> iOS -> 源代码 -> 头文件)。以某种方式调用它,例如ObjC-Bridging-Header
    3. 转到构建设置并将SWIFT_OBJC_BRIDGING_HEADER 设置为指向您创建的文件(ObjC-Bridging-Header.h)。如果文件不在项目的根目录中,则设置中需要相对路径 - 更多详细信息in this SO answer
    4. 转到标题并在此处添加导入行:

      #import <Rollout/Rollout.h>

    2。 #if debug

    为了允许推出测试模式(用于简单的热补丁测试),还需要从 ObjC 转换 #ifdef Debug。这可以通过在构建设置中设置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
    

    【讨论】:

    • 您现在可以更新您对支持 swift 的 Rollout SDK 的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多