macOS 확장 시작

중요

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

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

확장은 크래시 보고만 지원합니다.

컨테이너 앱에 App Center SDK를 추가하는 방법을 알아보려면 App Center macOS 시작 대한 설명서를 참조하세요.

App Center 크래시를 사용하도록 앱 확장에서 App Center macOS SDK 설정을 시작해 보겠습니다.

1. 사전 요구 사항

App Center SDK를 사용하려면 다음 요구 사항을 충족해야 합니다.

  • macOS 프로젝트는 macOS 버전 10.14.4 이상에서 Xcode 13 이상에서 설정됩니다.
  • macOS 10.13 이상에서 실행되는 디바이스를 대상으로 합니다.
  • 크래시 보고 기능을 제공하는 다른 라이브러리는 사용하지 않습니다.

2. App Center 포털에서 앱을 만들어 앱 비밀을 가져옵니다.

App Center 포털에서 앱을 이미 만든 경우 이 단계를 건너뛸 수 있습니다.

  1. appcenter.ms.
  2. 등록하거나 로그인하고 포털의 오른쪽 위 모서리에 있는 파란색 단추를 누르면 새로 추가 라는 내용이 표시되고 드롭다운 메뉴에서 새 앱 추가 를 선택합니다.
  3. 앱의 이름 및 선택적 설명을 입력합니다.
  4. macOS를 OS로 선택하고 Objective-C/Swift를 플랫폼으로 선택합니다.
  5. 오른쪽 아래에 새 앱 추가라는 단추를 누릅니다.

앱을 만든 후에는 App Center 포털의 설정 페이지에서 앱 비밀을 가져올 수 있습니다. 설정 페이지의 오른쪽 위 모서리에서 세로 세로 점을 클릭하고 을 선택하여 Copy app secret 앱 비밀을 가져옵니다.

참고

다른 macOS 프로젝트에서 기존 앱 비밀을 사용하면 부작용이 있습니다. App Center는 동일한 App Center 애플리케이션에서 프로젝트별 필터링을 지원하지 않습니다. 특정 버전에 대한 instance 목록 충돌의 경우 이 버전에 대한 두 프로젝트의 모든 크래시가 구분 없이 나열됩니다. 혼란스러울 수 있습니다.

참고

4.0.0 App Center 버전에서는 호환성이 손상되는 변경이 도입되었습니다. App Center SDK 4.0.0 이상으로 마이그레이션 섹션에 따라 이전 버전에서 App Center를 마이그레이션합니다.

3. App Center SDK 모듈 추가

App Center SDK는 Cocoapods, Carthage 를 통해 또는 프로젝트에 이진 파일을 수동으로 추가하여 앱에 통합할 수 있습니다.

3.1 Cocoapods를 통한 통합

  1. 앱에 App Center 크래시를 포함하려면 다음 종속성을 podfile 에 추가합니다. AppCenter 및 AppCenterCrashes 프레임워크를 가져옵니다.

     pod 'AppCenter/Crashes'
    
  2. 를 실행 pod install 하여 새로 정의된 Pod를 설치하고 프로젝트의 .xcworkspace를 엽니다.

참고

를 실행하는 pod install동안 과 같은 [!] Unable to find a specification for `AppCenter` 오류가 표시되면 를 실행 pod repo update 하여 Cocoapods 리포지토리에서 최신 Pod를 가져와서 를 실행pod install합니다.

이제 애플리케이션에 프레임워크를 통합했으므로 이제 SDK를 시작하고 App Center 서비스를 사용할 차례입니다.

3.2 Carthage를 통한 통합

다음은 종속성을 빌드하고 이진 프레임워크를 제공하는 분산형 종속성 관리자인 Carthage 버전 0.30 이상을 사용하여 Xcode 프로젝트에서 App Center SDK를 통합하는 방법에 대한 단계입니다.

  1. 앱에 App Center를 Cartfile 포함하려면 다음 종속성을 에 추가합니다. 이렇게 하면 모든 프레임워크가 풀됩니다. 그런 다음 앱에서 사용할 프레임워크만 연결할 수 있습니다.

    # Use the following line to get the latest version of App Center
    github "microsoft/appcenter-sdk-apple"
    
    # Use the following line to get the specific version of App Center
    github "microsoft/appcenter-sdk-apple" ~> X.X.X
    
  2. carthage update을 실행합니다. 그러면 종속성이 Carthage/Checkouts 폴더로 가져온 다음 각 프레임워크를 빌드합니다.

  3. 애플리케이션 대상의 일반 설정 탭을 엽니다. Carthage/Build/ 폴더에서 AppCenter.frameworkAppCenterCrashes.framework 파일을 Xcode의 프로젝트 탐색기로 끌어서 놓습니다. AppCenter.framework는 SDK를 시작하는 데 필요합니다. 프로젝트에 추가되지 않으면 다른 모듈이 작동하지 않고 앱이 컴파일되지 않습니다.

  4. 대화 상자가 나타나 앱 대상이 선택되어 있는지 확인합니다. 마침을 클릭합니다.

    참고

    빌드 단계에서 를 사용하는 carthage copy-frameworks 경우 정적 프레임워크로 제공되므로 App Center SDK를 추가하면 안 됩니다.

이제 애플리케이션에 프레임워크를 통합했으므로 이제 SDK를 시작하고 App Center 서비스를 사용할 차례입니다.

