iOS용 Objective-C 또는 Swift 앱 빌드

중요

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

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

첫 번째 네이티브 iOS 앱을 빌드하려면 다음 작업을 수행해야 합니다.

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

참고

실제 디바이스에서 앱을 실행하려면 빌드가 유효한 프로비저닝 프로필 및 인증서로 서명된 코드여야 합니다.

1. 리포지토리 연결

이전에 리포지토리 서비스 계정에 연결하지 않은 경우 연결에 권한을 부여해야 합니다. 계정이 연결되면 iOS 프로젝트가 있는 리포지토리를 선택합니다. App Center를 사용하려면 계정에 리포지토리에 대한 빌드를 설정하는 관리 및 끌어오기 권한이 있어야 합니다.

2. 분기 선택

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

3. 첫 번째 빌드 설정

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

3.1 프로젝트/작업 영역 및 체계

빌드 구성의 경우 Xcode 프로젝트 또는 Xcode 작업 영역 및 공유 구성표가 필요합니다. App Center는 분기의 프로젝트, 작업 영역 및 공유 스키마(스키마가 올바른 폴더에 있는 한)를 자동으로 검색합니다. 빌드하려는 프로젝트 또는 작업 영역과 해당 체계를 선택합니다.

스키마를 찾을 수 없는 경우 원하는 스키마가 공유되고 해당 컨테이너가 선택한 프로젝트 또는 작업 영역인지 확인합니다. 또한 해당 변경 내용이 구성 중인 분기에 체크 인되었는지 확인해야 합니다.

파일을 내보내 .xcscheme 프로젝트의 아무 곳에도 배치할 수 없습니다. 폴더에 xcshareddata/xcschemes/ 있어야 합니다. 이 경로가 파일에 없는지 확인합니다 .gitignore .

스키마를 공유로 표시

3.2. Xcode 버전

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

3.3. 빌드 트리거

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

3.4. 빌드 번호 증분

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

참고

증분 빌드 번호가 작동하도록 하려면 의 이름을 .plist file*Info.plistProduction-Info.plist지정하세요.

3.5. 테스트

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

3.6. 코드 서명

실제 디바이스용 iOS 앱을 빌드하려면 유효한 자격 증명으로 서명해야 합니다. App Center에서 빌드에 서명하려면 구성 창에서 코드 서명을 사용하도록 설정하고 인증서의 암호 와 함께 프로비저닝 프로필(.mobileprovision) 및 유효한 인증서(.p12)를 업로드합니다.

Xcode 프로젝트의 설정은 업로드 중인 파일과 호환되어야 합니다. 공식 Apple 개발자 설명서에서 코드 서명에 대해 자세히 확인할 수 있습니다.

앱 또는 watchOS 확장이 있는 앱에는 확장당 추가 프로비저닝 프로필이 서명되어야 합니다.

3.7. 실제 디바이스에서 성공적인 빌드 시작

새로 생성된 파일을 사용하여 앱이 .ipa 실제 디바이스에서 시작되는지 테스트합니다. 실제 디바이스에서 시작하면 총 빌드 시간에 약 10분이 더 추가됩니다. 시작 테스트를 구성하는 방법에 대해 자세히 알아보세요.

3.8. CocoaPods

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

경고

리포지토리에 이미 /Pods 폴더가 있는 경우 App Center는 리포지토리의 Pod를 체크 인했으며 더 이상 을 수행 pod install하지 않는다고 가정합니다. /Pods 폴더를 제거하거나 수정하는 경우 업데이트가 적용되려면 또는 Save and Build 을 사용하여 Save 빌드 구성을 수동으로 다시 저장해야 할 수 있습니다.

3.9. 메일 그룹에 배포

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

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

4. 결과 빌드

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

  • queued - 빌드가 리소스가 해제될 때까지 대기 중입니다.
  • building - 빌드에서 미리 정의된 작업을 실행하고 있습니다.
  • 성공 - 빌드가 완료되고 성공했습니다.
  • 실패 - 빌드가 완료되었지만 실패했습니다. 빌드 로그를 검사하여 잘못된 문제를 해결할 수 있습니다.
  • 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. 앱(.ipa)

파일은 .ipa iOS 앱을 포함하는 iOS 디바이스 애플리케이션 보관 파일입니다.

  • 서명되지 않은 빌드는 파일을 생성 .ipa 하지 않습니다. 서명되지 않은 빌드의 아티팩트 는 .xcarchive Xcode Archives 구성 도우미를 .ipa 사용하여 파일을 생성하는 데 사용할 수 있는 파일입니다.
  • 빌드가 올바르게 .ipa 서명된 경우 서명할 때 사용되는 프로비저닝 프로필에 해당하는 실제 디바이스에 파일을 설치할 수 있습니다. App Center를 사용하여 코드 서명 및 배포에 대한 자세한 내용은 App Center의 iOS 코드 서명 설명서에서 확인할 수 있습니다.
  • 빌드가 서명 .ipa 되지 않은 경우 개발자가 파일을 서명하거나(예: codesign을 사용하여 로컬로) 다른 용도로 사용할 수 있습니다(예: 실제 디바이스에서 UI 테스트를 위해 테스트 서비스에 업로드하거나 시뮬레이터에서 실행).

4.3. 기호 파일(.dsym)

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

  • 이전에 앱에서 크래시 보고 모듈을 사용하도록 설정한 App Center SDK를 통합한 경우 크래시 보고 서비스는 사람이 읽을 수 있는(기호화된) 크래시 보고서를 표시하기 위해 빌드에 이 .dsym 파일이 필요합니다.
  • 이전에 앱에서 크래시 보고 목적으로 다른 SDK를 통합한 경우(예: HockeyApp SDK) 해당 서비스는 파일이 사람이 읽을 수 있는 크래시 보고서를 표시해야 합니다 .dsym .

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

지원되는 버전 및 요구 사항

빌드 머신 Xcode 버전 세부 정보는 새 버전의 Xcode가 추가 될 때마다 업데이트됩니다. Apple에서 릴리스한 최신 버전을 주시하고 빌드를 실행하는 데 사용되는 VM에 가능한 한 빨리 포함합니다.