only-bible-app v3.7.2+24
git clone https://git.pyrossh.dev/only-bible-app
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
Makefile
.PHONY: run test analyze macos ios android android-device list-devices setup release release-android release-ios release-macos
setup:
brew install fastlane
mkdir -p assets/bibles
dart run scripts/generate_flatbuffers.dart
run:
flutter run
test:
flutter test
analyze:
flutter analyze
macos:
flutter run -d macos
ios:
open -a Simulator
sleep 2
xcrun simctl boot "iPhone 17" 2>/dev/null || true
flutter run -d $$(flutter devices 2>/dev/null | grep "simulator" | head -1 | awk '{print $$1}')
android:
emulator -avd $$(emulator -list-avds 2>/dev/null | head -1) &
flutter run -d $$(adb devices 2>/dev/null | grep -v "List" | grep "device" | head -1 | awk '{print $$1}')
android-device:
flutter run -d $$(flutter devices 2>/dev/null | grep -i "android\|emulator" | head -1 | awk '{print $$1}')
list-devices:
@echo "--- iOS Simulators ---"
xcrun simctl list devices available 2>/dev/null | grep -v "unavailable"
@echo ""
@echo "--- Android Emulators ---"
emulator -list-avds 2>/dev/null || echo "No AVDs found (set ANDROID_HOME)"
# Builds, uploads and publishes to the Play Store, App Store and Mac App
# Store in one go. Screenshots are left untouched by default - regenerating
# and re-uploading them on every release is slow and usually a no-op since
# the UI rarely changes. Set UPDATE_SCREENSHOTS=1 to regenerate and upload a
# fresh set as part of the release, e.g. `make release UPDATE_SCREENSHOTS=1`.
UPDATE_SCREENSHOTS_FLAG = $(if $(filter 1 true yes,$(UPDATE_SCREENSHOTS)),update_screenshots:true,)
release: release-android release-ios release-macos
release-android:
cd android && fastlane deploy $(UPDATE_SCREENSHOTS_FLAG)
release-ios:
cd ios && fastlane release $(UPDATE_SCREENSHOTS_FLAG)
release-macos:
cd macos && fastlane release $(UPDATE_SCREENSHOTS_FLAG)