SDK 下载和配置

SDK 下载

基本功能 SDK,包含登录支付等基础服务

稳定版(V6.4.1)

iOS SDK 下载:iOS_SDK_V6.4.1

更新说明:

  1. 新增手机号一体化登录方式;
  2. 修复公告适配问题;
  3. 新增用户评论功能接口;
  4. 更新头条 SDK;

灰度版(V6.4.3)

【如需使用灰度版请和技术对接人员确认】
* iOS SDK 下载:iOS_SDK_V6.4.3

更新说明:

  1. 打开客服页面新增角色信息;
  2. 去除极光消息推送功能;

环境要求

SDK 相关内容说明
支持平台iPod Touch、iPhone 和 iPad
运行 iOS 系统要求 iOS 12.0 以上
接入使用 Xcode要求版本为 15.1 及以上

SDK 包内容

  • SDK 目录说明
└── EWSDK
  ├── .h
  │    ├── EWSDK.h : SDK头文件
  │    ├── EWSDKManager.h : SDK对接使用的类头文件
  │    ├── EWSDKManager.swift : SDK桥接文件
  ├── .a
    ├── EWSDK.a : SDK静态库
  ├── .bundle
    ├── EWSDK.bundle : SDK资源包
    ├── DXCaptcha.bundle : 风控SDK资源包
    ├── JVerificationResource.bundle : 一键登录资源包
  ├── .framework
    ├── LEventSDK.framework : 日志上报SDK
    ├── dx-captcha-static.framework : 风控验证码SDK
    ├── DXRiskStaticWithIDFA.framework : 风控SDK
  ├── .xcframework
    ├── EAccountApiSDK.xcframework : 一键登录依赖库
    ├── jcore-ios-4.6.2.xcframework : 一键登录依赖库
    ├── jverification-ios-3.2.1.xcframework : 一键登录SDK
    ├── OAuth.xcframework : 一键登录依赖库
    ├── TYRZUISDK.xcframework : 一键登录依赖库

SDK 导入

  1. 将 SDK 文件引入工程中 如下图,将 SDK 文件选中后,拖到 Xcode 工程中:

    iOS_china_img1

    文件拖到工程中后,Xcode 会弹出下图提示,按照下图勾选并点击“Finish”:

    iOS_china_img2

    文件引进后,在 Xcode 工程的目录中能看到对应的文件:

    iOS_china_img3

    其中 .bundle文件需放置在工程根目录。由于文件中包含了 .swift文件,引入时工程会提示是否生成混编桥接文件(如下图),请选择 Create Bridging Header

    iOS_china_img4
  2. info.plist中新增以下配置

    • 添加 App Transport Security Settings配置,类型为 Dictionary,再在该配置下添加子配置 Allow Arbitrary Loads,类型为 Boolean,值为 YES。如图:
    iOS_china_img5
    • 添加以下 3 项配置,并指定相应的提示语:

      • Privacy - Photo Library Additions Usage Description
      • Privacy - Photo Library Usage Description
      • Privacy - Camera Usage Description
      • Privacy - Tracking Usage Description
        iOS_china_img6
  3. 在工程的 TARGETS-Build Setting中搜索 Other Linker Flags,新增以下配置

    • -ObjC

    • -licucore

    • 如下图

      iOS_china_img7
    • 需要注意的是:如果配置后,显示的值是 <Mutiple values>,则表示可能配置只对真机或模拟器某一方生效,需要调整配置,使效果如上图。

    • 如果配置错误,会导致运行时闪退,错误提示如下:unrecognize selector sent to instance: xxx

  4. 在工程的 TARGETS-Build Setting中配置各个对应路径

    • 搜索 Header Search Paths,并配置 SDKManager.h文件所在的路径,如图:

      iOS_china_img8
    • 搜索 Library Search Paths,并配置 libEWSDK.a文件所在的路径,如图:

      iOS_china_img9
  5. 在工程的 TARGETS - Build SettingsEnable BitcodeNO

    iOS_china_img10
  6. 在工程的 Build Setting中设置 Swift Language Version 为 Swift4

    iOS_china_img11
  7. 在工程的 Build Phases Link Binary With Libraries 新增libresolv.tbd

    iOS_china_img12
  8. 在游戏工程的 info.plist配置以下内容:

  1. 在 Xcode 中,选择你的工程设置项,选"TARGETS"一栏,在"Info"标签栏的"URL Types"添加"URL Schemes",输入应用对应的包名作为 scheme 头;

    iOS_china_img13
  2. 在工程的 General 中 Frameworks, Libraries, and Embedded Content 内的 DXRiskWithIDFA.framework 设置为 Embed & Sign :

    iOS_china_img14
  3. 在工程的 Build Phases 中 Run Script 内添加对应的脚本代码:

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK; do
    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
    EXTRACTED_ARCHS=()
    for ARCH in $ARCHS; do
        echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
        lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
        EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done
    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"
    echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done

如图所示:

iOS_china_img15