macOS 시작

중요

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

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

App Center SDK는 모든 서비스를 사용할 수 있도록 모듈식 아키텍처를 사용합니다.

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

1. 사전 요구 사항

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

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

참고

App Center SDK는 6월 SDK 릴리스에서 Xcode 10에 대한 지원을 삭제 합니다.

App Center SDK 분석 및 크래시는 XCFramework 또는 SwiftPM을 통해 Mac Catalyst와 호환됩니다.

App Center SDK는 Apple Silicon과 호환됩니다.

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

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

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

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

3. App Center SDK 모듈 추가

MacOS용 App Center SDK는 Cocoapods, Carthage, Swift 패키지 관리자 를 통해 또는 프로젝트에 이진 파일을 수동으로 추가하여 앱에 추가할 수 있습니다.

참고

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

3.1 Cocoapods를 통한 통합

  1. App Center Analytics 및 App Center 크래시를 앱에 포함하려면 다음 종속성을 podfile 에 추가합니다. AppCenter, AppCenterAnalyticsAppCenterCrashes 프레임워크를 가져옵니다. 대신 앱에서 사용할 서비스를 지정할 수 있습니다. 각 서비스에는 자체 하위 지정이 있으며 모두 에 의존합니다 AppCenter. 자동으로 끌어오게 됩니다.

     # Use the following line to use App Center Analytics and Crashes.
     pod 'AppCenter'
    
     # Use the following lines if you want to specify which service you want to use.
     pod 'AppCenter/Analytics'
     pod 'AppCenter/Crashes'
    
  2. 를 실행 pod install 하여 새로 정의된 Pod를 설치하고 프로젝트의 .xcworkspace를 엽니다.

이제 애플리케이션에 프레임워크를 통합했으므로 이제 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 --platform macOS을 실행합니다. 그러면 종속성이 Carthage/Checkouts 폴더로 가져온 다음 각 프레임워크를 빌드합니다.

  3. 애플리케이션 대상의 일반 설정 탭을 엽니다. Carthage/Build/macOS 폴더에서 AppCenter.framework, AppCenterAnalytics.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 프로젝트에서 컴파일된 이진 파일을 통합하여 macOS 앱에 대한 App Center Analytics 및 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.framework, AppCenterAnalytics.frameworkAppCenterCrashes.framework를 Xcode의 프로젝트 탐색기로 끌어서 놓습니다. SDK를 시작하려면 AppCenter.framework가 필요합니다. 누락된 경우 다른 모듈이 작동하지 않으며 앱이 컴파일되지 않습니다.
    • 대화 상자가 나타나 앱 대상이 선택되어 있는지 확인합니다. 마침을 클릭합니다.

참고

SDK 이진 파일은 macOS 프레임워크 규칙에 따라 패키지되지 않습니다. 그 이유는 Mac용 App Center SDK가 기존의 프레임워크가 아니라 정적 프레임워크이기 때문입니다. 정적 프레임워크로 연결해야 합니다. 이진 파일을 포함하지 않고 "번들 리소스 복사" 빌드 단계에 포함하지 않도록 합니다.

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

4. SDK 시작

App Center를 사용하려면 사용하려는 모듈을 옵트인해야 합니다. 기본적으로 모듈은 시작되지 않으며 SDK를 시작할 때 각 모듈을 호출해야 합니다. 확장을 개발하는 경우 확장 시작 페이지를 참조하세요.

4.1 import 문 추가

프로젝트의 AppDelegate 파일을 열고 다음 import 문을 추가합니다.

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

4.2 메서드 추가 start:withServices:

앱의 didFinishLaunchingWithOptions 대리자 메서드에 다음 줄을 삽입합니다.

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

Catalyst 애플리케이션이 있는 경우 iOS 및 macOS 모두에 대한 앱 비밀을 동시에 전달할 수 있습니다.

[MSACAppCenter start:@"ios={Your iOS App Secret};macos={Your macOS App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret:"ios={Your iOS App Secret};macos={Your macOS App Secret}", services: [Analytics.self, Crashes.self])

경고

소스 코드에 앱 비밀을 포함하지 않는 것이 좋습니다.

App Center 서비스를 별도로 시작해야 하는 경우 다음을 수행해야 합니다.

  1. 앱 비밀을 구성하거나 시작합니다.
  2. 코드를 여러 번 호출할 수 있는 경우 App Center가 이미 구성된 경우 검사.
  3. 앱 비밀 없이 필요한 서비스를 시작합니다.
[MSACAppCenter configureWithAppSecret:@"{Your App Secret}"];
if ([MSACAppCenter isConfigured]) {
   [MSACAppCenter startService:[MSACAnalytics class]];
   [MSACAppCenter startService:[MSACCrashes class]];
}
AppCenter.configure(withAppSecret: "{Your App Secret}")
if AppCenter.isConfigured {
    AppCenter.startService(Analytics.self)
    AppCenter.startService(Crashes.self)
}

4.3 자리 표시자를 앱 비밀로 바꿉니다.

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

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

위의 예제에서는 (start(withAppSecret:services:)Swift의 경우) 메서드를 사용하고 start:withServices App Center Analytics 및 App Center 크래시를 모두 포함하는 방법을 보여 줍니다.

두 서비스 중 하나를 사용하지 않으려면 위의 메서드 호출에서 해당 매개 변수를 제거합니다.

시작 메서드에서 각 모듈을 매개 변수로 명시적으로 지정하지 않는 한 해당 App Center 서비스를 사용할 수 없습니다. start:withServices 또한 (start(withAppSecret:services:) Swift의 경우) API는 앱 수명 주기에서 한 번만 사용할 수 있습니다. 다른 모든 호출은 콘솔에 경고를 기록하며 첫 번째 호출에 포함된 모듈만 사용할 수 있습니다.

예를 들어 App Center Analytics에 온보딩하려면 다음과 같이 (start(withAppSecret:services:)Swift의 경우) API 호출을 수정 start:withServices 해야 합니다.

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

4.4 샌드박스 앱에 대한 인터넷 기능 추가

앱이 앱 샌드박스를 사용하는 경우 나가는(클라이언트) 연결을 허용하여 앱이 인터넷에 액세스할 수 있도록 하는 기능을 설정해야 합니다. Xcode 9는 기본적으로 앱 샌드박스를 사용하도록 설정하지만 나가는 연결에 대한 기능을 명시적으로 설정해야 합니다.

프로젝트 탐색기에서 프로젝트를 선택하고 기능 탭을 선택하고 앱이 샌드박스를 사용하는 경우 나가는 연결을 사용하도록 설정합니다.


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

App Center Analytics 문서App Center 크래시 문서를 확인하여 각 서비스의 고급 기능을 사용자 지정하고 사용하는 방법을 알아봅니다.