EVER Wallet Flutter application. Manage Everscale wallets and access dApps directly from your cellphone
-
Clone plugin from
https://github.com/broxus/nekoton-flutter.git
to folder alongside the project and do steps described inREADME.md
to build it -
Rename nekoton-flutter directory to nekoton_flutter
-
Generate code:
$ flutter packages pub run build_runner build --delete-conflicting-outputs
- Generate l10n:
$ flutter gen-l10n
-
Put creds/keys files:
- android/crystal.keystore // Android signing
- android/key.properties // Android signing
- android/fastlane/GooglePlayServiceAccount.json // Android deploy
- ios/fastlane/AuthKey_L4N29B6Z42.p8 // iOS deploy
- fastlane/FirebaseAPIKey.json // Firebase Realtime database, build number
- fastlane/FirebaseADKey.json // FAD deploy
-
Install fastlane:
brew install fastlane
- Install certificates for iOS deployment:
./build.sh --ios_match_assure
- Install node modules (yeah, baby, node modules in the flutter project):
npm install
- Deploy apps to Testflight and Google Play Internale testing channel:
./build.sh --deploy_store
- Deploy apps to Firebase App Distribution
./build.sh --deploy_fad
Register new devices throught devportal, then execute:
./build.sh --ios_match_new_devices
./build.sh --clean
-
Android: https://appdistribution.firebase.dev/i/ddd910d703ce28a4
-
iOS: https://appdistribution.firebase.dev/i/58596742aa793da2
This project relies on [flutter_localizations][flutter_localizations_link] and follows the [official internationalization guide for Flutter][internationalization_link].
- To add a new localizable string, open the
app_en.arb
file atlib/l10n/arb/app_en.arb
.
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
}
}
- Then add a new key/value and description
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
},
"helloWorld": "Hello World",
"@helloWorld": {
"description": "Hello World Text"
}
}
- Use the new string
import 'package:flutter_rimo/l10n/l10n.dart';
@override
Widget build(BuildContext context) {
final l10n = context.l10n;
return Text(l10n.helloWorld);
}
Update the CFBundleLocalizations
array in the Info.plist
at ios/Runner/Info.plist
to include the new locale.
...
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>es</string>
</array>
...
- For each supported locale, add a new ARB file in
lib/l10n/arb
.
├── l10n
│ ├── arb
│ │ ├── app_en.arb
│ │ └── app_es.arb
- Add the translated strings to each
.arb
file:
app_en.arb
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
}
}
app_es.arb
{
"@@locale": "es",
"counterAppBarTitle": "Contador",
"@counterAppBarTitle": {
"description": "Texto mostrado en la AppBar de la página del contador"
}
}