Game > Gamebase > iOS SDK 사용 가이드 > 시작하기

Environments

[INFO]

최소 사양

  • 사용자 실행 환경 : iOS 9 이상
  • 빌드 환경 : Xcode 12 (iOS 14 SDK) 이상


[주의]

일부 IdP 지원 시 하단 3rd Party Gamebase Auth Adapters 표 안의 Support iOS Version 항목을 참고하세요. AppStore 출시 시에는 반드시 Apple 버전 정책에 준수해야 합니다.

  • https://developer.apple.com/ios/submit/

Setting

Gamebase는 아래와 같은 방법으로 설정이 가능합니다.

Download

Gamebase.framework 및 필요한 Adapter 들을 다운로드 받습니다.
또한 각 IdP의 인증을 하기위한 SDK파일들을 다운로드 받아야합니다. 해당 IdP의 로그인을 사용할 때만 포함하면 됩니다.
다운로드한 뒤, 해당 SDK파일을 프로젝트의 target에 포함시켜야 합니다.

Gamebase iOS SDK Components

Gamebase SDK Gamebase Auth Adapter External(iOS) SDK & Compatible Version 용도 Support iOS Version
Gamebase Gamebase.framework
Gamebase.bundle
ToastSDK 0.29.0 Gamebase의 Interface 및 핵심 로직을 포함 iOS9 or later
Gamebase Auth Adapters GamebaseAuthFacebookAdapter.framework FacebookSDK v9.2.0 Facebook 로그인을 지원 iOS9 or later
GamebaseAuthPaycoAdapter.framework PaycoID Login 3rd SDK v1.5.1 Payco 로그인을 지원 iOS9 or later
GamebaseAuthNaverAdapter.framework naveridlogin-sdk-ios-4.1.1 Naver 로그인을 지원 iOS9 or later
GamebaseAuthGamecenterAdapter.framework GameKit.framework Gamecenter 로그인을 지원 iOS9 or later
GamebaseAuthGoogleAdapter.framework Google 로그인을 지원 iOS9 or later
GamebaseAuthTwitterAdapter.framework Twitter 로그인을 지원 iOS9 or later
GamebaseAuthLineAdapter.framework LineSDK v5.0.1 LINE 로그인을 지원 iOS10 or later
GamebaseAuthAppleidAdapter.framework Sign In with Apple iOS9 or later
arm64 지원
GamebaseAuthHangameAdapter.framework HangameID SDK 1.6.1 Hangame 로그인을 지원 iOS9 or later
GamebaseAuthWeiboAdapter.framework weibo_ios_sdk-3.2.7 Weibo 로그인을 지원 iOS9 or later
Gamebase IAP GamebasePurchaseIAPAdapter.framework StoreKit.framework
ToastIAP 0.29.0
ToastGamebaseIAP 0.12.0
게임 내 결제를 지원 iOS9 or later
Gamebase Push GamebasePushAdapter.framework ToastPush 0.29.0 Push를 지원 iOS9 or later

[주의]

Sign In with Apple에 필요한 AuthenticationServices.framework를 추가할 경우에는 반드시 Optional로 설정해야 합니다. Required로 설정할 경우에는 iOS 11 이하 기기에서는 실행 직후 크래시가 발생합니다.

Gamebase SDK iOS 2.13.0 이상에서는 iOS 9 이상에서 Sign In with Apple 이 지원되며 추가로 Gamebase Console 에 Service ID를 설정해야합니다.


[주의]

Gamebase Framework 파일 중 이름에 Adapter가 포함되어 있는 파일들은 선택해 프로젝트 내에서 사용 여부를 결정할 수 있으며, 사용하지 않는 Adapter Framework는 제거하는 것을 권장합니다. 해당 Adapter Framework를 사용하려면 위의 표에 명시된 외부 SDK들이 필요할 수 있습니다. 일부 인증 Adapter의 경우 위의 표에 있는 지원하는 iOS 버전에 유의해야 합니다. (지원 버전이 iOS 10 이상인 Auth Adpater를 빌드에 포함하면 iOS 9 이하에서는 런타임 크래시가 발생합니다.)


[INFO]