3.3 Swift 패키지 관리자를 통한 통합

  1. Xcode 메뉴에서 파일 > 빠른 패키지 > 패키지 패키지 종속성 추가를 클릭합니다.
  2. 표시되는 대화 상자에서 리포지토리 URL https://github.com/microsoft/appcenter-sdk-apple.git을 입력합니다.
  3. 버전에서 다음 주까지를 선택하고 기본 옵션을 사용합니다.
  4. 패키지 제품 열에서 필요한 모듈을 선택합니다.

이제 애플리케이션에 프레임워크를 통합했으므로 이제 SDK를 시작하고 App Center 서비스를 사용할 차례입니다.

참고

SwiftPM을 통해 App Center를 통합하고 앱의 확장 대상에서도 사용하려는 경우 구성에서 제공해야 DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC=YES 합니다. 이는 모듈을 여러 대상에 연결하는 데 SwiftPM 제한 사항을 방지하는 데 필요합니다.

3.4 이진 파일을 프로젝트에 복사하여 통합

다음은 Xcode 프로젝트에서 컴파일된 이진 파일을 통합하여 앱 확장에 대한 App Center 크래시를 설정하는 방법에 대한 단계입니다.

참고

App Center SDK는 의 XCframework사용을 지원합니다. XCframeworks를 프로젝트에 통합하려면 릴리스 페이지에서AppCenter-SDK-Apple-XCFramework.zip 다운로드하고 압축을 풉니다. 결과 폴더 콘텐츠는 플랫폼별 콘텐츠가 아니라 각 모듈에 대한 XCframeworks를 포함합니다. 아래 설명된 대로 일반적인 프레임워크와 동일한 방식으로 통합할 수 있습니다.

  1. zip 파일로 제공되는 App Center SDK 프레임워크를 다운로드합니다.

  2. 파일 압축을 풀면 각 플랫폼 폴더의 각 App Center 서비스에 대해 서로 다른 프레임워크가 포함된 AppCenter-SDK-Apple 이라는 폴더가 표시됩니다. 호출 AppCenter 된 프레임워크는 서로 다른 모듈 간에 공유되는 코드를 포함하기 때문에 프로젝트에 필요합니다.

  3. [선택 사항] 타사 라이브러리에 대한 하위 디렉터리를 만듭니다.

    • 타사 라이브러리는 일반적으로 공급업체라고 하는 하위 디렉터리에 있는 것이 가장 좋습니다. 프로젝트가 라이브러리에 대한 하위 디렉터리로 구성되지 않은 경우 지금 공급업체 하위 디렉터리를 만듭니다.
    • Xcode 프로젝트 내에 Vendor 라는 그룹을 만들어 디스크의 파일 구조를 모방합니다.
  4. Finder에서 압축을 푼 AppCenter-SDK-Apple 폴더를 열고 원하는 위치에 있는 프로젝트의 폴더에 폴더를 복사합니다. 폴더에는 App Center SDK가 지원하는 다른 플랫폼의 하위 폴더에 프레임워크가 포함되어 있으므로 필요하지 않은 하위 폴더를 삭제해야 할 수 있습니다.

  5. Xcode에서 프로젝트에 SDK 프레임워크를 추가합니다.

    • 프로젝트 탐색기가 표시되는지 확인합니다(⌘+1).
    • 이제 Finder(이전 단계의 위치)에서 AppCenter.frameworkAppCenterCrashes.framework 를 Xcode의 프로젝트 탐색기로 끌어서 놓습니다. AppCenter.framework는 SDK를 시작하는 데 필요합니다. 프로젝트에 추가되지 않으면 다른 모듈이 작동하지 않고 앱 확장이 컴파일되지 않습니다.
    • 대화 상자가 나타나 앱 확장 대상이 선택되어 있는지 확인합니다. 마침을 클릭합니다.

이제 앱 확장에 프레임워크를 통합했으므로 이제 SDK를 시작하고 App Center 서비스를 사용해야 합니다.

4. SDK 시작

App Center를 사용하려면 사용할 모듈에 옵트인해야 합니다. 기본적으로 모듈은 시작되지 않으며 SDK를 시작할 때 각 모듈을 명시적으로 호출해야 합니다.

4.1 import 문 추가

앱 확장 프로그램의 진입점을 포함하는 파일에 다음 줄을 삽입합니다. 예를 들어 Today 확장의 기본 ViewController 파일 내부입니다.

@import AppCenter;
@import AppCenterCrashes;
import AppCenter
import AppCenterCrashes

4.2 메서드 추가 start:withServices:

앱 확장의 진입점에 다음 줄을 삽입합니다. 예를 들어 오늘 확장의 기본 ViewController 파일의 메서드 내에서viewDidLoad.

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

현재는 애플리케이션 확장에 대해 크래시 보고만 지원됩니다.

4.3 자리 표시자를 앱 비밀로 바꾸기

텍스트를 애플리케이션 확장의 실제 값으로 바꿔 {Your App Secret} 야 합니다. 앱 비밀은 App Center 포털의 시작 페이지 또는 설정 페이지에서 찾을 수 있습니다.

시작 페이지에는 앱 비밀이 포함된 위의 코드 샘플이 포함되어 있으며 전체 샘플을 복사하여 붙여넣을 수 있습니다.

SDK가 자동으로 수집하는 포털에서 크래시 데이터를 시각화하도록 설정되었습니다.

App Center 크래시에 대한 설명서를 참조하여 앱 확장을 사용자 지정하고 고급 기능을 사용하는 방법을 알아봅니다.