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. 네이버 클라우드 플랫폼의 콘솔에서 프로젝트를 생성해 주십시오.
    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프로젝트 아이디
    appVersion로그를 전송할 앱의 버전 정보
    • 이 버전으로 심벌리케이션 시 심벌 파일과 매핑
    userId사용자 아이디
    참고

    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는 다음과 같습니다.

    사용자 아이디 설정

    사용자 아이디를 설정하는 API는 다음과 같습니다.

    + (void) setUserId:(NSString*)userId;
    

    각 파라미터에 대한 설명은 다음과 같습니다.

    파라미터설명
    userId사용자 아이디

    로그 유형 설정

    로그 유형을 설정하는 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.