Awesome
<p align="center"> <a href="https://www.openim.io"> <img src="./openim-logo.gif" width="60%" height="30%"/> </a> </p>OpenIM Flutter Demo ๐ฌ๐ป
<p> <a href="https://doc.openim.io/">OpenIM Docs</a> โข <a href="https://github.com/openimsdk/open-im-server">OpenIM Server</a> โข <a href="https://github.com/openimsdk/openim-sdk-core">openim-sdk-core</a> โข <a href="https://github.com/openimsdk/open-im-sdk-flutter">open-im-sdk-flutter</a> </p> <br>A OpenIM flutter demo, only support android and ios.
Tech Stack ๐ ๏ธ
- This is a
Flutter
project. - App is built with open-im-sdk-flutter library.
Official demo use
-
Download the experience app
Dev Setup ๐ ๏ธ
- Android Studio/VsCode
- Flutter version 3.22.3
Build ๐
- Git clone https://github.com/OpenIMSDK/Open-IM-Flutter-Demo.git
- Modify the server address in the config.dart file to the server address built by yourself
static const _host = "your-server-ip/domain";
- Please replace the IM SDK version
// openim_common/pubspec.yaml
// openim_live/pubspec.yaml
// pubspec.yaml
flutter_openim_sdk: lastest
- Get dependencies and perform compilation operations.
$ flutter pub get
$ flutter run # If you are using the iOS platform, please use a real device.
Issues :bookmark_tabs:
1. Does it support multiple languages?
A: Support, follow the system language by default
2. Which platforms are supported?
A: The demo currently supports android and ios.
3. The debug of the android installation package can run, but the release starts with a white screen?
A: The release package of flutter is obfuscated by default. You can use the command: flutter build release --no -shrink. If this command is invalid, you can do the following
Add the following configuration to the release configuration configured in android/app/build.gradle
release {
minifyEnabled false
useProguard false
shrinkResources false
}
4. What should I do if the code must be confused?
A: Add the following rules to the obfuscation rules
-keep class io.openim.**{*;}
-keep class open_im_sdk.**{*;}
-keep class open_im_sdk_callback.**{*;}
5. The android installation package cannot be installed on the emulator?
A: Because the Demo has removed some cpu architectures, if you want to run it on the emulator, please do the following:
Add in android/build.gradle configuration
ndk {
abiFilters "armeabi-v7a", "x86"
}
6, ios run/build release package error
A: Please set the CPU architecture to arm64, and then operate as follows
- flutter clean
- flutter pub get
- cd ios
- rm -f Podfile.lock
- rm -rf Pods
- pod install
- Run Archive after connecting to the real device
7. What is the minimum version number for ios to run?
A: 13.0
8. Some developers encountered the following problems:
Could not build the precompiled application for the device.
Error (Xcode): Signing for "TOCropViewController-TOCropViewControllerBundle" requires a development team. Select a development team
in the Signing & Capabilities editor.
Error (Xcode): Signing for "DKImagePickerController-DKImagePickerController" requires a development team. Select a development team
in the Signing & Capabilities editor.
Error (Xcode): Signing for "DKPhotoGallery-DKPhotoGallery" requires a development team. Select a development team in the Signing &
Capabilities editor.
Add the following code to Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" end
end
end
Community :busts_in_silhouette:
- ๐ OpenIM Community
- ๐ OpenIM Interest Group
- ๐ Join our Slack community
- :eyes: Join our wechat (ๅพฎไฟก็พค)
Community Meetings :calendar:
We want anyone to get involved in our community and contributing code, we offer gifts and rewards, and we welcome you to join us every Thursday night.
Our conference is in the OpenIM Slack ๐ฏ, then you can search the Open-IM-Server pipeline to join
We take notes of each biweekly meeting in GitHub discussions, Our historical meeting notes, as well as replays of the meetings are available at Google Docs :bookmark_tabs:.
Who are using OpenIM :eyes:
Check out our user case studies page for a list of the project users. Don't hesitate to leave a ๐comment and share your use case.
License :page_facing_up:
OpenIM is licensed under the Apache 2.0 license. See LICENSE for the full license text.