iOS: no such module 'JitsiMeetSDK'

Hi!
I’m trying to run my Flutter app on iOS, but I have this error: no such module 'JitsiMeetSDK'

This is what I’m using

Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale en-IT)
jitsi_meet: ^4.0.0.

I followed this guide iOS SDK · Jitsi Meet Handbook using CocoaPods.
The following is my Podfile. Is there anyone who can help me understanding what’s goingg wrong?
Thanks!

platform :ios, '12.0'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
  project 'Runner.xcodeproj'
  pod 'JitsiMeetSDK'
end

use_frameworks!

install! 'cocoapods', :disable_input_output_paths => true

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

I’d recommend u follow this

Hi, unfortunately I have already done this way

Would u share your yaml file

Here it is.
Please let me know if you need something more.
Thank you!

name: my_app
description: A new Flutter application.
publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: '>=2.12.0 <3.0.0'

module:
  androidX: true

dependencies:
  flutter:
    sdk: flutter

  google_sign_in: ^5.0.3
  sign_in_with_apple: ^3.0.0
  crypto: ^3.0.1
  fluttertoast: ^8.0.6
  shimmer: ^2.0.0
  intl_phone_number_input: ^0.7.0+2
  auth_buttons: ^1.0.1+3
  custom_navigation_bar: ^0.8.1
  emoji_picker_flutter: 1.0.6
  firebase_auth: ^3.0.0
  firebase_database: ^7.0.0-dev.2
  firebase_messaging: ^10.0.0
  firebase_crashlytics: ^2.0.6
  settings_ui: ^1.0.0
  flutter_colorpicker: ^0.4.0
  material_dialogs: ^1.0.0
  auto_size_text: 3.0.0-nullsafety.0
  datetime_picker_formfield: ^2.0.0
  flutter_sound: ^8.1.9
  audioplayers: ^0.19.0
  proximity_sensor: ^1.0.2
  image: ^3.0.2
  image_picker: ^0.8.0
  image_cropper: ^1.4.0
  cached_network_image: ^3.0.0
  camera: ^0.8.1
  carousel_slider: ^4.0.0-nullsafety.0
  video_compress: ^3.0.0
  video_player: ^2.1.1
  better_player: ^0.0.66
  socket_io_client: 2.0.0-beta.4-nullsafety.0
  dio: ^4.0.0
  dio_cookie_manager: ^2.0.0
  flutter_webrtc: ^0.6.3
  permission_handler: ^8.0.0
  share: ^2.0.1
  timeago: ^3.0.2
  sqflite: ^2.0.0+3
  flutter_local_notifications: 8.1.1+1
  flutter_slidable: ^0.6.0
  flutter_keyboard_visibility: ^5.0.2
  flutter_bloc: ^7.0.0
  file_picker: ^4.0.0
  easy_localization: ^3.0.0
  device_info: ^2.0.0
  visibility_detector: ^0.2.0
  url_launcher: ^6.0.3
  flutter_shimmer: ^2.0.0-prerelease-nullsafety
  freezed_annotation: ^0.14.2
  share_extend: ^2.0.0
  scrollable_positioned_list: ^0.2.0-nullsafety.0
  gallery_saver: ^2.1.0
  open_file: ^3.2.1
  string_validator: ^0.3.0
  shared_preferences: ^2.0.5
  wakelock: ^0.5.2
  synchronized: ^3.0.0
  google_fonts: ^2.1.0
  jitsi_meet: ^4.0.0

dev_dependencies:
  flutter_test:
    sdk: flutter
  freezed: ^0.14.1+2
  build_runner:

flutter:
  uses-material-design: true

  assets:
    - assets/images/
    - assets/translations/
    - assets/

  fonts:
    - family: FlutterIcons
      fonts:
        - asset: assets/fonts/FlutterIcons.ttf
    - family: Spectral
      fonts:
        - asset: assets/fonts/Spectral-Regular.ttf
          weight: 400
        - asset: assets/fonts/Spectral-Medium.ttf
          weight: 500
    - family: Roboto
      fonts:
        - asset: assets/fonts/Roboto-Light.ttf
          weight: 200
        - asset: assets/fonts/Roboto-Bold.ttf
          weight: 700

you do use the plugin i told you.

Follow this:

In your Project ios directory run:

flutter clean
flutter pub get
flutter pub upgrade
pod install

You should not need to mess with the podfile directly but the BITCODE enabled to NO

Let me know how it goes

The problem is still the same

    /usr/local/Caskroom/flutter/2.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/jitsi_meet-4.0.0/ios/Classes/JitsiViewController.swift:2:8: error: no such module 'JitsiMeetSDK'
    import JitsiMeetSDK

I’ve tried a lot of time the commands you told me. I’ve run them right now and the error is still the same.

I worked on the Podfile according to this guide iOS SDK · Jitsi Meet Handbook

I see Installing JitsiMeetSDK (3.3.0) from the pod install command, so I do not understand where the problem is…

You should follow the instruction for the widget in pub.dev

Not the jitsi SDK ios

I would recommend you recreate the pod file

flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec

Flutter run

Pod install

I have had this problem and only after recréate the pod file is fixed

I tried, but the problem has now become the following:

    error: Multiple commands produce '/Users/marco/marco96/projects/face_room/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/WebRTC.framework':
    1) That command depends on command in Target 'Runner' (project 'Runner'): script phase “[CP] Embed Pods Frameworks”
    2) That command depends on command in Target 'Runner' (project 'Runner'): script phase “[CP] Embed Pods Frameworks”

Legacy build system does not work, as well as removing Copy Bundle Resources.

How can I solve this problem now?

Thank you

This happens when two librarles have conflict. Are u using flutter_webrtc plugin also?

Try remove it and try agai

Btw what Xcode are u using ?

In my yaml I have also flutter_webrtc: ^0.6.3
If I remove it everything works, but I need both of them.

I’m using Xcode 12.5.1

Try this:

Un your pod file at the top add:

use_frameworks! <——-after this line

pod ‘flutter_webrtc’

Then run :

pod deintegrate
Pod install
Pod update

pod install now gives this error

[!] There are multiple dependencies with different sources for `flutter_webrtc` in `Podfile`:
- flutter_webrtc
- flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)

Here the current Podfile:

platform :ios, '12.0'

use_frameworks!
pod 'flutter_webrtc'

ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
    end
  end
end

Hi, do you have any idea about how to solve the last issue?
Thanks for your patience!

not really

Hi, I tried to create a new app with only flutter_webrtc and jitsi_meet and the problem is the same.

flutter create test
cd test/
flutter pub add flutter_webrtc
flutter pub add jitsi_meet
flutter pub get
flutter run

Are you able to help me? Thank you!

should open a ticket in flutter

Maybe they would help…

If u manage to have it resolved let us know

Found something that might be useful

If this is correct you would need download the source code of the plug in jitsi_meet in your machine

and change this in build.gradle transitive to FALSE – NOTE THIS HAS TO BE IN THE JITSI PLUGIN not in your project

dependencies {
implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”

// Jitsi Meet from https://github.com/jitsi/jitsi-maven-repository/tree/master/releases/org/jitsi/react/jitsi-meet-sdk
implementation ('org.jitsi.react:jitsi-meet-sdk:3.3.0') { transitive = false }

}

Try and let me know

Not sure to understand because this is for Android, but the problem is for iOS.

I’ve opened an issue here [BUG]: Example is not working · Issue #304 · gunschu/jitsi_meet · GitHub because even the example does not work for me.