如何在SWIFT Xcode中导入Rollout.io

3

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

我已经尝试过以下方法:

代码:

import  Rollout
import rollout
import UIRollout

所有这些都失败了。

我可以在Swift中找到底部部分,但是找不到顶部的"import ,Rollout/Rollout.h>"部分。

输入图像描述

输入图像描述

1个回答

6

注意:

以下内容将帮助您在Swift中设置Rollout SDK。

更新:

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)。如果该文件不在项目根目录下,则该设置中需要使用相对路径-更多详细信息请参见此SO答案
  4. 进入标头文件并添加导入行:

    #import <Rollout/Rollout.h>

2. #if debug

为了允许Rollout测试模式(用于轻松进行热修补测试),还需要从ObjC中转换#ifdef Debug。可以通过在构建设置中设置OTHER_SWIFT_FLAGS来完成此操作,如下所示:

enter image description here

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

您现在可以更新Rollout SDK以支持Swift的答案。 - ekeren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接