iOS SDK
    • PDF

    iOS SDK

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    iOS SDKでは Effective Log Search & Analytics 2.0サービスで提供する iOS SDKの使用方法を説明します。

    参考

    iOS SDKは HTTPSプロトコルを利用してログを転送します。

    SDKを使用する手順は、次の通りです。

    1. 事前準備
    2. SDKのインストール
    3. SDKを使用する

    1. 事前準備

    iOS SDKをインストールするための事前準備事項は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールで、プロジェクトを作成します。
    2. 作成したプロジェクト詳細情報画面で txtToken値を確認します。
    3. iOS用 SDKをダウンロードします。

    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

    初期化する 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;
    

    各パラメータの説明は、次の通りです。

    パラメータ説明
    errorCodeNELOの errorCodeフィールドにマッピングされる値(長さ制限: 128文字)
    messageNELOの body フィールドにマッピングされる値(長さ制限はないが、全体ログ容量の制限はある)
    locationNELOの 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クライアントでのシンボリケーションの実行有無を設定

    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.