Skip to content

번역 🌍

이 페이지를 번역하거나 기존 번역을 개선할 수 있습니다.

기여

미리 보기

앱을 빌드할 때 다른 사람들과 공유하여 피드백을 받고 싶을 수 있습니다. 전통적으로 팀은 앱을 빌드하고 서명하여 Apple의 TestFlight와 같은 플랫폼에 푸시하는 방식으로 이 작업을 수행했습니다. 하지만 이 과정은 번거롭고 느릴 수 있으며, 특히 동료나 친구로부터 빠른 피드백을 받고자 할 때는 더욱 그렇습니다.

이 과정을 더욱 간소화하기 위해 Tuist는 앱의 미리보기를 생성하고 누구와도 공유할 수 있는 방법을 제공합니다.

장치 빌드에 서명해야 함

디바이스용으로 빌드할 때 앱이 올바르게 서명되었는지 확인하는 것은 현재 사용자의 책임입니다. 향후 이 과정을 간소화할 계획입니다.

bash
tuist build App # Build the app for the simulator
tuist build App -- -destination 'generic/platform=iOS' # Build the app for the device
tuist share App
bash
xcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator
xcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device
tuist share App --configuration Debug --platforms iOS
tuist share App.ipa # Share an existing .ipa file

이 명령은 시뮬레이터나 실제 기기에서 앱을 실행할 수 있도록 다른 사람과 공유할 수 있는 링크를 생성합니다. 아래 명령을 실행하기만 하면 됩니다:

bash
tuist run {url}
tuist run --device "My iPhone" {url} # Run the app on a specific device

.ipa 파일을 공유할 때 미리보기 링크를 사용하여 모바일 장치에서 직접 앱을 다운로드할 수 있습니다. .ipa 미리 보기 링크는 기본적으로 공개 입니다. 향후에는 링크를 비공개로 설정할 수 있는 옵션이 제공되므로 링크를 받은 사람이 앱을 다운로드하려면 자신의 Tuist 계정으로 인증해야 합니다.

tuist run 을 사용하면 최신, 브랜치 이름 또는 특정 커밋 해시와 같은 지정자를 기반으로 최신 미리보기를 실행할 수도 있습니다:

bash
tuist run App@latest # Runs latest App preview associated with the project's default branch
tuist run App@my-feature-branch # Runs latest App preview associated with a given branch
tuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit sha

트랙

트랙을 사용하면 미리 보기를 이름 지정된 그룹으로 구성할 수 있습니다. 예를 들어 내부 테스터를 위한 베타 트랙과 자동화된 빌드를 위한 야간 트랙이 있을 수 있습니다. 트랙은 느리게 생성되므로 공유할 때 트랙 이름을 지정하기만 하면 트랙이 없는 경우 자동으로 생성됩니다.

특정 트랙에서 미리보기를 공유하려면 --track 옵션을 사용하세요:

bash
tuist share App --track beta
tuist share App --track nightly

이 기능은 다음과 같은 경우에 유용합니다:

  • 미리보기 구성하기: 목적별 그룹 미리보기(예: 베타, 야간, 내부)
  • 인앱 업데이트: Tuist SDK는 트랙을 사용하여 사용자에게 알릴 업데이트를 결정합니다.
  • 필터링: 튜이스트 대시보드에서 트랙별 미리보기를 쉽게 찾고 관리할 수 있습니다.

미리보기 표시 여부

프로젝트가 속한 조직에 대한 액세스 권한이 있는 사람만 미리 보기에 액세스할 수 있습니다. 만료되는 링크에 대한 지원도 추가할 계획입니다.

Tuist macOS 앱

튜이스트 프리뷰를 더욱 쉽게 실행할 수 있도록, 튜이스트는 튜이스트 macOS 메뉴바 앱을 개발했습니다. 튜이스트 CLI를 통해 미리 보기를 실행하는 대신, macOS 앱을 다운로드할 수 있습니다. brew install --cask tuist/tuist/tuist 을 실행하여 앱을 설치할 수도 있습니다.

이제 미리보기 페이지에서 '실행'을 클릭하면 현재 선택한 기기에서 macOS 앱이 자동으로 실행됩니다.

요구 사항

Xcode가 로컬에 설치되어 있어야 하며 macOS 14 이상을 사용 중이어야 합니다.

튜이스트 iOS 앱

Tuist

Download on the App Store

macOS 앱과 마찬가지로, 튜이스트 iOS 앱은 미리보기에 액세스하고 실행하는 과정을 간소화합니다.

요청 댓글 풀/병합

GIT 플랫폼과의 통합이 필요합니다.

자동 풀/병합 요청 코멘트를 받으려면

