--- title: "iOS SDK" slug: "elsa2-sdk-ios" updated: 2026-09-17T09:28:51Z published: 2026-09-17T09:28:51Z canonical: "guide.ncloud-docs.com/elsa2-sdk-ios" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # iOS SDK Classic/VPC環境で利用できます。 iOS SDKでは Effective Log Search & Analytics 2.0サービスで提供する iOS SDKの使用方法を説明します。 参考 iOS SDKは HTTPSプロトコルを利用してログを転送します。 SDKを使用する手順は、次の通りです。 [1. 事前準備](/docs/ja/elsa2-sdk-ios#1%EC%82%AC%EC%A0%84%EC%A4%80%EB%B9%84) [2. SDKのインストール](/docs/ja/elsa2-sdk-ios#2iOSSDK%EC%84%A4%EC%B9%98) [3. SDKを使用する](/docs/ja/elsa2-sdk-ios#5SDK%EC%82%AC%EC%9A%A9) ## 1. 事前準備 iOS SDKをインストールするための事前準備事項は、次の通りです。 1. NAVERクラウドプラットフォームコンソールで、[プロジェクトを作成](/docs/ja/elsa2-project)します。 2. 作成した[プロジェクト詳細情報画面](/docs/ja/elsa2-project#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%83%81%EC%84%B8%EC%A0%95%EB%B3%B4%ED%99%95%EC%9D%B8)で txtToken値を確認します。 3. iOS用 SDKを[ダウンロード](/docs/ja/elsa2-sdk-download)します。 ## 2. iOS SDKのインストール iOS SDKをインストールする方法は、次の通りです。 1. ダウンロードした SDKファイルの圧縮を解凍します。 2. SDKをインストールする iOSプロジェクトの `Frameworks` フォルダに SDKファイルを保存します。 - Nelo2SDK.framework - CrashReporter.framework 3. Xcodeを実行してプロジェクトを開きます。 4. **TARGETS** でビルドするターゲットをクリックします。 5. **Build Phases** を選択した後、**Link Binary With Libraries** 領域に以下のシステムフレームワークを追加します。 - UIKit.framework - SystemConfiguration.framework - CoreTelephony.framework - Foundation.framework ## 3. SDKを使用する 以下の Effective Log Search & Analytics 2.0 iOS SDKを使用する実際のサンプルコードを参照し、プロジェクトにログを転送します。 ``` NSString* appID = @"02b96c3d8bbe_elsa-test"; NSString* appVer= @"1.0.0"; NSString* serverAddr = @"elsa-v2-col.ncloud.com"; //Effective Log Search & Analytics収集サーバアドレス NSString* userID = @"tester"; //ユーザー ID // Nelo Init [NeloLog init:serverAddr ofProjectName:appID withProjectVersion:appVer forUserId:userID]; // Neloログ転送 [NeloLog info:@"ErrorCode" withMessage:@"Message"]; [NeloLog error:@"ErrorCode" withMessage:@"Message" atLocation:@"test loc"]; ``` ## iOS SDK APIの明細 iOS SDKは以下のような APIを提供します。 - [初期化 API](/docs/ja/elsa2-sdk-ios#%EC%B4%88%EA%B8%B0%ED%99%94API) - [ログ転送 API](/docs/ja/elsa2-sdk-ios#%EB%A1%9C%EA%B7%B8%EC%A0%84%EC%86%A1API) - [オプション設定 API](/docs/ja/elsa2-sdk-ios#%EC%98%B5%EC%85%98%EC%84%A4%EC%A0%95API) ### 初期化 API 初期化する APIは、次の通りです。 ``` // Default NeloLog init method + (bool) init:(NSString *)serverAddr ofProjectName:(NSString* )appName withProjectVersion:(NSString*)appVersion; + (bool) init:(NSString *)serverAddr ofProjectName:(NSString* )appName withProjectVersion:(NSString*)appVersion forUserId:(NSString* )userId; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `serverAddr` | ログ収集サーバのアドレス - Collectorサーバアドレス: elsa-col.ncloud.com | | `appName` | プロジェクト ID | | `appVersion` | ログを転送するアプリのバージョン情報 - このバージョンでシンボリケーション時に、シンボルファイルとマッピング | | `userId` | ユーザー ID | 参考 SDK Version 0.32から onPort、byProtocolパラメータを削除しました。 例) ``` NSString* appID = @"02b96c3d8bbe_elsa-test"; NSString* appVer= @"1.0.0"; NSString* serverAddr = @"elsa-v2-col.ncloud.com"; //Effective Log Search & Analytics 2.0収集サーバアドレス NSString* userID = @"tester"; //ユーザー ID // Nelo Init [NeloLog init:serverAddr ofProjectName:appID withProjectVersion:appVer forUserId:userID]; ``` ### ログ転送 API ログを転送する APIは、次の通りです。 ``` // send log method + (void) debug:(NSString *)errorCode withMessage:(NSString* )message; + (void) error:(NSString *)errorCode withMessage:(NSString* )message; + (void) fatal:(NSString *)errorCode withMessage:(NSString* )message; + (void) info:(NSString *)errorCode withMessage:(NSString* )message; + (void) warn:(NSString *)errorCode withMessage:(NSString* )message; + (void) debug:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location; + (void) error:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location; + (void) fatal:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location; + (void) info:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location; + (void) warn:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `errorCode` | NELOの `errorCode`フィールドにマッピングされる値(長さ制限: 128文字) | | `message` | NELOの `body` フィールドにマッピングされる値(長さ制限はないが、全体ログ容量の制限はある) | | `location` | NELOの `location` フィールドにマッピングされる値(`error`が発生した場所を転送) | 例) ``` [NeloLog info:@"ErrorCode" withMessage:@"Message"]; ``` ### オプション設定 API オプション設定 APIは、次の通りです。 #### ユーザー ID設定 ユーザー IDを設定する APIは、次の通りです。 ``` + (void) setUserId:(NSString*)userId; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `userId` | ユーザー ID | #### ログタイプ設定 ログのタイプを設定する APIは、次の通りです。 ``` + (void) setLogType:(NSString*)logType; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `logType` | ログタイプ(logType)の情報 | #### クラッシュコールバック クラッシュコールバック APIを使用してクラッシュ発生時に、クラッシュログを転送する前にユーザーが定義した関数を呼び出せます。クラッシュコールバック APIは、次の通りです。 ``` + (void) setCrashBlock:(void (^)(void))block; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `block` | アプリクラッシュの発生時に、クラッシュを転送する方法を設定 | 例) ``` [NeloLog setCrashBlock:^{ NSLog(@"crashed"); [NeloLog setCustomField:@"MyValue" forKey:@"MyKey"]; }]; ``` #### ログレベル(loglevel)設定 ログレベル(loglevel)以上のログのみ転送する APIは、次の通りです。 参考 - ログレベル(logLevel)ごとに関数を使用します。 - ログレベル(logLevel): Fatal、Error、Warn、Info、Debug - 値は以下の Constant値として定義されています。 - NELO2_LOGLEVEL_DEBUG(デフォルト値) - NELO2_LOGLEVEL_INFO - NELO2_LOGLEVEL_WARN - NELO2_LOGLEVEL_ERROR - NELO2_LOGLEVEL_FATAL ``` + (void) setLogLevelFilter:(NSString*)logLevelFilter; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `logLevelFilter` | ログレベル以上のログのみ NELOに転送 | 例) ``` [NeloLog setLogLevelFilter:NELO2 _LOGLEVEL_ WARN]; ``` #### ログ転送方法設定 ログ転送方法を設定する APIは、次の通りです。 ``` + (void) setNeloSendMode:(NSString*)sendMode; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `sendMode` | ログ転送方法設定 | パラメータの設定値によるネットワーク別のログ転送方法は、次の通りです。 - `ALL` 設定時 | ネットワーク状態 | 転送方法 | | --- | --- | | 3g | 転送 | | Wi-Fi | 転送 | | Not Connected | 転送しない | - `WIFI` 設定時 | ネットワーク状態 | 転送方法 | | --- | --- | | 3g | 転送しない | | Wi-Fi | 転送 | | Not Connected | 転送しない | #### シンボリケーション実行設定 クライアントでのシンボリケーション(Symbolication)の実行有無を設定する APIは、次の通りです。 参考 - SDKの基本設定値は、次の通りです。 - iOS SDK: `false`(クライアントでシンボリケーションを行わない) - mac SDK: `true`(クライアントでシンボリケーションを行う) - クライアントでシンボリケーションを行うと、クラッシュの発生時にアプリが停止する場合、しばらく遅延が発生 ``` + (void) enableClientSideSymbolication:(bool)enable; ``` 各パラメータの説明は、次の通りです。 | パラメータ | 説明 | | --- | --- | | `enable` | クライアントでのシンボリケーションの実行有無を設定 |