Files
DTGAPK/IOS_BUILD_GUIDE.md

8.1 KiB

iOS 앱 빌드 및 배포 가이드

iOS와 Android의 차이점

Android (APK)

APK 파일만 있으면 설치 가능 이메일, 카카오톡 등으로 전달 가능 "알 수 없는 출처" 허용 후 바로 설치

iOS (IPA)

IPA 파일만으로는 설치 불가능 Apple의 서명(Signing)이 필요 파일 전달만으로는 설치 안 됨

iOS 앱 배포 방법 (4가지)

방법 1: App Store (공식 배포) 권장

장점:

  • 누구나 다운로드 가능
  • 자동 업데이트
  • 신뢰도 높음

단점:

  • Apple Developer 계정 필요 (연간 $99)
  • 심사 기간 1-3일
  • 심사 거부 가능성

절차:

  1. Apple Developer Program 가입 ($99/년)
  2. Xcode에서 앱 빌드
  3. App Store Connect에 업로드
  4. 심사 제출
  5. 승인 후 배포

방법 2: TestFlight (베타 테스트) 개발/테스트용 권장

장점:

  • 최대 10,000명 테스터
  • App Store 심사보다 빠름
  • 무료 (Developer 계정만 필요)
  • 링크만 공유하면 설치 가능

단점:

  • Apple Developer 계정 필요 ($99/년)
  • 90일 후 만료
  • 베타 버전으로 표시

절차:

  1. Apple Developer 계정 필요
  2. Xcode에서 Archive 생성
  3. App Store Connect에 업로드
  4. TestFlight에서 테스터 초대
  5. 테스터가 TestFlight 앱으로 설치

사용 방법:

테스터에게 초대 링크 전송
→ 테스터가 TestFlight 앱 설치
→ 링크 클릭하여 앱 설치

방법 3: Ad Hoc 배포 (제한적)

장점:

  • 특정 기기에만 배포 가능
  • 내부 테스트용

단점:

  • Apple Developer 계정 필요 ($99/년)
  • 최대 100대 기기만 등록 가능
  • 기기 UDID 수집 필요
  • 매년 기기 목록 갱신

절차:

  1. 테스터의 iPhone UDID 수집
  2. Developer Portal에 기기 등록
  3. Ad Hoc Provisioning Profile 생성
  4. Xcode에서 Ad Hoc 빌드
  5. IPA 파일을 Diawi 등으로 배포

방법 4: Enterprise 배포 (기업용)

장점:

  • 무제한 배포
  • 사내 직원에게 배포

단점:

  • Apple Developer Enterprise 계정 필요 ($299/년)
  • 기업 인증 필요 (법인만 가능)
  • 외부 배포 금지

실제 배포 시나리오별 추천

시나리오 1: 소수 인원 테스트 (10명 이하)

추천: TestFlight

  • 가장 간단하고 빠름
  • 링크만 공유하면 설치 가능

시나리오 2: 많은 인원 테스트 (10명 이상)

추천: TestFlight

  • 최대 10,000명까지 가능

시나리오 3: 정식 서비스

추천: App Store

  • 공식 배포
  • 누구나 다운로드 가능

시나리오 4: 사내 직원용

추천: Enterprise (법인) 또는 TestFlight

  • 법인이면 Enterprise
  • 개인/소규모면 TestFlight

iOS 앱 빌드 방법

사전 준비

1. macOS 필요 ⚠️

  • Windows에서는 iOS 앱을 빌드할 수 없습니다
  • Mac 컴퓨터 또는 Hackintosh 필요
  • 또는 클라우드 Mac 서비스 이용

2. Xcode 설치

# Mac App Store에서 Xcode 다운로드 (무료)
# 또는
xcode-select --install

3. Apple Developer 계정

  • 개발만: 무료 계정 가능 (본인 기기만)
  • 배포: 유료 계정 필요 ($99/년)

iOS 프로젝트 생성

현재 프로젝트에 iOS 파일이 없으므로 생성해야 합니다:

# Mac에서 실행
cd /path/to/workspace_dtgapk

# iOS 프로젝트 생성 (React Native 사용 시)
npx react-native init LogiStreamIOS
cd LogiStreamIOS/ios
pod install

# 또는 네이티브 iOS 프로젝트 생성
# Xcode > Create New Project > App

Swift/SwiftUI로 네이티브 iOS 앱 만들기

1. Xcode 프로젝트 생성

Xcode > File > New > Project
> iOS > App
> Product Name: GIS기반공차중계
> Organization Identifier: kr.kpslp.logistream
> Interface: SwiftUI
> Language: Swift

