C.W.K.
Stream
Lesson 02 of 05 · published

iOS & Android: init과 dev

~14 min · tauri, mobile, ios, android

Level 0웹 관광객
0 XP0/56 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
"모바일 init은 진짜 Xcode랑 Gradle 프로젝트를 생성해. 네이티브 툴체인에서 탈출하는 게 아냐 — Tauri가 널 위해 그걸 몰고 있어."

전제조건이 더 무거워

데스크톱 Tauri는 가벼운 툴링이면 되고, 모바일은 풀 네이티브 스택이 필요해. iOS엔: Mac, 풀 Xcode 앱(Command Line Tools만이 아니라), CocoaPods, iOS Rust 타깃. Android엔: SDK랑 NDK 든 Android Studio, 맞는 환경 변수(ANDROID_HOME, NDK_HOME), Android Rust 타깃. 타깃은 rustup target add로 더해. 이 중 뭐든 건너뛰는 게 첫 시도에 init이나 dev가 실패하는 흔한 이유야.

init이 플랫폼 프로젝트를 생성해

tauri ios init이랑 tauri android init이 (밑에서 cargo-mobile2로) 네이티브 프로젝트를 생성해(src-tauri/gen/apple이랑 gen/android 아래). 이건 네 Tauri 앱을 감싸는 진짜 Xcode/Gradle 프로젝트야 — 보통 손으로 안 고치지만, 플랫폼 특정 서명이랑 설정이 사는 곳이야. gen/을 커밋할지(재생성 가능하지만 네가 커스텀할 설정을 담아) gitignore하고 CI에서 재생성할지 의도적으로 정해.

dev가 시뮬레이터나 기기에서 돌아

tauri ios devtauri android dev가 앱을 빌드해서 시뮬레이터/에뮬레이터나 연결된 기기에 띄워, 데스크톱에서 아는 그 프론트엔드 핫리로드랑 함께. 이게 네 모바일 이너 루프야. 첫 실행은 느리고(새 타깃 컴파일), 기기/시뮬레이터를 고르고 서명 프롬프트를 처리해야 할 수도 있어 — 근데 일단 돌면, 프론트엔드 편집이 데스크톱처럼 폰에서 라이브 갱신돼.

Code

타깃, init, dev·bash
# 모바일용 Rust 타깃 추가 (한 번).
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios
rustup target add aarch64-linux-android armv7-linux-androideabi \
  i686-linux-android x86_64-linux-android

# 네이티브 플랫폼 프로젝트 생성.
npm run tauri ios init
npm run tauri android init

# 시뮬레이터/에뮬레이터나 기기에서 실행 (데스크톱처럼 핫리로드).
npm run tauri ios dev
npm run tauri android dev

External links

Exercise

툴체인이 있으면 Rust 모바일 타깃을 더하고 tauri android init(이나 Mac에서 ios init)을 돌린 다음, tauri android dev로 기존 앱을 에뮬레이터에 올려. 지금 풀 스택을 설치 못 하면, 대신 각 플랫폼의 정확한 전제조건이랑 모바일이 왜 데스크톱보다 더 필요한지 적어. 어느 쪽이든 '모바일 가기'가 세팅에 뭘 드는지 알게 돼.
Hint
플랫폼 triple엔 rustup target add; iOS엔 풀 Xcode + CocoaPods; Android엔 Android Studio SDK/NDK + ANDROID_HOME/NDK_HOME. 첫 dev 실행은 새 타깃을 컴파일하니 기다림 각오해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.