Brings nebula to mobile devices (iOS, Android)
175
stars
258
commits
Dart
primary language
Sep 4, 2026
updated
Install all of the following things:
xcode - use the version specified by xcode_select in /ios/fastlane/Fastfileandroid-studioflutter 3.44.6gomobileEnsure your path is set up correctly to execute flutter
Run flutter doctor and fix everything it complains before proceeding
NOTE on iOS, always open Runner.xcworkspace and NOT the Runner.xccodeproj
env.sh.example and set it up for your machinegomobile initShow package details box, expand the NDK section and select 28.2.13676358 version.Show package details box to select the correct version. The correct version comes from the error when you try and compilegem installed with sudo gem installsudo gem install ffi -- --enable-libffi-allocIf the iOS build complains that MobileNebula.xcframework is stale or missing, run ./ensure-mobile-nebula.sh from the repo root. It rebuilds the gomobile framework only when the Go code in nebula/ changes, Xcode runs it automatically as a pre-build action on the Runner scheme.
flutter pub get, flutter test and friends rewrite the generated plugin package with flutter's own iOS 13 minimum,
which SPM then rejects because file_picker needs 14:
error: The package product 'file-picker' requires minimum platform version 14.0 for the iOS platform,
but this target supports 13.0
Only a flutter CLI build puts it back, so run this before building in Xcode:
flutter build ios --config-only
ensure-mobile-nebula.sh also does it, but Xcode resolves packages before pre-actions run, so it only helps the next
build. Skip the command and the first build fails, the second works.
dart format can be used to format the code in lib and test. We use a line-length of 120 characters.
Use:
dart format lib/ test/ -l 120
In Android Studio, set the line length using Preferences -> Editor -> Code Style -> Dart -> Line length, set it to 120. Enable auto-format with Preferences -> Languages & Frameworks -> Flutter -> Format code on save.
./swift-format.sh can be used to format Swift code in the repo.
Once swift-format supports ignoring directories (https://github.com/swiftlang/swift-format/issues/870), we can move to a method of running it more like what https://calebhearth.com/swift-format-github-action describes.
Dart
62.2%
Kotlin
12.6%
Swift
12.3%
Go
10.6%
Shell
1.5%
Brings nebula to mobile devices (iOS, Android)
175
stars
258
commits
Dart
primary language
Sep 4, 2026
updated
Install all of the following things:
xcode - use the version specified by xcode_select in /ios/fastlane/Fastfileandroid-studioflutter 3.44.6gomobileEnsure your path is set up correctly to execute flutter
Run flutter doctor and fix everything it complains before proceeding
NOTE on iOS, always open Runner.xcworkspace and NOT the Runner.xccodeproj
env.sh.example and set it up for your machinegomobile initShow package details box, expand the NDK section and select 28.2.13676358 version.Show package details box to select the correct version. The correct version comes from the error when you try and compilegem installed with sudo gem installsudo gem install ffi -- --enable-libffi-allocIf the iOS build complains that MobileNebula.xcframework is stale or missing, run ./ensure-mobile-nebula.sh from the repo root. It rebuilds the gomobile framework only when the Go code in nebula/ changes, Xcode runs it automatically as a pre-build action on the Runner scheme.
flutter pub get, flutter test and friends rewrite the generated plugin package with flutter's own iOS 13 minimum,
which SPM then rejects because file_picker needs 14:
error: The package product 'file-picker' requires minimum platform version 14.0 for the iOS platform,
but this target supports 13.0
Only a flutter CLI build puts it back, so run this before building in Xcode:
flutter build ios --config-only
ensure-mobile-nebula.sh also does it, but Xcode resolves packages before pre-actions run, so it only helps the next
build. Skip the command and the first build fails, the second works.
dart format can be used to format the code in lib and test. We use a line-length of 120 characters.
Use:
dart format lib/ test/ -l 120
In Android Studio, set the line length using Preferences -> Editor -> Code Style -> Dart -> Line length, set it to 120. Enable auto-format with Preferences -> Languages & Frameworks -> Flutter -> Format code on save.
./swift-format.sh can be used to format Swift code in the repo.
Once swift-format supports ignoring directories (https://github.com/swiftlang/swift-format/issues/870), we can move to a method of running it more like what https://calebhearth.com/swift-format-github-action describes.
Dart
62.2%
Kotlin
12.6%
Swift
12.3%
Go
10.6%
Shell
1.5%