모바일 앱(Android 및 iOS)
Android APK를 다운로드하거나 iPhone 및 iPad 앱을 소스에서 빌드합니다.
Android APK는 다운로드 페이지에서 제공합니다. 저장소 접근 권한이 있는 구성원은 Mac에서 iOS 앱을 빌드하여 iPhone이나 iPad에 설치할 수 있습니다.
설치된 앱은 기본적으로 Clowld Space Cloud에 연결되며 기존 계정으로 로그인하면 됩니다. 워크스페이스, 태스크, 댓글, 실행 기록은 모두 서버에 저장되므로 Web이나 Desktop에서 직접 동기화할 필요가 없습니다.
Android 설치와 업데이트
- Android 기기에서 다운로드 페이지를 열고 APK를 선택합니다.
- Android 안내에 따라 해당 출처의 설치를 허용한 후 Clowld Space 계정으로 로그인합니다.
- 프로덕션 앱은 업데이트를 확인합니다. 다운로드 중에도 앱을 사용할 수 있으며 검증 후 Android에서 설치를 확인합니다.
업데이트는 전체 앱 패키지를 사용합니다. 동일한 서명으로 기존 앱 위에 설치하세요. 개발, staging, iOS 빌드는 이 업데이트 기능을 사용하지 않습니다.
iPhone 및 iPad 빌드
준비 사항
다음 항목이 필요합니다.
- Xcode가 설치된 Mac
- Xcode → Settings → Accounts에서 로그인한 Apple ID
- USB로 연결된 iPhone
- iPhone의 설정 → 개인정보 보호 및 보안에서 활성화한 개발자 모드
- Node.js, pnpm, Git
Xcode 또는 실제 기기 개발 환경이 설정되지 않았다면 먼저 Expo의 iOS Device 환경 설정을 완료하세요.
iPhone에 설치
저장소를 clone하고 의존성을 설치합니다.
git clone https://github.com/sooodasama/clowld-space.git
cd clowld-space
pnpm install그런 다음 저장소 루트에서 다음 명령을 실행합니다.
pnpm ios:mobile:device:prod:releaseMetro에 의존하지 않는 Release 버전을 빌드해 연결된 iPhone에 설치합니다. 처음 빌드할 때는 iOS 의존성을 내려받고 React Native를 컴파일하며 이후에는 Xcode 캐시를 재사용합니다.
iPhone에서 앱 실행을 차단하면 설정 → 일반 → VPN 및 기기 관리에서 해당 개발자 인증서를 신뢰하도록 설정하세요.
무료 서명의 7일 제한
무료 Apple ID로 서명한 앱은 7일 동안만 사용할 수 있습니다. 만료되면 iPhone을 Mac에 다시 연결하고 같은 빌드 명령을 실행해 서명을 갱신하세요.
Apple Developer Program 계정으로 서명하면 유효 기간이 더 길고 TestFlight와 정식 배포에도 사용할 수 있습니다. 어떤 서명을 사용하더라도 재설치나 서명 갱신으로 서버 데이터가 사라지지 않습니다.
서명 실패
Xcode에 No matching provisioning profiles found가 표시되면 기본 bundle identifier가 Apple ID에 속하지 않을 수 있습니다. 자신이 제어하는 역방향 도메인으로 바꾼 뒤 다시 빌드하세요.
export EXPO_BUNDLE_IDENTIFIER_PROD=com.yourname.clowld
pnpm ios:mobile:device:prod:release이 값은 자신의 Apple Developer team에서 사용할 수 있기만 하면 되며 Clowld Space 계정이나 워크스페이스에는 영향을 주지 않습니다.
업데이트
직접 설치한 iOS 버전은 자동으로 업데이트되지 않습니다. 최신 코드를 pull하고 의존성을 업데이트한 뒤 다시 빌드하세요.
git pull --ff-only
pnpm install
pnpm ios:mobile:device:prod:release자체 호스팅 인스턴스 연결
Release 빌드는 API 주소를 앱에 포함합니다. 자체 호스팅 인스턴스에 연결하려면 먼저 apps/mobile/.env.production을 수정합니다.
EXPO_PUBLIC_API_URL=https://api.example.com
EXPO_PUBLIC_WEB_URL=https://app.example.comEXPO_PUBLIC_API_URL은 필수입니다. EXPO_PUBLIC_WEB_URL은 "Copy link", "Open on web" 같은 메뉴에 사용하는 선택 항목이며 설정하지 않으면 이 메뉴가 표시되지 않습니다.
수정한 뒤 빌드 명령을 다시 실행합니다. iPhone에서 이 API 주소에 접근할 수 있어야 합니다. 로컬 네트워크 주소를 사용할 때는 localhost를 쓰지 마세요. iPhone에서는 휴대전화 자체를 가리킵니다.
.env.production을 수정하면 현재 checkout의 프로덕션 설정이 바뀝니다. 이 변경을 커밋하면 개인 API 주소가 저장소의 프로덕션 설정에 들어갑니다.
모바일 개발, Simulator 사용, staging 연결 방법은 저장소의 apps/mobile/README.md를 참고하세요.