only-bible-app v3.7.2+24

#kotlin#android#ios

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)