TikTokOpenSDKCore 2.4.0

TikTokOpenSDKCore 2.4.0

chen.wuGuido PuStephen Boyle 维护。



  • TikTok OpenPlatform 提供

TikTok OpenSDK for iOS

简介

TikTok OpenSDK 是一个框架,使用户能够使用 TikTok 账号登录您的应用,并将图片和视频分享到 TikTok。此 SDK 可通过 Swift 包管理器或 Cocoapods 下载。

入门指南

最低 iOS 版本为 11.0,最低 XCode 版本为 9.0。请参阅 iOS 快速入门 以获取更多详细信息。

开发者门户应用程序

开发者门户注册开发者账户。申请批准后,开发者门户将为您提供客户端密钥客户端密钥。有关如何注册应用程序的详细信息,请参阅此处。在进行下一步操作之前,请确保通过转到管理应用程序页面并单击您的开发者门户账户中的+添加产品,将登录套件和/或分享套件添加到您的应用程序中。

安装 SDK

Swift 包管理器

将库作为 Swift 包添加到您的 XCode 项目中

  1. 单击文件 -> 添加包...
  2. 粘贴存储库 URL:https://github.com/tiktok/tiktok-opensdk-ios
  3. 选择依赖规则 -> 到下一个主要版本并输入所需的主要版本(例如2.2.0
  4. 选择添加到项目 -> 您的项目
  5. 单击 复制依赖项并选择所需的库(《TikTokOpenAuthSDK》)、《《TikTokOpenSDKCore》)、《《TikTokOpenShareSDK》》)

CocoaPods

  1. 将以下内容添加到您的 Podfile 中
pod 'TikTokOpenSDKCore'
pod 'TikTokOpenAuthSDK'
pod 'TikTokOpenShareSDK'
  1. 运行pod install --repo-update

配置您的 XCode 项目

  1. 打开您的 Info.plist 文件并添加/更新以下键。
    • 将以下值添加到 LSApplicationQueriesSchemes
      • tiktokopensdk 用于登录工具箱
      • tiktoksharesdk 用于分享工具箱
      • snssdk1233snssdk1180 用于检查设备上是否安装了 TikTok。
    • 将键 TikTokClientKey 添加到您的应用程序,并使用应用程序的 Client Key 作为值。
    • 将您的应用程序的 Client Key 添加到 CFBundleURLSchemes
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>tiktokopensdk</string>
    <string>tiktoksharesdk</string>
    <string>snssdk1180</string>
    <string>snssdk1233</string>
</array>
<key>TikTokClientKey</key>
<string>$TikTokClientKey</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>$TikTokClientKey</string>
    </array>
  </dict>
</array>
  1. 将以下代码添加到您的应用程序的 AppDelegate
import TikTokOpenSDKCore

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ app: UIApplication,open url: URL, 
                     options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
        if TikTokURLHandler.handleOpenURL(url) {
            return true
        }
        return false
    }
        
    func application(_ application: UIApplication, 
                     continue userActivity: NSUserActivity, 
                     restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
            if TikTokURLHandler.handleOpenURL(userActivity.webpageURL) {
                return true
            }
        }
        return false
    }
    
}
  1. 如果您的应用程序有 SceneDelegate 文件,请将该代码添加到其中
import TikTokOpenSDKCore

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    func scene(_ scene: UIScene, 
               openURLContexts URLContexts: Set<UIOpenURLContext>) {
        if TikTokURLHandler.handleOpenURL(URLContexts.first?.url) {
            return
        }
    }

}

登录工具箱用法

登录工具箱功能依赖于 TikTokOpenSDKCoreTikTokOpenAuthSDK 库,所以在添加包或 Cocoapods 时请确保选择这些库。以下代码片段展示了如何创建授权请求和处理响应。有关更多详细信息,请参阅iOS 登录工具箱快速入门

import TikTokOpenAuthSDK

let authRequest = TikTokAuthRequest(scopes: ["user.info.basic"], redirectURI: "https://www.example.com/path")
authRequest.send { response in
    let authResponse = response as? TikTokAuthResponse else { return }
    if authResponse.errorCode == .noError {
        print("Auth code: \(authResponse.code)")
    } else {
       print("Authorization Failed! 
             Error: \(authResponse.error ?? "") 
             Error Description: \(authResponse.errorDescription ?? ""))
    }
}

您的应用程序负责保留对请求的强引用,以便接收响应回调。您可以在完成响应后丢弃它。

分享工具箱用法

分享工具箱功能依赖于 TikTokOpenSDKCoreTikTokOpenShareSDK 库,所以在添加包或 Cocoapods 时请确保选择这些库。以下代码片段展示了如何创建分享请求和处理响应。有关更多详细信息,请参阅iOS 分享工具箱快速入门

import TikTokOpenShareSDK

let shareRequest = TikTokShareRequest(localIdentifiers: [...], mediaType: .video, redirectURI: "https://www.example.com/path")
shareRequest.send { response in
    let shareResponse = response as? TikTokShareResponse else { return }
    if shareResponse.errorCode == .noError {
        print("Share succeeded!")
    } else {
        print("Share Failed! 
               Error Code: \(shareResponse.errorCode.rawValue) 
               Error Message: \(shareResponse.errorMessage ?? "") 
               Share State: \(shareResponse.shareState)")
    }
}

您的应用程序负责保留对请求的强引用,以便接收响应回调。您可以在完成响应后丢弃它。

演示

演示应用的最低iOS版本为iOS 14.0(ShareDemo)和iOS 12.0(LoginDemo)。

  1. 打开 LoginDemo/TikTokLoginDemo.xcodeprojShareDemo/TikTokShareDemo.xcodeproj
  2. 要在物理iOS设备上运行演示,您需要一个有效的通用链接和具有“关联域名”功能的配置文件。导入您的配置文件,更新包标识,并将您的通用链接域名添加到“关联域名”部分。如果您正在运行LoginDemo,请确保您已在开发者门户中的登录工具部分的“重定向URI”部分中添加了您的通用链接。
  3. Info.plist文件作为源代码打开,并将${TikTokClientKey}的用法替换为开发者门户中的自己的客户端密钥。
  4. 运行项目以查看工具的实际操作。

授权

此源代码受根目录中LICENSE文件中所述的授权许可。