다음을 통해 공유


iOS 시작

중요

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

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

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. OS로 iOS를 선택하고 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 Analytics 및 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를 엽니다.

참고

를 실행하는 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를 통합하는 방법에 대한 단계입니다.

참고

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

  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/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 메뉴에서 파일 > 빠른 패키지 > 패키지 패키지 종속성 추가를 클릭합니다.
  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).
    • 이제 & 끌어 서 AppCenter.framework, AppCenterAnalytics.frameworkAppCenterCrashes.framework 를 Finder(이전 단계의 위치)에서 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
    }
}

그런 다음 에서 를 사용합니다UIApplicationDelegateAdaptor.struct

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

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

각 모듈을 start 메서드에서 매개 변수로 명시적으로 지정하지 않으면 해당 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])

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

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

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