笔记:
以下将允许您设置 Rollout SDK,以防您的 AppDelegate 使用 Swift。
更新:
Rollout SDK 1.1.0 具有调用设置的 Swift 接口,因此以下所有信息现在都无关紧要。
原答案:
1. Swift-ObjC 桥接头
要从 Swift 调用[Rollout setupWithDebug:]
,您应该设置 Objective-C Bridging Header 并且<Rollout/Rollout.h>
应该从中导入:
- 在构建设置中,检查是否已设置 SWIFT_OBJC_BRIDGING_HEADER。如果是,请转到步骤 4
- 创建一个 C 头文件(File -> New -> File... -> iOS -> Source -> Header File)。以某种方式调用它,例如
ObjC-Bridging-Header
- 转到构建设置并设置
SWIFT_OBJC_BRIDGING_HEADER
为指向您创建的文件 ( ObjC-Bridging-Header.h
)。如果文件不在项目的根目录中,则设置中需要相对路径 -此 SO 答案中的更多详细信息
转到标题并在那里添加导入行:
#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