2. ContentView.swift (웹뷰)

import SwiftUI
import WebKit

struct ContentView: View {
    var body: some View {
        WebView(url: URL(string: "https://logistream.kpslp.kr")!)
            .edgesIgnoringSafeArea(.all)
    }
}

struct WebView: UIViewRepresentable {
    let url: URL
    
    func makeUIView(context: Context) -> WKWebView {
        let webView = WKWebView()
        webView.load(URLRequest(url: url))
        return webView
    }
    
    func updateUIView(_ webView: WKWebView, context: Context) {}
}

3. Info.plist 권한 추가

<key>NSLocationWhenInUseUsageDescription</key>
<string>차량 위치 추적을 위해 위치 정보가 필요합니다</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>백그라운드에서도 위치를 추적하기 위해 권한이 필요합니다</string>

4. 빌드

Xcode > Product > Archive
> Distribute App > TestFlight 또는 App Store

Windows에서 iOS 앱 빌드하는 방법

방법 1: 클라우드 Mac 서비스 (권장)

MacStadium

MacinCloud

AWS EC2 Mac

사용 방법:

  1. 클라우드 Mac 구독
  2. 원격 데스크톱으로 접속
  3. Xcode 설치
  4. 프로젝트 업로드
  5. 빌드 및 배포

방법 2: Expo EAS Build (가장 쉬움)

React Native/Expo 프로젝트인 경우:

# Windows에서 실행 가능!
npm install -g eas-cli

# 로그인
eas login

# iOS 빌드 (클라우드에서)
eas build --platform ios

# TestFlight 자동 업로드
eas submit --platform ios

장점:

  • Windows에서 실행 가능
  • Mac 불필요
  • 클라우드에서 자동 빌드
  • 무료 플랜 있음

방법 3: Codemagic / Bitrise (CI/CD)

장점:

  • GitHub 연동
  • 자동 빌드
  • TestFlight 자동 배포

비용 정리

최소 비용 (TestFlight 배포)

  • Apple Developer: $99/년
  • 총: $99/년

클라우드 Mac 사용 시

  • Apple Developer: $99/년
  • MacinCloud: $1/시간 (빌드 시간만)
  • 총: $99/년 + 빌드 비용

Expo EAS 사용 시

  • Apple Developer: $99/년
  • EAS Build: 무료 플랜 (월 30빌드)
  • 총: $99/년

추천 방안

현재 상황에 맞는 최적 방법

1단계: TestFlight로 시작 (권장)

비용: $99/년
배포: 링크만 공유하면 설치 가능
인원: 최대 10,000명

절차:

  1. Apple Developer 가입 ($99/년)
  2. Mac 또는 클라우드 Mac 준비
  3. Xcode에서 앱 빌드
  4. TestFlight에 업로드
  5. 테스터에게 링크 전송

2단계: 정식 서비스는 App Store

비용: $99/년 (동일)
배포: App Store에서 다운로드
심사: 1-3일

자주 묻는 질문

Q1: IPA 파일만 전달하면 설치 안 되나요?

A: 안 됩니다. Apple의 보안 정책상 서명된 앱만 설치 가능합니다.

Q2: Android처럼 파일만 전달할 방법은 없나요?

A: 없습니다. TestFlight나 App Store를 통해야 합니다.

Q3: Mac이 없는데 iOS 앱을 만들 수 있나요?

A: 클라우드 Mac 서비스나 Expo EAS Build를 사용하면 가능합니다.

Q4: 개발자 계정 없이 배포할 수 있나요?

A: 불가능합니다. 최소 $99/년 Apple Developer 계정이 필요합니다.

Q5: TestFlight 링크는 누구나 사용 가능한가요?

A: 초대받은 테스터만 가능합니다. 이메일로 초대해야 합니다.


결론

Android (APK)

파일만 전달하면 설치 가능

  • APK 파일 → 카카오톡/이메일 전송 → 설치

iOS (IPA)

파일만으로는 설치 불가능

  • TestFlight 링크 전송 → TestFlight 앱에서 설치
  • 또는 App Store 배포

가장 현실적인 방법

  1. Android: APK 파일 직접 배포
  2. iOS: TestFlight로 링크 배포
  3. 정식 서비스: App Store + Google Play

다음 단계

iOS 앱을 만들고 싶으시다면:

  1. Apple Developer 가입 ($99/년)
  2. Mac 준비 (또는 클라우드 Mac)
  3. iOS 프로젝트 생성 도와드리겠습니다
  4. TestFlight 배포 설정

필요하시면 iOS 앱 코드도 작성해드릴 수 있습니다!