Share via


HockeySDK에서 iOS용 App Center SDK로 마이그레이션

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아보세요.

HockeySDK 대신 App Center SDK를 사용하도록 애플리케이션을 업데이트하려는 경우 이 설명서를 따릅니다.

1. 라이브러리 업데이트

1.1 이전 HockeySDK 제거

설명서

SDK를 수동으로 추가한 경우 다음 단계를 수행합니다.

  1. XCode 프로젝트에서 참조를 제거 HockeySDK.embeddedframework 합니다. 참조 제거 단추를 클릭하고 휴지통으로 이동 단추를 클릭하지 마세요.

  2. 프로젝트 설정을 열고 헤더 검색 경로프레임워크 검색 경로 / 섹션의 빌드 설정 탭에서 HockeySDK와 관련된 헤더 파일의 위치를 제거합니다.

  3. 프로젝트 설정을 열고 라이브러리와 이진 연결 섹션의 빌드 단계 탭에서 HockeySDK와 관련된 종속성 항목을 제거합니다.

  4. 파일 시스템에서 삭제 HockeySDK.embeddedframework 합니다.

Podfile

CocoaPods를 사용하여 SDK를 추가한 경우 Podfile에서 줄을 제거 pod "HockeySDK" 한 다음 를 실행pod install합니다.

Carthage

  1. 에서 CartfileHockeySDK 참조를 제거합니다. 파일 시스템에서 삭제 Cartfile.Resolved 합니다.

  2. XCode 프로젝트에서 및 HockeySDK.framework.dSYM 를 삭제 HockeySDK.framework 하고 휴지통으로 이동 단추를 클릭합니다.

  3. 빌드 단계 탭을 열고 스크립트 실행 섹션을 찾습니다. 및 output.xcfilelist에서 HockeyApp을 input.xcfilelist 제거합니다.

1.2 새 App Center SDK 추가

App Center SDK는 Cocoapods, Carthage, Swift 패키지 관리자 및 Xcode 프로젝트의 프레임워크를 사용하여 통합을 지원합니다. App Center SDK 설명서에서 App Center SDK를 통합하는 방법에 대한 자세한 지침을 읽어보세요.

참고

App Center SDK는 모든 서비스를 사용할 수 있도록 모듈식 접근 방식으로 설계되었습니다. 다음 표의 동등성을 참조하세요.

HockeyApp 클래스 App Center 모듈
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. SDK 설정 코드 업데이트

2.1 애플리케이션 식별자 변환

App Center SDK는 GUID(Globally Unique Identifier) 형식의 애플리케이션 식별자를 사용합니다. HockeyApp 앱 ID는 App Center에서 사용할 수 있지만 다른 형식으로 변환해야 합니다. 식별자를 변환하려면 4개의 하이픈을 추가하여 8-4-4-4-12 표현을 가져와야 합니다.

이전(HockeyApp): 00112233445566778899aabbccddeeff

이후(App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 애플리케이션 코드에서 SDK 초기화 바꾸기

  1. AppDelegate 클래스에서 다음 가져오기를 바꿉니다.

    이전:

    @import HockeySDK;
    
    import HockeySDK
    

    이후:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    @import AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. 등록 코드 바꾸기

    메서드를 didFinishLaunchingWithOptions 찾고 HockeyApp 코드 발생을 바꿉니다.

    이전:

    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
    
    BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER")
    BITHockeyManager.shared().start()
    BITHockeyManager.shared().authenticator.authenticateInstallation()
    

    이후:

    [MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
    
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
    

    참고

    App Center SDK에는 에 해당하는 [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate]가 없습니다.

  3. [선택 사항] 프로젝트의 Info.plist 수정

    배포를 사용하려는 경우 위의 단계를 수행합니다.

    • 또는 에 대한 URL typesCFBundleURLTypes 새 키를 Info.plist 파일에 추가합니다(XCode에서 Info.plist를 소스 코드로 표시하는 경우).
    • 첫 번째 자식 항목의 키를 또는 CFBundleURLSchemesURL Schemes 변경합니다.
    • URL 체계로 를 입력하고 를 앱의 앱 비밀로 바 ${APP_SECRET}appcenter-${APP_SECRET} 니다.

    이에 대한 자세한 내용은 App Center 배포 설명서를 참조하세요.

  4. 애플리케이션 전체에서 HockeyApp API 호출을 대체합니다. 자세한 API 매핑 테이블은 아래에 제공됩니다.

3. 서비스 및 기능 비교

핵심

기능 HockeyApp App Center
로그 수준 조정 [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
설치 식별 [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
사용자 식별 [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

분석

HockeySDK를 사용하면 기본값별로 메트릭을 수집할 수 있습니다. App Center SDK는 메서드에 클래스 start 를 전달하는 Analytics 경우에만 Analytics 서비스를 등록합니다.

기능 HockeyApp App Center
세션 자동 추적 사용하지 않도록 설정할 수 없음 설명서(사용하지 않도록 설정할 수 없음)
속성을 사용하여 사용자 지정 이벤트 Yes [MSACAnalytics trackEvent:withProperties:]
런타임 시 서비스 사용 안 함 [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

크래시

HockeySDK를 사용하면 기본값별로 크래시 보고를 사용할 수 있습니다. 다음에 앱을 시작할 때 크래시가 즉시 서버로 전송됩니다. App Center SDK는 클래스 start 를 메서드에 전달하는 Crashes 경우에만 크래시 서비스를 등록합니다.

기능 HockeyApp App Center
자동으로 크래시 보내기 [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] 설명서(기본적으로 사용)
테스트 크래시 생성 [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
이전 크래시 정보 [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Mach 예외 처리 기본적으로 사용 안 함 설명서(기본적으로 사용)
추가 메타 데이터 연결 Yes 설명서(대리자에서 첨부할 수 있습니다)
사용자 사용자 지정 대화 상자 setAlertViewHandler 설명서(기본적으로 제공되지 않음)
런타임 시 서비스 사용 안 함 [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

배포

참고

HockeyApp과 달리 App Center 앱 내 업데이트 기능은 App Center 배포 서비스를 사용하여 배포되는 빌드에서만 작동합니다. 디버거가 연결되면 배포가 작동하지 않습니다. 앱이 프라이빗 메일 그룹을 사용하는 경우 App Center 배포 SDK가 추가된 후 처음으로 앱이 설치되고 열리면 브라우저가 열리고 사용자를 인증하고 앱 내 업데이트를 사용하도록 설정합니다. 런타임에 프라이빗 앱 내 업데이트 트랙을 설정하는 경우에도 이 브라우저가 열립니다. 이는 앱의 후속 릴리스에 대해 발생하지 않는 일회성 단계입니다. 자세한 내용은 App Center 배포 설명서를 참조하세요 .

HockeySDK는 기본적으로 앱 내 업데이트를 사용하도록 설정하지 않습니다. App Center SDK는 클래스 start 를 메서드에 전달하는 Distribute 경우에만 앱 내 업데이트 서비스를 등록합니다. 이 모듈은 HockeySDK와 달리 기본적으로 사용하도록 설정됩니다.

기능 HockeyApp App Center
제한된 앱 내 업데이트 [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
런타임 시 서비스 사용 안 함 [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
업데이트 대화 상자 사용자 지정 shouldDisplayUpdateAlertForUpdateManager 문서