NHN Cloud > SDK 사용 가이드 > 시작하기 > iOS

지원 환경

  • iOS 11.0 이상
  • XCode 최신 버전(버전 14 이상)

NHN Cloud SDK의 구성

  • iOS용 NHN Cloud SDK의 구성은 다음과 같습니다.

  • NHN Cloud SDK가 제공하는 서비스 중 원하는 기능을 선택해 적용할 수 있습니다.

Service Cocoapods Pod Name Carthage Framework Deployment Target Dependency Build Settings
All NHNCloudSDK binary "https://nh.nu/nhncloudsdk NHNCloudCore.framework
NHNCloudCommon.framework
NHNCloudLogger.framework
NHNCloudIAP.framework
NHNCloudPush.framework
Mandatory NHNCloudCore
NHNCloudCommon
NHNCloudCore.framework
NHNCloudCommon.framework
11.0 OTHER_LDFLAGS = (
"-ObjC",
"-lc++"
);
Log & Crash NHNCloudLogger NHNCloudLogger.framework 11.0 [External & Optional]
* CrashReporter.framework (NHNCloud)
IAP NHNCloudIAP NHNCloudIAP.framework 11.0 * StoreKit.framework

[Optional]
* libsqlite3.tdb
Push NHNCloudPush NHNCloudPush.framework 11.0 * UserNotifications.framework

[Optional]
* PushKit.framework
OCR NHNCloudOCR NHNCloudOCR.framework 11.0 * Vision.framework
* AVFoundation.framework

NHN Cloud SDK를 Xcode 프로젝트에 적용

1. Cococapods를 사용해 NHN Cloud SDK 적용

  • Podfile을 생성하여 NHN Cloud SDK에 대한 Pod을 추가합니다.
platform :ios, '11.0'
use_frameworks!

target '{YOUR PROJECT TARGET NAME}' do
    pod 'NHNCloudSDK'
end

2. Swift Package Manager를 사용해 NHN Cloud SDK 적용

  • XCode에서 File > Add Packages... 메뉴를 선택합니다.
  • Package URL에 'https://github.com/nhn/nhncloud.ios.sdk'를 넣고 Add Package 버튼을 선택합니다.
  • 추가를 원하는 Library를 선택합니다.

swift_package_manager

프로젝트 설정

  • Build SettingsOther Linker Flags-lc++-ObjC 항목을 추가합니다.
    • Project Target > Build Settings > Linking > Other Linker Flags other_linker_flags

3. Carthage를 사용해 NHN Cloud SDK 적용

  • Cartfile을 생성하여 NHN Cloud SDK를 추가합니다.
# Full URL
binary "https://api-storage.cloud.toast.com/v1/AUTH_f9e3dc598ca142d3820e1c19343d5428/carthage/NHNCloudSDK.json" 

# Short URL
binary "https://nh.nu/nhncloudsdk"
  • 생성된 Carthage/Build 폴더의 Framework를 Xcode 프로젝트에 추가합니다. carthage_import_framework

  • 프로젝트에 다음과 같이 프레임워크(framework)가 추가된 것을 확인합니다. import_carthage_frameworks_complete import_carthage_frameworks_complete

  • NHN Cloud SDK를 사용하려면 프레임워크 설정프로젝트 설정을 해야합니다.

서비스 중 원하는 기능을 선택하여 사용하기 위해서는 서비스별로 필요한 Framework만 선택하여 프로젝트에 추가해야 합니다. 서비스별로 필요한 Framework는 NHN Cloud SDK의 구성에서 확인할 수 있습니다.

4. 바이너리를 다운로드하여 NHN Cloud SDK 적용

프레임워크 설정

  • NHN Cloud의 Downloads 페이지에서 전체 iOS SDK를 다운로드할 수 있습니다. import_frameworks

  • Logger의 Crash Report 기능을 사용하려면 함께 배포되는 CrashReporter.framework도 프로젝트에 추가해야 합니다. import_external_framework

  • 프로젝트에 다음과 같이 프레임워크(framework)가 추가된 것을 확인합니다. import_frameworks_complete

  • IAP 기능을 사용하려면 StoreKit.framework를 추가해야 합니다. linked__storekit_frameworks

  • Push 기능을 사용하려면 UserNotifications.framework를 추가해야 합니다. linked__usernotifications_frameworks

xcframework
  • xcframework를 사용하면 arm simulator에서도 NHN Cloud SDK를 사용할 수 있습니다. xcframework01 xcframework01

프로젝트 설정

  • Build SettingsOther Linker Flags-lc++-ObjC 항목을 추가합니다.

    • Project Target > Build Settings > Linking > Other Linker Flags other_linker_flags
  • CrashReporter.framework를 직접 다운로드하거나 빌드한 경우에는 Build SettingEnable Bitcode의 값을 NO로 변경해야 합니다.

    • Project Target > Build Settings > Build Options > Enable Bitcode enable_bitcode

      NHN Cloud의 Downloads 페이지에서 다운로드한 CrashReporter.framework는 bitCode를 지원합니다.

프레임워크 가져오기

  • 사용하려는 프레임워크를 가져옵니다(import).
#import <NHNCloudCore/NHNCloudCore.h>
#import <NHNCloudLogger/NHNCloudLogger.h>
#import <NHNCloudIAP/NHNCloudIAP.h>
#import <NHNCloudPush/NHNCloudPush.h>
#import <NHNCloudOCR/NHNCloudOCR.h>

사용자 아이디 설정

  • NHN Cloud SDK에 사용자 아이디를 설정할 수 있습니다.
  • 설정한 사용자 아이디는 NHN Cloud SDK의 각 모듈에서 공통으로 사용됩니다.
  • NHN Cloud Logger의 로그 전송 API를 호출할 때마다 설정한 사용자 아이디를 로그와 함께 서버로 전송합니다.

사용자 아이디 설정 API 명세

+ (void)setUserID:(NSString *)userID;

사용자 아이디 설정 사용 예

[NHNCloudSDK setUserID:@"NHNCloud-USER"];

디버그 모드 설정

  • NHN Cloud SDK의 내부 로그를 확인하기 위해 디버그 모드를 설정할 수 있습니다.
  • NHN Cloud SDK와 관련해 문의하실 때는 디버그 모드를 활성화한 후 콘솔 로그를 전달해 주시면 빠르게 지원해드릴 수 있습니다.

디버그 모드 설정 API 명세

+ (void)setDebugMode:(BOOL)debugMode;

디버그 모드 설정 사용 예

[NHNCloudSDK setDebugMode:YES];    // or NO

[주의] 애플리케이션 배포시에는 디버그 모드를 반드시 비활성화해야 합니다.

NHN Cloud Service 사용

TOP