OptimizelySwiftSDK 4.0.0

OptimizelySwiftSDK 4.0.0

Optimizely FullStack 维护。



  • Optimizely

Optimizely Swift SDK

Apache 2.0 Carthage compatible Build Status Coverage Status Platforms Podspec

此仓库包含了用于与 Optimizely Feature Experimentation 和 Optimizely Full Stack (旧版) 集成使用的 Swift SDK,适用于移动和 OTT。

Optimizely Feature Experimentation 是为产品开发团队提供 A/B 测试和功能管理工具,您可以在每一步实验。使用 Optimizely Feature Experimentation 可以让您的路线图上的每个功能都成为发现隐藏见解的机会。了解更多信息请访问 Optimizely.com,或查看 开发者文档

Optimizely Rollouts 是面向开发团队的 免费功能标志。您可以在任何应用程序中轻松推出和撤销功能,而无需代码部署,减轻您路线图上每个功能的风险。

开始使用

使用 Swift SDK

请参阅 Swift SDK 的开发者文档获取有关开始使用 SDK 的详细说明。

需求

  • iOS 10.0+ / tvOS 10.0+ / watchOS 3.0+
  • Swift 5+

安装 SDK

请注意以下说明,其中 <platform> 用于表示您正在构建应用程序的平台。目前,我们支持 iOStvOS 以及 watchOS 平台。

Swift 包管理器

在 Xcode 中使用 Swift 包管理器添加 Optimizely Swift SDK 依赖项

  1. 文件 -> Swift 包 -> 添加包依赖
  2. 输入 https://github.com/optimizely/swift-sdk
  3. 接受默认规则(版本: '升级至下一个主要版本')。

如果您在 Xcode 中添加 Optimizely swift-sdk 依赖项时与其他 swift 包存在名称冲突,也可以尝试使用其别名的仓库:"https://github.com/optimizely/optimizely-swift-sdk.git"

CocoaPods

  1. 将以下行添加到 Podfile
    use_frameworks!
    pod 'OptimizelySwiftSDK', '~> 3.10.2'
  1. 运行以下命令
    pod install

有关 Cocoapods 的进一步安装说明: https://guides.cocoapods.org.cn/using/getting-started.html

Carthage

  1. 将以下行添加到Cartfile

    github "optimizely/swift-sdk" ~> 3.10.2

  2. 运行以下命令

    carthage update

  3. 将框架链接到您的项目。前往您的项目目标中的 Link Binary With Libraries 并从 Carthage/Build/<platform> 文件夹中拖拽以下内容

    Optimizely.framework

  4. 为了确保在存档应用程序时正确复制与位码相关的文件和 dSYMs,您需要安装一个 Carthage 构建脚本

    • 在目标中添加一个新的 Run Script 阶段
    • 在脚本区域包含以下内容
      /usr/local/bin/carthage copy-frameworks
    • 将框架添加到 输入文件 列表
      $(SRCROOT)/Carthage/Build/<platform>/Optimizely.framework
    • 将复制的框架的路径添加到输出文件列表
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Optimizely.framework

关于 Carthage 的进一步安装说明: https://github.com/Carthage/Carthage

功能管理访问

要访问 Optimizely 控制台中的功能管理配置,请联系您的 Optimizely 客户成功经理。

使用 Swift SDK

示例

SDK 初始化和实验的示例代码

let optimizely = OptimizelyClient(sdkKey:"somesdkkey")

optimizely.start{ result in
    do {
        let variation = try optimizely.activate(experimentKey: "background_experiment", userId: "userId", attributes: ["doubleKey":5])
        try optimizely.track(eventKey: "sample_conversion", userId: "userId")
    } catch {
        print(error)
    }
}

请参阅 Optimizely 功能实验的 开发者文档,了解如何设置您的第一个 Swift 项目并使用 SDK。

贡献

请参阅贡献指南

致谢

一方代码(OptimizelySwiftSDK下版权属于Optimizely, Inc.及其贡献者,许可协议为Apache 2.0。)

附加代码

本软件集成了以下开源项目的代码:

MurmurHash3:https://github.com/jpedrosa/sua/blob/master/Sources/murmurhash3.swift 许可协议(Apache 2.0):https://github.com/jpedrosa/sua/blob/master/LICENSE.txt 转换为Swift4。

SwiftLint:https://github.com/realm/SwiftLint 许可协议(MIT):https://github.com/realm/SwiftLint/blob/master/LICENSE 用于强制执行Swift风格和约定。

其他Optimizely SDKs