2023-04-04 14:54:37 +00:00
# Mobile Nebula
[Play Store ](https://play.google.com/store/apps/details?id=net.defined.mobile_nebula&hl=en_US&gl=US ) | [App Store ](https://apps.apple.com/us/app/mobile-nebula/id1509587936 )
2022-09-21 20:27:35 +00:00
## Setting up dev environment
2020-12-07 21:10:31 +00:00
2022-09-21 20:27:35 +00:00
Install all of the following things:
- [`xcode` ](https://apps.apple.com/us/app/xcode/ )
2020-12-10 17:06:40 +00:00
- [`android-studio` ](https://developer.android.com/studio )
2024-09-20 18:19:23 +00:00
- [`flutter` 3.24.1 ](https://docs.flutter.dev/get-started/install )
2022-09-21 20:27:35 +00:00
- [`gomobile` ](https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile )
- [Flutter Android Studio Extension ](https://docs.flutter.dev/get-started/editor?tab=androidstudio )
Ensure your path is set up correctly to execute flutter
2020-12-10 17:06:40 +00:00
2022-09-21 20:27:35 +00:00
Run `flutter doctor` and fix everything it complains before proceeding
2021-04-22 22:46:16 +00:00
2022-09-21 20:27:35 +00:00
*NOTE* on iOS, always open `Runner.xcworkspace` and NOT the `Runner.xccodeproj`
2020-12-10 17:06:40 +00:00
2022-09-21 20:27:35 +00:00
### Before first compile
2020-12-10 17:06:40 +00:00
2022-09-21 20:27:35 +00:00
- Copy `env.sh.example` and set it up for your machine
- Ensure you have run `gomobile init`
2024-09-26 20:27:10 +00:00
- In Android Studio, make sure you have the current ndk installed by going to Tools -> SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `26.1.10909125` version.
2022-09-21 20:27:35 +00:00
- Ensure you have downloaded an ndk via android studio, this is likely not the default one and you need to check the
`Show package details` box to select the correct version. The correct version comes from the error when you try and compile
- Make sure you have `gem` installed with `sudo gem install`
- If on MacOS arm, `sudo gem install ffi -- --enable-libffi-alloc`
If you are having issues with iOS pods, try blowing it all away! `cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update`
2020-12-07 21:10:31 +00:00
# Formatting
`flutter format` can be used to format the code in `lib` and `test` but it's default is 80 char line limit, it's 2020
Use:
```sh
flutter format lib/ test/ -l 120
2020-12-10 17:06:40 +00:00
```
2020-12-07 21:10:31 +00:00
# Release
Update `version` in `pubspec.yaml` to reflect this release, then
## Android
2022-11-17 21:43:16 +00:00
`flutter build appbundle`
2020-12-07 21:10:31 +00:00
This will create an android app bundle at `build/app/outputs/bundle/release/`
Upload the android bundle to the google play store https://play.google.com/apps/publish
## iOS
In xcode, Release -> Archive then follow the directions to upload to the app store. If you have issues, https://flutter.dev/docs/deployment/ios#create-a-build-archive