TikTok OpenSDK for iOS
简介
TikTok OpenSDK 是一个框架,允许用户使用 TikTok 账户登录您的应用并分享图片和视频到 TikTok。此 SDK 通过 Swift 包管理器和 Cocoapods 提供下载。
入门
最低 iOS 版本为 11.0,最低 XCode 版本为 9.0。有关详细信息,请参阅 iOS 快速入门。
开发者门户应用
在我们的开发者门户上注册开发者帐户。申请批准后,开发者门户将为您提供客户端密钥
和客户端密钥
。了解如何注册应用程序请参阅此处。在继续之前,请确保通过导航到管理应用
页面,在您的开发者门户帐户中单击+添加产品
将登录工具包和/或分享工具包添加到您的应用程序。
安装SDK
Swift包管理工具
将库作为Swift包添加到您的XCode项目中
- 单击
文件 -> 添加包...
- 粘贴仓库URL:
https://github.com/tiktok/tiktok-opensdk-ios
- 选择
依赖规则
->更新至下一个主要版本
,并输入您想要的版本号(例如2.2.0
) - 选择
添加到项目
-> 您的项目 - 单击
复制依赖项
并选择您需要的库(TikTokOpenAuthSDK
、TikTokOpenSDKCore
、TikTokOpenShareSDK
)
CocoaPods
- 将以下内容添加到Podfile
pod 'TikTokOpenSDKCore'
pod 'TikTokOpenAuthSDK'
pod 'TikTokOpenShareSDK'
- 运行
pod install --repo-update
配置您的XCode项目
- 打开您的Info.plist文件,并添加/更新以下键。
- 将以下值添加到
LSApplicationQueriesSchemes
tiktokopensdk
用于登录工具包tiktoksharesdk
用于分享工具包snssdk1233
和snssdk1180
检查您的设备上是否已安装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>
- 将以下代码添加到您的应用的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
}
}
- 如果您的应用有SceneDelegate文件,将以下代码添加到该文件中
import TikTokOpenSDKCore
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
func scene(_ scene: UIScene,
openURLContexts URLContexts: Set<UIOpenURLContext>) {
if TikTokURLHandler.handleOpenURL(URLContexts.first?.url) {
return
}
}
}
登录工具包使用方法
登录工具包的功能依赖于TikTokOpenSDKCore
和TikTokOpenAuthSDK
库,因此添加包或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 ?? ""))
}
}
您的应用负责维护对请求的强引用,以便接收到响应回调。完成响应后,您可以丢弃它。
分享工具包使用方法
分享工具包的功能依赖于TikTokOpenSDKCore
和TikTokOpenShareSDK
库,因此添加包或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版本为ShareDemo的iOS 14.0和LoginDemo的iOS 12.0。
- 打开
LoginDemo/TikTokLoginDemo.xcodeproj
或ShareDemo/TikTokShareDemo.xcodeproj
。 - 为了在物理iOS设备上运行演示,您需要一个有效的通用链接和一个带有关联域功能的配置文件。导入您的配置文件,更新捆绑ID,并将您的通用链接域名添加到关联域部分。如果您正在运行LoginDemo,请确保您已经将通用链接添加到开发者门户中登录工具部分的重定向URI部分。
- 以源代码方式打开
Info.plist
文件,并将${TikTokClientKey}
的使用替换为您从开发者门户中自己的客户端密钥。 - 运行项目以查看工具的实际运行情况。
许可协议
此源代码在源代码库根目录下的LICENSE文件中所示的许可协议下授权。