JCSDKTVOS 3.0.3

JCSDKTVOS 3.0.3

borgified维护。



 
依赖项
OptimizelySDKEventDispatcher= 3.0.2
OptimizelySDKUserProfileService= 3.0.2
OptimizelySDKDatafileManager= 3.0.2
 

JCSDKTVOS 3.0.3

  • Optimizely

Objective-C SDK

Build Status Apache 2.0 Carthage compatible Coveralls Platforms Podspec Platforms Podspec

此存储库包含 Optimizely 移动和 OTT 实验套件。

入门

使用 SDK

请参阅移动开发者文档OTT 开发者文档了解如何设置 Optimizely X 项目并开始使用 SDK。

要求

  • iOS 8.0+ / tvOS 9.0+

安装 SDK

请注意以下几点,<platform> 用来表示您构建应用程序的平台。目前,我们支持 iOStvOS 平台。

**请注意:如果您或另一个框架正在使用sqlite,则可能需要为线程安全版本的sqlite添加编译器选项:`SQLITE_THREADSAFE=1` https://www.sqlite.org/threadsafe.html

Cocoapod

  1. 请将以下行添加到 `Podfile` 中
    use_frameworks!
    pod 'OptimizelySDK<platform>', '~> 3.0.0'
  1. 运行以下命令
    pod install

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

Carthage

  1. 请将以下行添加到 `Cartfile` 中
    github "optimizely/objective-c-sdk" ~> 3.0.0
  1. 运行以下命令

    carthage update

  2. 将框架链接到您的项目中。转到项目目标的 Link Binary With Libraries,并将以下内容从 `Carthage/Build/<platform>` 文件夹拖动过来

    OptimizelySDKCore.framework
    OptimizelySDKDatafileManager.framework
    OptimizelySDKEventDispatcher.framework
    OptimizelySDKShared.framework
    OptimizelySDKUserProfileService.framework
    OptimizelySDK<platform>.framework

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

    • 在目标中添加一个新的 Run Script 阶段到 `Build Phase`。
    • 在脚本区域包括
      /usr/local/bin/carthage copy-frameworks
    • 将框架的路径添加到 Input Files 列表
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDKCore.framework
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDKDatafileManager.framework
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDKEventDispatcher.framework
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDKShared.framework
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDKUserProfileService.framework
      $(SRCROOT)/Carthage/Build/<platform>/OptimizelySDK<platform>.framework
    • 将复制的框架路径添加到 Output Files 列表
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDKCore.framework
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDKDatafileManager.framework
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDKEventDispatcher.framework
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDKShared.framework
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDKUserProfileService.framework
      $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/OptimizelySDK<platform>.framework

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

手动安装

通用框架可以用于应用程序而无需第三方依赖项管理器。通用框架包含了所有Optimizely X Mobile模块,包括

OptimizelySDKCore
OptimizelySDKShared
OptimizelySDKDatafileManager
OptimizelySDKEventDispatcher
OptimizelySDKUserProfileService

iOS通用框架包含以下架构的构建

i386
x86_64
ARMv7
ARMv7s
ARM64

tvOS通用框架包含以下架构的构建

x86_64
ARM64

iOS和tvOS通用框架都启用了位码支持

为了安装通用框架,请按照以下步骤操作

  1. 下载 iOStvOS 框架。

  2. 解压框架,然后将框架拖动到您的Xcode项目中进行操作;Xcode应该提示您选择一个目标。转到 `Build Phases` 并确保框架在 `Link Binary with Libraries` 部分。

  3. 转到 `General` 选项卡,并将框架添加到 `Embedded Binaries` 部分。如果 `Embedded Binaries` 部分不可见,请添加框架到 `Copy Files` 部分(您可以在 `Build Settings` 中添加此部分)。

  4. 如果您的应用程序已安装通用框架,其中包含模拟器二进制文件,苹果商店将拒绝您的应用程序。因此,在您上传应用程序之前,需要运行一个用于删除额外二进制的脚本。为此,请转到 构建阶段,通过点击 + 符号添加一个 运行脚本 部分。复制并粘贴以下脚本(务必使用正确的框架名称替换 FRAMEWORK_NAME!)

    FRAMEWORK="FRAMEWORK_NAME"
    FRAMEWORK_EXECUTABLE_PATH="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$FRAMEWORK.framework/$FRAMEWORK"
    EXTRACTED_ARCHS=()
    for ARCH in $ARCHS
    do
       lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
       EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
    

如果您选择自己构建通用框架,可以通过运行 OptimizelySDKiOS-UniversalOptimizelySDKTVOS-Universal 规则来实现。构建这些规则后,框架将输出到 OptimizelySDKUniversal/generated-frameworks 文件夹中。

贡献力量

请参阅 CONTRIBUTING

致谢

CocoaPods 由 OptimizelySDKCoreOptimizelySDKDatafileManagerOptimizelySDKEventDispatcherOptimizelySDKiOSOptimizelySDKSharedOptimizelySDKTVOSOptimizelySDKUniversalOptimizelySDKUserProfileService 等第三方代码组成,版权属于 Optimizely,Inc. 和其贡献者,并按照 Apache 2.0 许可协议授权。

附加代码

FMDB https://github.com/ccgus/fmdb
许可证 (MIT):https://github.com/ccgus/fmdb/blob/master/LICENSE.txt 已修改:是 分发:是 分发方式:二进制

SQLITE3 https://www.sqlite.org/index.html
许可证 (公共领域):https://www.sqlite.org/copyright.html 已修改:是 分发:是 分发方式:二进制

JSONModel https://github.com/jsonmodel/jsonmodel
许可证 (MIT):https://github.com/jsonmodel/jsonmodel/blob/master/LICENSEl 已修改:是 分发:是 分发方式:二进制

murmur3 https://github.com/PeterScott/murmur3l
许可证 (公共领域):https://github.com/PeterScott/murmur3l 已修改:否 分发:是 分发方式:二进制