원격 프로젝트Git 플랫폼과 통합하세요.

새로운 기능을 테스트하는 것은 모든 코드 리뷰의 일부가 되어야 합니다. 그러나 앱을 로컬에서 빌드해야 하는 경우 불필요한 마찰이 발생하여 개발자가 기기에서 기능 테스트를 아예 건너뛰는 경우가 종종 있습니다. 하지만 각 풀 리퀘스트에 Tuist macOS 앱에서 선택한 기기에서 앱을 자동으로 실행할 수 있는 빌드 링크가 포함되어 있다면 어떨까요?

튜이스트 프로젝트가 GitHub와 같은 Git 플랫폼에 연결되면,

`tuist share MyApp`을 CI 워크플로에

추가합니다. 그러면 튜이스트가 풀 리퀘스트에 바로 미리보기 링크를 게시합니다: 튜이스트 미리보기 링크가 포함된 GitHub 앱
코멘트

인앱 업데이트 알림

Tuist SDK](https://github.com/tuist/sdk)를 사용하면 앱에서 최신 프리뷰 버전을 사용할 수 있는 시기를 감지하여 사용자에게 알릴 수 있습니다. 이는 테스터를 최신 빌드로 유지하는 데 유용합니다.

SDK는 동일한 미리 보기 트랙 내에서 업데이트를 확인합니다. --track 을 사용하여 프리뷰를 명시적 트랙과 공유하면 SDK는 해당 트랙에서 업데이트를 찾습니다. 트랙을 지정하지 않으면 git 브랜치가 트랙으로 사용되므로 메인 브랜치에서 빌드한 프리뷰는 메인 에서 빌드한 최신 프리뷰에 대해서만 알림을 보냅니다.

설치

스위프트 패키지 종속성으로 Tuist SDK를 추가합니다:

swift
.package(url: "https://github.com/tuist/sdk", .upToNextMajor(from: "0.1.0"))

업데이트 모니터링

monitorPreviewUpdates 를 사용하여 새 미리 보기 버전을 주기적으로 확인하세요:

swift
import TuistSDK

struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .task {
                    TuistSDK(
                        fullHandle: "myorg/myapp",
                        apiKey: "your-api-key"
                    )
                    .monitorPreviewUpdates()
                }
        }
    }
}

단일 업데이트 확인

수동 업데이트 확인을 위해:

swift
let sdk = TuistSDK(
    fullHandle: "myorg/myapp",
    apiKey: "your-api-key"
)

if let preview = try await sdk.checkForUpdate() {
    print("New version available: \(preview.version ?? "unknown")")
}

업데이트 모니터링 중지

monitorPreviewUpdates 는 취소할 수 있는 작업 을 반환합니다:

swift
let task = sdk.monitorPreviewUpdates { preview in
    // Handle update
}

// Later, to stop monitoring:
task.cancel()

INFO

시뮬레이터 및 App Store 빌드에서는 업데이트 확인이 자동으로 비활성화됩니다.

README 배지

저장소에서 튜이스트 미리 보기를 더 잘 보이게 하려면 README 파일에 최신 튜이스트 미리 보기를 가리키는 배지를 추가하면 됩니다:

튜이스트
미리보기

README 에 배지를 추가하려면 다음 마크다운을 사용하고 계정과 프로젝트 핸들을 자신의 것으로 바꾸세요:

[![Tuist Preview](https://tuist.dev/{account-handle}/{project-handle}/previews/latest/badge.svg)](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)

프로젝트에 번들 식별자가 다른 여러 앱이 포함된 경우 bundle-id 쿼리 매개 변수를 추가하여 링크할 앱의 미리 보기를 지정할 수 있습니다:

[![Tuist Preview](https://tuist.dev/{account-handle}/{project-handle}/previews/latest/badge.svg)](https://tuist.dev/{account-handle}/{project-handle}/previews/latest?bundle-id=com.example.app)

자동화

--json 플래그를 사용하여 tuist share 명령에서 JSON 출력을 가져올 수 있습니다:

tuist share --json

JSON 출력은 CI 제공업체를 사용하여 Slack 메시지를 게시하는 등의 사용자 지정 자동화를 만드는 데 유용합니다. JSON에는 전체 미리 보기 링크가 포함된 url 키와 실제 장치에서 미리 보기를 쉽게 다운로드할 수 있도록 QR 코드 이미지의 URL이 포함된 qrCodeURL 키가 포함되어 있습니다. JSON 출력의 예는 아래와 같습니다:

json
{
  "id": 1234567890,
  "url": "https://cloud.tuist.io/preview/1234567890",
  "qrCodeURL": "https://cloud.tuist.io/preview/1234567890/qr-code.svg"
}

Released under the MIT License.