Skip to content

Mobile Apps

Flutter apps for Android and iOS with feature parity on core flows.

Features

  • File browser: list and grid views
  • Image viewer and in-app video player
  • TUS upload queue with resume
  • Wakelock held during active uploads
  • Android foreground service for background uploads
  • iOS background URLSession for selected file uploads
  • Share sheet integration (send files to goDrive from other apps)
  • Admin screen: stats, reindex/warmup jobs, user and webhook management

Android Setup

make mobile-install       # flutter pub get
make mobile-dev           # start emulator + backend + flutter run
make mobile-build-android # build debug APK

The emulator reaches the backend at http://10.0.2.2:8121 (Android maps 10.0.2.2 → host 127.0.0.1).

iOS Setup

iOS builds run on GitHub Actions (macos-latest). xtool signs and installs from Linux without Xcode.

One-time setup (Fedora Atomic):

rpm-ostree install usbmuxd && systemctl reboot  # skip if already installed
make xtool-setup    # download xtool AppImage, add USB udev rule
make xtool-auth     # Apple ID login
make ios-devices    # verify device appears

Dev loop:

make ios-deploy    # push to ios-dev branch → CI builds → xtool installs (~8-12 min)
make ios-refresh   # re-sign when 7-day free cert expires (no rebuild)

Connecting to your server

Enter your goDrive server URL and credentials on the login screen. Use https:// in production — the app enforces HTTPS for non-localhost addresses.