각 IdP에서 제공하는 외부 SDK에 대한 설정은 각 IdP의 가이드 문서를 참고하시길 바랍니다.

Xcode Settings

압축을 풀면, 다음과 같이 Gamebase.framework 등의 SDK를 볼 수 있습니다.

unzip gamebase

  • 1) Framework 파일을 Project의 Project Navigator로 끌어와서 import합니다. 이 때 추가된 Framework 파일들은 프로젝트 target에 추가되어야 합니다.
  • 2) Gamebase.bundle 파일도 Copy Bundle Resources 에 추가합니다. Gamebase.bundle Bundle Resources
  • 3) Gamebase를 사용하기 위해서는 Gamebase의 framework외에, Gamebase에서 사용하고 있는 외부 SDK들의 기능을 포함하기 위하여, 여러 framework와 library 파일을 linker에서 참조할 수 있도록 추가해야합니다. 아래 항목들을 추가해야합니다.
    • libicucore.tbd
    • libz.tbd
    • libsqlite3.tbd
    • libc++.tbd
    • AdSupport.framework
    • ImageIO.framework
    • GameKit.framework
    • StoreKit.framework
    • AuthenticationServices.framework (Optional)
    • AppTrackingTransparency.framework (Optional)

Link Binary With Libraries

  • 4) Gamebase iOS SDK 2.12.0 이상을 사용할 경우 Facebook SDK가 업데이트 됨에 따라 추가 설정이 필요합니다.
    • Accelerate.framework 추가
    • 프로젝트 내부에 빈 swift 파일 추가 (프로젝트 내부에 swift 파일이 하나도 없을 경우)
  • 5) Target > Build Settings > Linking > Other Linker Flags-ObjC를 추가해야 합니다. Other Linker Flags
  • 6) NaverAuthAdapter를 사용하는 경우에는 NaverSDK에서 제공하는 NaverThirdPartyLogin.framework 파일을 Target > General > Embedded Binaries에 추가해야 합니다. Naver Embeded Binaries

[INFO]

Linker에 -ObjC옵션 설정은 Static Library에 있는 모든 Objective-C class와 category를 로드합니다.
따라서 이 옵션을 설정하지 않았을 때에 selector not recognized와 같은 오류가 Runtime 상에서 발생할 수 있습니다.

CocoaPods Settings

Gamebase iOS SDK는 CocoaPods를 통해서도 설정할 수 있습니다.

  • 1) Xcode를 실행해 프로젝트를 생성합니다.
  • 2) Terminal을 실행해 CocoaPods을 적용하려는 프로젝트의 디렉터리로 이동합니다.
  • 3) pod init 명령어를 실행해 Podfile을 생성합니다.
  • 4) 생성된 Podfile을 편집기로 열어 다음과 같은 내용을 작성합니다.
platform :ios, '10.0'

target 'SampleApplication' do
    pod 'Gamebase'
    pod 'GamebaseAuthFacebookAdapter'
    pod 'GamebaseAuthGamecenterAdapter'
    pod 'GamebaseAuthPaycoAdapter'
    pod 'GamebaseAuthNaverAdapter'
    pod 'GamebaseAuthTwitterAdapter'
    pod 'GamebaseAuthGoogleAdapter'
    pod 'GamebaseAuthLineAdapter'
    pod 'GamebaseAuthAppleidAdapter'
    pod 'GamebaseAuthWeiboAdapter'
    pod 'GamebasePushAdapter'
    pod 'GamebasePurchaseIAPAdapter'

end

[INFO]

target 'SampleApplication' do 부분에는 생성한 프로젝트의 타깃 이름을 입력합니다.
pod 'Gamebase', '2.6.0'과 같이 작성해 특정 버전을 지정할 수 있습니다. 각각의 pod에 버전을 명시하지 않으면 최신 버전이 설정됩니다.
특정 Adapter만 선택해서 적용할 수 있습니다.

[주의]

