calvinckho / capacitor-jitsi-meet

This plugin is used to make video calls using Jitsi video platform (https://meet.jit.si) on iOS and Android using Ionic Capacitor.
85 stars 40 forks source link

No iOS 18.0 Support due to Giphy dependency Bitcode #118

Open gasci opened 1 month ago

gasci commented 1 month ago

We need to upgrade the Giphy dependency as soon as possible to add iOS 18.0 and the latest XCode support.

Asset validation failed (90482)
Invalid Executable. The executable 'App.app/Frameworks/GiphyUISDK.framework/GiphyUISDK' contains bitcode. (ID: 0b2313d5-6541-4bd6-b079-8a1691ff9e15)

Please read the this post.

As long as we have Giphy under the dependencies, iOS uploads will always fail: https://github.com/jitsi/jitsi-meet-sdk-samples/blob/master/ios/objc/JitsiSDKTest/Podfile.lock

gasci commented 1 month ago

One possible solution is mentioned here:

post_install do |installer|
  bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
    def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
      framework_path = File.join(Dir.pwd, framework_relative_path)
      command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
      puts "Stripping bitcode: #{command}"
      system(command)
    end

    framework_paths = [
      "Pods/Giphy/GiphySDK/GiphyUISDK.xcframework/ios-arm64/GiphyUISDK.framework/GiphyUISDK",
      "Pods/Giphy/GiphySDK/GiphyUISDK.xcframework/ios-arm64_x86_64-simulator/GiphyUISDK.framework/GiphyUISDK",
      "Pods/Giphy/GiphySDK/GiphyUISDK.xcframework/ios-arm64_x86_64-maccatalyst/GiphyUISDK.framework/GiphyUISDK",
    ]

    framework_paths.each do |framework_relative_path|
      strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
    end

  assertDeploymentTarget(installer)
end
calvinckho commented 1 month ago

@gasci may I know what version of the plugin did you use?

calvinckho commented 1 month ago

@gasci did you see the error during build in XCode or during upload to Test Flight?

gasci commented 1 month ago

@calvinckho thank you for the quick response.

1) I am using the latest (6.1.0) version. 2) It build the binary with success. 3) It is not possible to upload the binary via fastlane (this is my default pipeline) or Transporter (tried it when fastlane failed) due the bitcode error above. 4) But the temporary workaround I shared above worked the binary upload issue. But I have the impression that we require a proper solution. Basically using a Giphy SDK version without bitcode etc.

calvinckho commented 1 month ago

Hi @gasci, I have done some more searches but do not find anything that is helpful to the issue you reported. Have you reported this on the Jitsi Meet repo since this is caused by a problematic dependency used by the SDK?

gasci commented 1 month ago

Not yet. We depend on them. True. The workaround above should fix the issue for now.