Skip to content

openimsdk/open-im-flutter-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenIM Flutter Demo ๐Ÿ’ฌ๐Ÿ’ป

OpenIM Docs โ€ข OpenIM Server โ€ข openim-sdk-core โ€ข open-im-sdk-flutter


A OpenIM flutter demo, only support android and ios.

Tech Stack ๐Ÿ› ๏ธ

Dev Setup ๐Ÿ› ๏ธ

  1. Android Studio/VsCode
  2. Flutter version 3.24.5

Build ๐Ÿš€

  1. Git clone https://github.com/OpenIMSDK/Open-IM-Flutter-Demo.git
  2. Modify the server address in the config.dart file to the server address built by yourself
  static const _host = "your-server-ip/domain";
  1. Please replace the IM SDK version
// openim_common/pubspec.yaml
// openim_live/pubspec.yaml
// pubspec.yaml

  flutter_openim_sdk: lastest
  1. Get dependencies and perform compilation operations.
 $ flutter pub get
 $ flutter run     # If you are using the iOS platform, please use a real device.

Issues ๐Ÿ“‘

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

ios cpu

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 ๐Ÿ‘ฅ

Community Meetings ๐Ÿ“†

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 ๐Ÿ“‘.

Who are using OpenIM ๐Ÿ‘€

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 ๐Ÿ“„

This repository is licensed under the GNU Affero General Public License version 3 (AGPL-3.0) and is subject to the following additional terms. Commercial use is not permitted. Please refer to here for details.