Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SkillBoss-AI/tycoon-mobile

Repository files navigation

Tycoon Mobile

Expo (React Native) WebView shell app for tycoon.us.
Ships a native iOS + Android app that loads the Tycoon web app in a full-screen WebView.

Stack

  • Expo SDK 51 (managed workflow)
  • expo-router v3 for file-based navigation
  • react-native-webview 13.x — full-screen WebView
  • EAS Build for cloud builds (iOS + Android)

Run Locally

Prerequisites

npm install -g expo-cli eas-cli

Install dependencies

npm install

Start in Expo Go

npx expo start

Scan the QR code with Expo Go on your iPhone or Android device.

Note: react-native-webview is a native module. On Expo Go you can test it
but for a fully production build you need a development build or EAS build.

Development build (recommended for testing native modules)

# iOS simulator
npx expo run:ios
# Android emulator
npx expo run:android

Regenerate App Icons

The default icons are dark placeholders. To regenerate from the SVG logo:

# macOS: brew install imagemagick
# Linux: apt-get install imagemagick
node scripts/generate-assets.js

EAS Build

1. Log in to EAS

eas login

2. Configure your project ID

Edit app.json → replace YOUR_EAS_PROJECT_ID with your actual EAS project ID.

eas init

This automatically sets the projectId in app.json.

3. Build for preview (TestFlight / internal testing)

# iOS (IPA for TestFlight)
eas build --platform ios --profile preview
# Android (APK for direct install)
eas build --platform android --profile preview
# Both at once
eas build --platform all --profile preview

4. Build for production

# Production builds (App Store / Play Store)
eas build --platform all --profile production

Submit to App Store (TestFlight → App Store)

Prerequisites

  1. Apple Developer account — developer.apple.com
  2. App Store Connect app record created for bundle ID com.tycoon.app
  3. Fill in eas.jsonsubmit.production.ios:
    • appleId — your Apple ID email
    • ascAppId — the App Store Connect numeric app ID
    • appleTeamId — your 10-character team ID

Submit

# After a production build:
eas submit --platform ios --profile production
# Or build + submit in one step:
eas build --platform ios --profile production --auto-submit

Submit to Google Play

Prerequisites

  1. Google Play Console account with the app created
  2. Service account JSON with "Release Manager" permission
    (save as google-service-account.json — it's in .gitignore)
  3. Update eas.jsonsubmit.production.android.serviceAccountKeyPath

Submit

eas submit --platform android --profile production

Deep Links

The app handles tycoon:// scheme URLs.
Configure associated domains in Xcode / app.json if you need universal links (https://tycoon.us/...).

To add universal links:

// app.json → expo.ios
"associatedDomains": ["applinks:tycoon.us"]

Project Structure

×ばつ1024 app icon │ ├── adaptive-icon.png # Android adaptive icon foreground │ ├── splash.png # Splash screen │ ├── favicon.png # Web favicon (unused in native) │ └── logo.svg # Tycoon SVG logo (source) ├── scripts/ │ └── generate-assets.js # Regenerate icons from logo.svg ├── app.json # Expo configuration ├── eas.json # EAS Build + Submit configuration ├── .easignore # Files excluded from EAS builds └── tsconfig.json # TypeScript config">
tycoon-mobile/
├── app/
│ ├── _layout.tsx # Root layout — splash screen, navigation stack
│ └── index.tsx # Main WebView screen
├── assets/
│ └── images/
│ ├── icon.png # ×ばつ1024 app icon
│ ├── adaptive-icon.png # Android adaptive icon foreground
│ ├── splash.png # Splash screen
│ ├── favicon.png # Web favicon (unused in native)
│ └── logo.svg # Tycoon SVG logo (source)
├── scripts/
│ └── generate-assets.js # Regenerate icons from logo.svg
├── app.json # Expo configuration
├── eas.json # EAS Build + Submit configuration
├── .easignore # Files excluded from EAS builds
└── tsconfig.json # TypeScript config

Environment

The WebView injects two globals into window so the web app can detect it's running native:

window.__TYCOON_NATIVE__ = true;
window.__TYCOON_PLATFORM__ = 'ios' | 'android'

Use these in the web app to show/hide mobile-specific UI (e.g., skip in-browser install prompts).


Next Steps

Step Command / Action
1. Init EAS project eas init
2. Regenerate proper icons node scripts/generate-assets.js
3. Build preview eas build --platform ios --profile preview
4. Upload to TestFlight Build → Apple → TestFlight auto-upload
5. Internal testers Add in App Store Connect → TestFlight tab
6. Production release eas build --platform all --profile production --auto-submit

About

Tycoon Mobile - Expo WebView app for tycoon.us

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /