Last updated:
0 purchases
libtdjson
flutter_libtdjson #
A flutter plugin for TDLib JSON interface, ffi binding.
Lib versions #
package
td version
0.2.1
1.8.31 (Android, iOS, macOS)
0.2.0
1.8.30 (Android, iOS, macOS)
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.2.1
copied to clipboard
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>
copied to clipboard
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/>
copied to clipboard
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>
copied to clipboard
Dev memo #
Bump TDLib version #
Bump the td version of android-libtdjson
Bump the android dependency version in ./android/build.gradle
Run ./example for android
cd ./example
flutter run -d emulator-5554
copied to clipboard
Bump the td version of ios-libtdjson
Bump the macos dependency version in ./macos/libtdjson.podspec (s.dependency)
Run ./example for macos
cd ./example/macos
pod update flutter_libtdjson
cd ..
flutter run -d macos
copied to clipboard
Bump the ios dependency version in ./ios/libtdjson.podspec
Run ./example for ios simulator
cd ./example/ios
pod update flutter_libtdjson
cd ..
flutter run --debug
# link .dylib to search path, e.q:
# ln -s $(pwd)/build/ios/Debug-iphonesimulator/XCFrameworkIntermediates/flutter_libtdjson/libtdjson.dylib ~/Library/Developer/CoreSimulator/Devices/FD63D560-544B-4B18-8F2F-03B093156DE2/data/Containers/Bundle/Application/004B7B3D-4665-4217-A9C7-2D2193107E80/Runner.app/Frameworks/libtdjson.dylib
# Reload with `R`
copied to clipboard
Bump the package version in ./pubspec.yaml
Add changelog for new version in ./CHANGELOG.md
Bump version info in ./README.md
Git commit (message example: bump td to vx.x.x)
Git add tag (git tag v?.?.?, the tag version should be same as the version in pubspec.yaml)
Push with tags (git push && git push --tags)
Wait for CI task
Manually publish #
https://dart.dev/tools/pub/publishing
dart pub publish
# credentials file on macos
cat ~/Library/Application\ Support/dart/pub-credentials.json
copied to clipboard
TODO #
❌ ⛔ is about iOS with dylib. There are .dylib files in build/ios/Debug-iphonesimulator/XCFrameworkIntermediates, but still...
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.