Gamebase 최신 버전을 사용하지 않으면 일부 Adapter의 사용이 불가능 할 수 있습니다.

  • 5) Podfile 작성이 완료되면 pod install 또는 pod update 명령어를 실행해 Gamebase를 설치합니다.
  • 6) 설치가 완료되면 프로젝트명.xcworkspace 파일이 생성됩니다. 이후부터는 생성된 xcworkspace 파일을 통해 개발을 진행합니다.

[INFO]

더 자세한 CocoaPods 사용법에 대해서는 CocoaPods GuideUsing CocoaPods 페이지를 참고하시길 바랍니다.

IdP Settings

[주의]

  • NHN Cloud Console 에서 새 프로젝트를 생성하여 Gamebase 서비스를 활성화 하였는지 꼭 확인하세요.
  • 각 IdP 콘솔에서 Client ID 를 발급받아 Gamebase 콘솔에 입력하였는지 꼭 확인하세요.

Google

Payco

  • URL Scheme 를 설정해야 합니다.
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.payco를 추가해야 합니다.

Twitter

  • URL Scheme 를 설정해야 합니다.
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.twitter를 추가해야 합니다.
  • Twitter 의 Developer 사이트의 Apps > 대상 프로젝트 > App Details > Callback URL 항목을 설정해야 합니다.
    • tcgb.{Bundle ID}.twitter:// 를 추가합니다.

Line

  • URL Scheme 를 설정해야 합니다.

    • Xcode > Target > Info > URL Typesline3rdp.{App Bundle ID}를 추가해야 합니다.
  • Info.plist 파일을 설정해야합니다.

    • LINE에서 발급받은 ChannelID를 설정합니다. <key>LineSDKConfig</key> <dict> <key>ChannelID</key> <string>{Issued LINE ChannleID}</string> </dict>
    • ATS 설정을 위하여 Scheme 를 등록합니다. <key>LSApplicationQueriesSchemes</key> <array> <string>lineauth</string> <string>line3rdp.{App Bundle ID}</string> </array>
  • LINE Login 을 사용하기 위한 프로젝트 설정은 다음 링크를 참고합니다. (인증 필요)
  • LINK [LINE Developer Guide]

Weibo

IdP Settings (Legacy)

Google

  • Gamebase iOS SDK 1.12.1 이하
    • NHN Cloud Console > Gamebase > App > 인증 정보 > 추가 정보 & Callback URL추가 정보 항목에 JSON string 형태의 정보를 설정해야 합니다.
      • Google 의 경우, iOS 앱에서 필요한 정보 url_scheme_ios_only의 설정이 필요합니다.
      • url_scheme_ios_only의 값은 Xcode의 URL Scheme에 등록된 값들 중 한개와 일치해야 합니다.
    • URL Scheme 를 설정해야 합니다.
      • Xcode > Target > Info > URL Types
  • Google 추가 인증 정보 입력 예제
{ "url_scheme_ios_only": "Your URL Scheme" }

gamebase_auth_google_console_01

Naver

  • Gamebase iOS SDK 1.12.1 이하
    • NHN Cloud Console > Gamebase > App > 인증 정보 > 추가 정보 & Callback URL추가 정보 항목에 JSON String 형태의 정보를 설정해야합니다.
      • NAVER의 경우, 로그인 동의 창에 표시할 앱 이름인 service_name을 설정해야 합니다.
      • iOS 앱에서 필요한 정보인 url_scheme_ios_only를 추가로 설정해야 합니다.
    • URL Scheme 를 설정해야 합니다.
      • Xcode > Target > Info > URL Types
  • Naver 추가 인증 정보 입력 예제
{ "url_scheme_ios_only": "Your URL Scheme", "service_name": "Your Service Name" }

gamebase_auth_naver_console_01

3rd-Party Provider SDK Guide

API Reference

API Reference는 SDK 내에 포함되어 있습니다.

API Deprecate Governance

Gamebase에서 더 이상 지원하지 않는 API는 Deprecate 처리합니다. Deprecated 된 API는 다음 조건 충족 시 사전 공지 없이 삭제될 수 있습니다.

  • 5회 이상의 마이너 버전 업데이트

    • Gamebase Version Format - XX.YY.ZZ
      • XX : Major
      • YY : Minor
      • ZZ : Hotfix
  • 최소 5개월 경과

TOP