flutter_libtdjson
A flutter plugin for TDLib JSON interface, ffi binding.
Lib versions
package | td |
---|---|
0.1.4 | 1.8.1 (Android, iOS, macOS) |
0.1.3 | 1.7.9 (Android, iOS, macOS) |
0.1.2 | 1.7.0 (Android), latest (iOS, macOS) |
Supported architectures
Make sure you are using supported one
Platform | Architecture | |
---|---|---|
Android | armeabi-v7a | ✅ |
arm64-v8a | ✅ | |
Android emulator | x86 | ❌ |
x86_64 | ✅ | |
iOS | armv7 | ❌ |
armv7s | ❌ | |
arm64 | ✅ | |
iOS simulator | i386 | ❌ |
x86_64 | ✅ | |
arm64 (M1) | ❌ | |
macOS | i386 | ❌ |
x86_64 | ✅ | |
arm64 (M1) | ✅ |
Installation
-
Update
pubspec.yaml
:dependencies: libtdjson: ^0.1.4
-
If you want to build android, you have to add envs for github maven, see
./android/build.gradle
export GITHUB_ACTOR=<username> export GITHUB_TOKEN=<personal access token>
-
If you want to set
tdlibParameters.database_directory
outside work dir, make sure you request the storage permission, e.q.android/app/src/main/AndroidManifest.xml
<manifest> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <manifest/>
-
If you want to build macos, have to set network permission in
./macos/Runner/*.entitlements
files<dict> <key>com.apple.security.network.client</key> <true/> </dict>
Dev memo
Bump TDLib version
-
Bump the td version of android-libtdjson
-
Bump the android dependency version in
./android/build.gradle
-
Run
./example
for androidcd ./example flutter run -d emulator-5554
-
Bump the td version of ios-libtdjson
-
Bump the macos dependency version in
./macos/libtdjson.podspec
-
Run
./example
for macoscd ./example/macos pod update flutter_libtdjson cd .. flutter run -d macos`
-
Bump the ios dependency version in
./ios/libtdjson.podspec
-
Run
./example
for ioscd ./example/ios pod update flutter_libtdjson cd .. flutter run -d "iPhone 13"
-
Bump the package version in
./pubspec.yaml
-
Add changelog for new version in
./CHANGELOG.md
-
Bump version info in
./README.md
-
Commit, add tag and push