TikTok OpenSDK는 사용자가 TikTok 계정으로 앱에 로그인하고 이미지와 비디오를 TikTok에 공유할 수 있게 해주는 프레임워크입니다. 이 SDK는 Swift Package Manager 및 Cocoapods를 통해 다운로드할 수 있습니다.
최소 iOS 버전은 12.0이고 최소 XCode 버전은 10.0입니다. 자세한 내용은 iOS 빠른 시작을 참조하세요.
개발자 포털에서 개발자 계정에 가입하세요. 애플리케이션이 승인되면 개발자 포털에서 Client Key
와 Client Secret
를 제공합니다. 여기에서 앱을 등록하는 방법을 확인하세요. 계속하기 전에 Manage apps
페이지로 이동하고 개발자 포털 계정에서 + Add products
클릭하여 로그인 키트 및/또는 공유 키트를 앱에 추가했는지 확인하세요.
XCode 프로젝트에 라이브러리를 Swift 패키지로 추가합니다.
File -> Add Packages...
클릭합니다.https://github.com/tiktok/tiktok-opensdk-ios
Dependency Rule
-> Up to Next Major Version
선택하고 원하는 주요 버전을 입력합니다(예: 2.3.0
).Add to Project
-> 프로젝트를 선택합니다.Copy Dependency
클릭하고 필요한 라이브러리( TikTokOpenAuthSDK
, TikTokOpenSDKCore
, TikTokOpenShareSDK
)를 선택하세요. pod 'TikTokOpenSDKCore'
pod 'TikTokOpenAuthSDK'
pod 'TikTokOpenShareSDK'
pod install --repo-update
실행LSApplicationQueriesSchemes
에 다음 값을 추가합니다.tiktokopensdk
tiktoksharesdk
snssdk1233
및 snssdk1180
하여 TikTok이 장치에 설치되어 있는지 확인하세요.Client Key
값으로 사용하여 TikTokClientKey
키를 추가하세요.CFBundleURLSchemes
에 앱 Client Key
추가하세요. < 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 >
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
}
}
import TikTokOpenSDKCore
class SceneDelegate : UIResponder , UIWindowSceneDelegate {
func scene ( _ scene : UIScene ,
openURLContexts URLContexts : Set < UIOpenURLContext > ) {
if TikTokURLHandler . handleOpenURL ( URLContexts . first ? . url ) {
return
}
}
}
로그인 키트 기능은 TikTokOpenSDKCore
및 TikTokOpenAuthSDK
라이브러리에 따라 다르므로 패키지 또는 cocoapod를 추가할 때 이러한 라이브러리를 선택해야 합니다. 다음 코드 조각은 승인 요청을 생성하고 응답을 처리하는 방법을 보여줍니다. 자세한 내용은 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
라이브러리에 따라 다르므로 패키지 또는 cocoapod를 추가할 때 이러한 라이브러리를 선택해야 합니다. 다음 코드 조각은 공유 요청을 생성하고 응답을 처리하는 방법을 보여줍니다. 자세한 내용은 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
엽니다.Info.plist
파일을 소스 코드로 열고 ${TikTokClientKey}
사용을 개발자 포털의 자체 클라이언트 키로 바꿉니다.이 소스 코드는 이 소스 트리의 루트 디렉터리에 있는 LICENSE 파일에 있는 라이선스에 따라 라이선스가 부여됩니다.