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版本为iOS 14.0(ShareDemo)和iOS 12.0(LoginDemo)。
- 打开
LoginDemo/TikTokLoginDemo.xcodeproj
或ShareDemo/TikTokShareDemo.xcodeproj
。 - 要在物理iOS设备上运行演示,您需要一个有效的通用链接和具有“关联域名”功能的配置文件。导入您的配置文件,更新包标识,并将您的通用链接域名添加到“关联域名”部分。如果您正在运行LoginDemo,请确保您已在开发者门户中的登录工具部分的“重定向URI”部分中添加了您的通用链接。
- 将
Info.plist
文件作为源代码打开,并将${TikTokClientKey}
的用法替换为开发者门户中的自己的客户端密钥。 - 运行项目以查看工具的实际操作。
授权
此源代码受根目录中LICENSE文件中所述的授权许可。