macOS용 Objective-C 또는 Swift 앱 빌드

중요

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

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

첫 번째 Mac 앱 빌드를 시작하려면 다음 단계를 수행합니다.

  1. 리포지토리 서비스 계정(GitHub, Bitbucket, VSTS, Azure DevOps)에 연결합니다.
  2. 앱이 있는 리포지토리 및 분기를 선택합니다.
  3. 빌드의 프로젝트 또는 작업 영역과 빌드하려는 체계를 구성합니다.

참고

앱을 배포하려면 빌드가 인증서로 서명된 코드여야 합니다. 프로비저닝 프로필은 선택 사항입니다. 또한 Mac 설치 관리자용 빌드는 현재 지원되지 않습니다.

1. 리포지토리 연결

리포지토리 서비스 계정에 연결해야 합니다. 계정이 연결되면 Mac 프로젝트가 있는 리포지토리를 선택합니다. 리포지토리에 대한 빌드를 설정하려면 관리자 및 끌어오기 권한이 필요합니다.

2. 분기 선택

리포지토리를 선택한 후 빌드할 분기를 선택합니다. 기본적으로 모든 활성 분기가 나열됩니다.

3. 첫 번째 빌드 설정

첫 번째 빌드 전에 Mac 프로젝트를 구성해야 합니다.

3.1. 프로젝트/작업 영역 및 스키마

빌드 구성의 경우 Xcode 프로젝트 또는 Xcode 작업 영역 및 공유 구성표가 필요합니다. App Center는 분기의 프로젝트, 작업 영역 및 공유 체계를 자동으로 검색합니다. 빌드하려는 프로젝트 또는 작업 영역과 해당 체계를 선택합니다.

스키마를 찾을 수 없는 경우 로 빌드하려는 스키마가 공유되고 스키마의 컨테이너가 선택한 프로젝트 또는 작업 영역인지 확인합니다. 또한 이러한 변경 내용이 빌드를 설정하는 분기에 체크 인되었는지 확인합니다.

스키마를 공유로 표시

3.2. Xcode 버전

빌드를 실행할 Xcode 버전을 선택합니다.

3.3. 빌드 트리거

기본적으로 개발자가 구성된 분기로 푸시할 때마다 새 빌드가 트리거됩니다. 이를 "연속 통합"이라고 합니다. 새 빌드를 수동으로 트리거하려는 경우 빌드 구성에서 이 설정을 변경할 수 있습니다.

3.4. 빌드 번호 증분

사용하도록 설정 CFBundleVersion 하면 앱의 Info.plist에 있는 가 각 빌드에 대해 자동으로 증가합니다. 변경 내용은 빌드 전 발생하며 리포지토리에 커밋되지 않습니다.

3.5. 테스트

선택한 스키마에 테스트 대상이 선택된 테스트 작업이 있는 경우 각 빌드의 일부로 실행되도록 테스트를 구성할 수 있습니다. App Center는 현재 XCTest 단위 테스트를 실행할 수 있습니다. App Center는 Mac 빌드에 대한 시작 테스트를 지원하지 않습니다.

3.6. 코드 서명

빌드에 성공하면 파일이 생성 .app 됩니다. 디바이스에 빌드를 설치하려면 서명된 인증서여야 합니다. 분기에서 생성된 빌드에 서명하려면 구성 창에서 코드 서명을 사용하도록 설정하고 인증서의 암호와 함께 유효한 인증서(.p12)를 업로드합니다. Xcode 프로젝트의 설정은 업로드하는 파일과 호환되어야 합니다. 프로비저닝 프로필은 코드 서명에 선택 사항입니다.

현재 App Center는 다음과 같은 서명 구성만 지원합니다.

  • 개발 인증서만 있는 개발 내보내기 메서드를 사용하여 수동 서명
  • 개발자 ID 내보내기 방법을 사용하여 수동 서명
  • 개발 내보내기 방법을 사용하여 자동 서명

App Center의 macOS 코드 서명 가이드공식 Apple 개발자 가이드에서 코드 서명에 대해 자세히 확인할 수 있습니다.

