An open API service indexing awesome lists of open source software.

https://github.com/brilliantlabsar/noa-flutter

The Noa app for iOS and Android
https://github.com/brilliantlabsar/noa-flutter

flutter flutter-bluetooth

Last synced: about 1 year ago
JSON representation

The Noa app for iOS and Android

Awesome Lists containing this project

README

          

# Noa for iOS and Android – A Flutter app for Frame

Welcome to the Noa app repository! Built using Flutter, this repository also serves as a great example of how to build your own Frame apps.

Apple App Store badge       Google Play Store badge

![Noa screenshots](/docs/screenshots.png)

## Getting started

1. Ensure you have XCode and/or Android studio correctly set up for app development

1. Install [Flutter](https://docs.flutter.dev/get-started/install) for VSCode

1. Clone this repository

```sh
git clone https://github.com/brilliantlabsAR/noa-flutter.git
cd noa-flutter
```

1. Get the required packages

```sh
flutter pub get
```

1. Rename `.env.template` to `.env` and populate it with your own Google O-auth client IDs if desired

1. Connect your phone and run the app in release mode

```sh
flutter run --release
```

## Regenerating the platform files

Sometimes it may be necessary to regenerate the platform files. To do this, delete the `ios` and `android` folders, and run the following commands. Adjust for your own organization identifier accordingly:

1. Delete the `ios` and `android` folders

```sh
rm -rf android ios
```

1. Regenerate them

```sh
flutter create --platforms ios --org xyz.brilliant --project-name noa .
flutter create --platforms android --org xyz.brilliant --project-name noa .
```

1. Regenerate the app icons

```sh
flutter pub run flutter_launcher_icons
```

1. Insert the following into `ios/Runner/Info.plist` to enable Bluetooth for iOS

```

NSBluetoothAlwaysUsageDescription
This app always needs Bluetooth to function
NSBluetoothPeripheralUsageDescription
This app needs Bluetooth Peripheral to function
NSLocationAlwaysAndWhenInUseUsageDescription
This app always needs location and when in use to function
NSLocationAlwaysUsageDescription
This app always needs location to function
NSLocationWhenInUseUsageDescription
This app needs location when in use to function
UIBackgroundModes

bluetooth-central

...
```

1. Insert the following into `ios/Runner/Info.plist to enable Google sign in for iOS

```

CFBundleURLTypes


CFBundleTypeRole
Editor
CFBundleURLSchemes

com.googleusercontent.apps.178409912024-a779l8d62k0r94f8qg63bcs77j986htk



...
```

1. Finally, you may want to find and replace all occurrences of the string `xyz.brilliant` to your own reverse-domain bundle identifier