다음을 통해 공유


iOS 시작하기

중요합니다

Visual Studio App Center는 2026년 6월 30일까지 계속 지원되는 분석 및 진단 기능을 제외하고 2025년 3월 31일에 사용 중지되었습니다. 자세히 알아보기.

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

App Center SDK, 일반 데이터 보호 규정FAQ 페이지에서 수집된 데이터에 대한 정보를 App Center에서 찾을 수 있습니다. 또한 FAQ 에는 App Store 개인 정보 구성을 위해 제공해야 하는 답변이 포함되어 있습니다.

App Center 분석 및 App Center 크래시를 사용하도록 앱에서 App Center iOS SDK를 설정하는 방법을 시작해 보겠습니다. 앱에 App Center 배포를 추가하려면 App Center 배포에 대한 설명서를 참조하세요.

1. 사전 요구 사항

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

  • iOS 프로젝트는 macOS 버전 10.14.4 이상에서 Xcode 13 이상에서 설정됩니다.
  • ios 11.0 이상에서 실행되는 디바이스를 대상으로 합니다.
  • 다른 크래시 리포팅 기능을 제공하는 라이브러리는 사용하지 않습니다(이 조건은 App Center 크래시만 해당됩니다).
  • CocoaPods를 사용하여 App Center를 통합하는 경우 CocoaPods 버전 1.10 이상이 필요합니다.

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

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

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

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

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

3. App Center SDK 모듈 추가

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

비고

4.0.0 버전의 App Center에서 중대한 변경 사항이 도입되었습니다. App Center SDK 4.0.0 이상으로 마이그레이션 섹션에 따라 이전 버전에서 App Center를 마이그레이션합니다.

3.1 Cocoapods를 통한 통합

비고

ARM64 시뮬레이터(Apple Silicon Mac에서 실행되는 Xcode에서 시작된 경우)는 CocoaPods를 통해 지원되지 않습니다. 작동하려면 다른 통합 방법을 사용하는 것이 좋습니다.

  1. App Center 분석 및 App Center 크래시를 앱에 포함하려면 podfile에 다음 종속성을 추가하세요. 이 작업은 AppCenter, AppCenterAnalytics 및 AppCenterCrashes 프레임워크에서 가져옵니다. 대신 앱에서 원하는 서비스를 지정할 수 있습니다. 각 서비스는 자체적인 하위 사양을 가지고 있으며 모두 AppCenter에 의존합니다. 자동으로 끌어오게 됩니다.

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

비고

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

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

3.2 Carthage를 통한 통합

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

비고

Xcode 12에서는 Carthage 통합이 기본적으로 작동하지 않습니다. 제대로 작동하려면 이 Carthage 지침을 참조하세요.

  1. 다음 종속성을 Cartfile에 추가하여 App Center를 포함합니다. 이러한 종속성은 모든 프레임워크에서 가져옵니다. 그런 다음 앱에서 사용하려는 프레임워크만 연결할 수 있습니다.

    # 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 폴더에 종속성을 가져오려면 실행 합니다. 그런 다음 각 프레임워크를 빌드합니다.

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

  4. 대화 상자가 표시되고 앱 대상이 선택되어 있는지 확인합니다. 그런 다음 마침을 클릭합니다.

    비고

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

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

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

  1. Xcode 메뉴에서 파일 > Swift 패키지 > 패키지 종속성 추가를 클릭합니다.
  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 프로젝트에서 컴파일된 이진 파일을 통합하여 iOS 앱에 대한 App Center 분석 및 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의 프로젝트 탐색기로 끌어서 놓습니다. AppCenter.framework는 SDK를 시작하는 데 필요합니다. 프로젝트에 추가되지 않으면 다른 모듈이 작동하지 않고 앱이 컴파일되지 않습니다.
    • 대화 상자가 표시되고 앱 대상이 선택되어 있는지 확인합니다. 그런 다음 마침을 클릭합니다.

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

4. SDK 시작

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

아래 지침은 사용 중인 수명 주기에 따라 약간 다릅니다. Xcode 12부터 "Swift UI 앱"(Xcode 12에서 기본적으로 선택됨) 및 "UI 키트 AppDelegate"의 두 수명 주기 중 하나를 선택할 수 있습니다. 확장을 개발하는 경우 확장 시작 페이지를 참조하세요.

4.1 import 문 추가

프로젝트의 AppDelegate 파일(UI 키트 AppDelegate 수명 주기용) 또는 <ProjectName>App.swift 파일(Swift UI 앱 수명 주기의 경우)을 열고 다음 import 문을 추가합니다.

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

4.2 메서드 추가 start:withServices:

UI 키트 AppDelegate

대리자 메서드에 didFinishLaunchingWithOptions 초기화 코드를 추가합니다.

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

Swift UI 앱 수명 주기

App Center SDK가 Swift UI에서 올바르게 작동하는지 확인하려면 UI가 로드된 후 초기화합니다. 이 작업을 수행하는 가장 간단한 방법은 UIApplicationDelegate를 사용하는 것입니다.

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
          AppCenter.start(withAppSecret: "{Your App Secret}", services:[
            Crashes.self, Analytics.self, Distribute.self])
        return true
    }
}

그런 다음 UIApplicationDelegateAdaptorstruct에서 사용합니다.

@main
struct YourAppName: App {

  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

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

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:withServices 메서드 (start(withAppSecret:services:) Swift의 경우)를 사용하고 App Center Analytics 및 App Center 크래시를 모두 포함하는 방법을 보여 줍니다.

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

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

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

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

좋습니다, 이제 SDK가 자동으로 수집하는 포털에서 분석 및 충돌 데이터를 시각화할 준비가 되었습니다.

App Center Analytics 문서App Center 충돌 문서를 참조하여 두 서비스의 고급 기능을 사용자 지정하고 사용하는 방법을 알아봅니다.

앱 내 업데이트를 시작하는 방법을 알아보려면 App Center 배포 설명서를 참조하세요.