3.7. CocoaPods

App Center는 선택한 분기를 검사하고 Podfile을 찾으면 모든 빌드가 시작될 때 자동으로 단계를 수행 pod install 합니다. 이렇게 하면 모든 종속성이 설치됩니다.

리포지토리에 이미 /Pods 폴더가 있는 경우 App Center는 리포지토리의 Pod를 체크 인했으며 더 이상 를 실행 pod install하지 않는다고 가정합니다.

3.8. 메일 그룹에 배포

분기에서 성공적으로 서명된 각 빌드를 이전에 만든 배포 그룹으로 배포하도록 구성할 수 있습니다. 배포 섹션 내에서 새 메일 그룹을 추가할 수 있습니다. 앱에 액세스할 수 있는 모든 사용자를 포함하는 "협력자"라는 기본 메일 그룹이 항상 있습니다.

구성을 저장하면 새 빌드가 자동으로 시작됩니다.

4. 결과 빌드

빌드가 트리거되면 다음 상태일 수 있습니다.

  • queued - 빌드가 큐에 대기되어 리소스가 해제될 때까지 기다립니다.
  • building - 빌드에서 미리 정의된 작업을 실행하고 있습니다.
  • succeeded - 빌드가 성공적으로 완료되었습니다.
  • failed - 빌드에서 실패를 발견하여 완료하지 못했습니다. 빌드 로그를 다운로드하고 검사하여 빌드 문제를 해결할 수 있습니다.
  • canceled - 사용자 작업으로 인해 빌드가 취소되었거나 시간이 초과되었습니다.

4.1. 빌드 로그

완료된 빌드(성공 또는 실패)의 경우 로그를 다운로드하여 빌드가 어떻게 진행되었는지 자세히 알아보세요. App Center는 다음 파일이 포함된 보관 파일을 제공합니다.

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

빌드 단계별 로그(보관 디렉터리에 있음 build )는 어떤 단계와 빌드가 실패한 이유를 문제 해결 및 이해하는 데 유용합니다.

4.2. 앱(.app)

파일은 .app Mac 앱이 포함된 Mac 애플리케이션 보관 파일입니다.

  • 빌드가 올바르게 .app 서명된 경우 서명할 때 사용되는 프로비저닝 프로필에 해당하는 디바이스에 파일을 설치할 수 있습니다. App Center를 사용하여 코드 서명 및 배포에 대한 자세한 내용은 App Center의 macOS 코드 서명 설명서에서 확인할 수 있습니다.
  • 빌드에 서명되지 않은 경우 개발자가 .app 파일에 서명할 수 있습니다. 예를 들어 codesign을 사용합니다.

4.3. 기호 파일(.dsym)

파일에는 .dsym 앱에 대한 디버그 기호가 포함되어 있습니다.

  • 충돌 보고 모듈을 사용하도록 설정한 상태에서 앱에 App Center SDK를 추가한 경우 크래시 보고 서비스에는 사람이 읽을 수 있는(기호화된) 충돌 보고서를 표시하기 위해 빌드에 이 .dsym 파일이 필요합니다.
  • HockeyApp SDK와 같이 앱에서 충돌 보고를 위해 다른 SDK를 추가한 경우 서비스에서 사람이 읽을 수 있는 충돌 보고서를 표시하도록 파일이 필요합니다 .dsym .

코드가 에 서명.app할 때 파일은 .dsym 변경되지 않습니다. 나중에 .dsym 빌드에 코드를 서명하기로 결정한 경우 코드 서명 전에 생성된 가 여전히 유효합니다.

내부 빌드

프로젝트를 빌드하기 위해 Xcode 프로젝트 및 작업 영역을 빌드, 쿼리, 분석, 테스트 및 보관할 수 있는 명령줄 도구인 를 사용합니다 xcodebuild.

지원되는 버전 및 요구 사항

빌드 컴퓨터 버전 세부 정보는 새 버전의 macOS가 추가 될 때마다 업데이트됩니다. 빌드 VM에서 가능한 한 빨리 Apple에서 릴리스한 최신 버전을 포함합니다.