8.1 KiB
8.1 KiB
iOS 앱 빌드 및 배포 가이드
iOS와 Android의 차이점
Android (APK)
✅ APK 파일만 있으면 설치 가능 ✅ 이메일, 카카오톡 등으로 전달 가능 ✅ "알 수 없는 출처" 허용 후 바로 설치
iOS (IPA)
❌ IPA 파일만으로는 설치 불가능 ❌ Apple의 서명(Signing)이 필요 ❌ 파일 전달만으로는 설치 안 됨
iOS 앱 배포 방법 (4가지)
방법 1: App Store (공식 배포) ⭐ 권장
장점:
- 누구나 다운로드 가능
- 자동 업데이트
- 신뢰도 높음
단점:
- Apple Developer 계정 필요 (연간 $99)
- 심사 기간 1-3일
- 심사 거부 가능성
절차:
- Apple Developer Program 가입 ($99/년)
- Xcode에서 앱 빌드
- App Store Connect에 업로드
- 심사 제출
- 승인 후 배포
방법 2: TestFlight (베타 테스트) ⭐ 개발/테스트용 권장
장점:
- 최대 10,000명 테스터
- App Store 심사보다 빠름
- 무료 (Developer 계정만 필요)
- 링크만 공유하면 설치 가능
단점:
- Apple Developer 계정 필요 ($99/년)
- 90일 후 만료
- 베타 버전으로 표시
절차:
- Apple Developer 계정 필요
- Xcode에서 Archive 생성
- App Store Connect에 업로드
- TestFlight에서 테스터 초대
- 테스터가 TestFlight 앱으로 설치
사용 방법:
테스터에게 초대 링크 전송
→ 테스터가 TestFlight 앱 설치
→ 링크 클릭하여 앱 설치
방법 3: Ad Hoc 배포 (제한적)
장점:
- 특정 기기에만 배포 가능
- 내부 테스트용
단점:
- Apple Developer 계정 필요 ($99/년)
- 최대 100대 기기만 등록 가능
- 기기 UDID 수집 필요
- 매년 기기 목록 갱신
절차:
- 테스터의 iPhone UDID 수집
- Developer Portal에 기기 등록
- Ad Hoc Provisioning Profile 생성
- Xcode에서 Ad Hoc 빌드
- 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
- https://www.macstadium.com/
- 시간당 요금제
- 원격으로 Mac 접속
MacinCloud
- https://www.macincloud.com/
- 시간당 $1부터
- Xcode 사용 가능
AWS EC2 Mac
사용 방법:
- 클라우드 Mac 구독
- 원격 데스크톱으로 접속
- Xcode 설치
- 프로젝트 업로드
- 빌드 및 배포
방법 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명
절차:
- Apple Developer 가입 ($99/년)
- Mac 또는 클라우드 Mac 준비
- Xcode에서 앱 빌드
- TestFlight에 업로드
- 테스터에게 링크 전송
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 배포
가장 현실적인 방법
- Android: APK 파일 직접 배포
- iOS: TestFlight로 링크 배포
- 정식 서비스: App Store + Google Play
다음 단계
iOS 앱을 만들고 싶으시다면:
- Apple Developer 가입 ($99/년)
- Mac 준비 (또는 클라우드 Mac)
- iOS 프로젝트 생성 도와드리겠습니다
- TestFlight 배포 설정
필요하시면 iOS 앱 코드도 작성해드릴 수 있습니다!