tencent cloud

文档反馈

最后更新时间:2024-12-09 14:20:30
    本文主要介绍如何快速将 Chat SDK 集成到您的 iOS 项目中。

    开发环境要求

    Xcode 9.0+。
    iOS 8.0 以上的 iPhone 或者 iPad 真机。
    项目已配置有效的开发者签名。

    集成 SDK

    您可以选择使用 CocoaPods 自动加载的方式,或者先 下载 SDK,再将其导入到您当前的工程项目中。

    CocoaPods 自动加载

    1. 安装 CocoaPods

    在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):
    sudo gem install cocoapods

    2. 创建 Podfile 文件

    进入项目所在路径输入以下命令行,之后项目路径下会出现一个 Podfile 文件。
    pod init

    3. 编辑 Podfile 文件

    请您按照如下方式设置 Podfile 文件:
    platform :ios, '8.0'
    source 'https://github.com/CocoaPods/Specs.git'
    
    target 'App' do
    # 添加 Chat SDK
    pod 'TXIMSDK_Plus_iOS'
    # pod 'TXIMSDK_Plus_iOS_XCFramework'
    # pod 'TXIMSDK_Plus_Swift_iOS_XCFramework'
    
    
    # 如果您需要添加 Quic 插件,请取消下一行的注释
    # 注意:
    # - 这个插件必须搭配 TXIMSDK_Plus_iOS 或 TXIMSDK_Plus_iOS_XCFramework 版本的 Chat SDK 使用,并且插件版本号必须和 Chat SDK 版本号相同
    # - 对于 TXIMSDK_Plus_Swift_iOS_XCFramework 版本,不需要添加这个插件,如果您需要在这个版本中使用 Quic 功能,请您联系我们
    # pod 'TXIMSDK_Plus_QuicPlugin'
    end

    4. 更新并安装 SDK

    在终端窗口中输入如下命令以更新本地库文件,并安装 Chat SDK:
    pod install
    或使用以下命令更新本地库版本:
    pod update
    pod 命令执行完后,会生成集成了 SDK 的 .xcworkspace 后缀的工程文件,双击打开即可。 若 pod 搜索失败,建议尝试更新 pod 的本地 repo 缓存。更新命令如下:
    pod setup
    pod repo update
    rm ~/Library/Caches/CocoaPods/search_index.json
    说明:
    Quic 插件,提供 axp-quic 多路传输协议,弱网抗性更优,网络丢包率达到 70% 的条件下,仍然可以提供服务。仅对进阶版用户开放,请 购买进阶版 后可使用。为确保功能正常使用,请将终端 SDK 更新至 7.7.5282 及其以上的版本。
    如果您需要在 Swift 版本的 Chat SDK 中使用 Quic 功能,请您通过 Telegram 技术交流群 联系我们。

    手动集成

    1. 下载 SDK

    Github 下载最新版本 SDK。ImSDK_Plus.framework 是增强版 Chat SDK 的核心动态库文件。

    2. 创建工程

    创建一个新工程
    
    填入工程名(例如 IMDemo):
    

    3. 集成 SDK

    添加依赖库:选中 IMDemo 的 Target,在 General 面板中的 Embedded Binaries 和 Linked Frameworks and Libraries 添加依赖库 ImSDK_Plus.framework。
    
    
    设置链接参数:在 Build Setting>Other Linker Flags 添加 -ObjC
    说明
    手动集成需要在 TARGET > General > Frameworks > Libraries and Embedded Content,将 ImSDK_Plus.framework 修改为 Embed&Sign。
    如果您需要添加 Quic 插件,请参考前面的步骤,手动下载集成 Quic 插件。

    引用 Chat SDK

    项目代码中使用 SDK 有两种方式:
    方式 1,在 Xcode > Build Setting > Header Search Paths 设置 SDK 头文件的路径,然后在项目需要使用 SDK API 的文件里,引入具体的头文件。
    #import "ImSDK_Plus.h"
    方式 2,在项目需要使用 SDK API 的文件里,引入具体的头文件。
    #import <ImSDK_Plus/ImSDK_Plus.h>

    常见问题

    [Xcodeproj] Unknown object version (60). (RuntimeError)
    
    
    
    使用 Xcode15 创建新工程来集成 SDK 时,输入 pod install 后,可能会遇到此问题,原因是使用了较旧版本的 CocoaPods ,此时有两种解决办法:
    解决方式一: 修改 Xcode 工程的 Project Format 版本。
    
    解决方式二: 升级本地的 CocoaPods 版本,升级方式本文不再赘述。
    您可以在终端输入 pod --version 查看当前的Pods版本。
    
    Xcode 15 开发者沙盒选项问题
    Sandbox: bash(xxx) deny(1) file-write-create
    
    当您使用 Xcode 15 创建一个新工程时, 可能会因为此选项导致编译运行失败,建议您关闭此选项。
    
    Xcode 16 不支持 Framework 开启 bitcode 问题
    解决方案1:升级 SDK 如果您使用的是包含 Bitcode 的旧版本 SDK(如 TXIMSDK_iOS),建议您按照本文档的指引,将 SDK 升级至 TXIMSDK_Plus_iOS_XCFramework。 解决方式2: 修改 Podfile 配置
    在您的 Podfile 末尾新增如下配置,重新 Pod install。
    post_install do |installer|
    bitcode_strip_path = 'xcrun --find bitcode_strip'.chop!
    def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
    framework_path = File.join(Dir.pwd, framework_relative_path)
    command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
    puts "Stripping bitcode: #{command}"
    system(command)
    end
    framework_paths = [
    "/Pods/TXIMSDK_iOS/ImSDK.framework/ImSDK",
    ]
    framework_paths.each do |framework_relative_path|
    strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
    end
    end
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持