MobileRTCResources.bundle in Development pod

Description
I created a custom capacitor plugin for zoom and I’m not able to include MobileRTCResources.bundle in Development pod.

In my podspec file, I added below line, this successfully added MobileRTC into my pod code
s.vendored_frameworks = “MobileRTC.xcframework”

But for including MobileRTCResources.bundle, I tried different podspec like .resource, resources, resource_bundles, etc. Nothing working
It is visible in xCode, however I’m getting below error when I try to initialise meeting SDK

2022-06-23 11:08:31.005900+0200 App[18225:552596] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: '* -[NSBundle initWithURL:]: nil URL argument’**

***** First throw call stack:**

(0x180e1bd0c 0x19860cee4 0x18253cbe4 0x1825135e0 0x105a9b370 0x101fbdfc8 0x101fbf934 0x105a9b174 0x1065a0ba0 0x10759566c 0x10757f8d8 0x107731294 0x10772b2d4 0x10779d6bc 0x10779d234 0x106716698 0x105de925c 0x106625484 0x106685038 0x106684eec 0x10667e3a8 0x10667db04 0x106572d10 0x106572cdc 0x105ac735c 0x1824cdea8 0x180e30258 0x180db9af8 0x180db46b0 0x180d943a4 0x180da7240 0x1a1891988 0x1835a741c 0x183340b88 0x100fb4b58 0x1010483d0)

libc++abi: terminating with uncaught exception of type NSException

dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

terminating with uncaught exception of type NSException

*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘*** -[NSBundle initWithURL:]: nil URL argument’

Which iOS Meeting SDK version?
zoom-sdk-ios-5.10.6.3611

Smartphone (please complete the following information):

  • Device: iPhone 7
  • OS: iOS 15.5

There is a post with the exact same issue Including the MobileRTC.xcframework & MobileRTCResources.bundle in Development pod

@sambasiva.r.dodigam

I was able to fix this issue with the help for Zoom iOS developers

Pod::Spec.new do |s|
s.name = ‘ZoomMeetingSDK’
s.version = ‘0.1.0’
s.summary = ‘A short description of ZoomPod1.’

s.description = <<-DESC
TODO: Add long description of the pod here.
DESC

s.homepage = ‘Sambsiva · GitHub Rao/ZoomPod1’

s.screenshots = ‘www.example.com/screenshots_1’, ‘www.example.com/screenshots_2

s.license = { :type => ‘MIT’, :file => ‘LICENSE’ }
s.author = { ‘Sambsiva Rao’ => ‘’ }
s.source = { :git => ‘Sambsiva · GitHub Rao/ZoomPod1.git’, :tag => s.version.to_s }

s.social_media_url = ‘https://twitter.com/<TWITTER_USERNAME>’

s.ios.deployment_target = ‘9.0’

s.source_files = ‘ZoomPod1/Classes/**/*’

s.vendored_frameworks = “lib/MobileRTC.xcframework”
s.resources = ‘lib/MobileRTCResources.bundle’

s.pod_target_xcconfig = { ‘EXCLUDED_ARCHS[sdk=iphonesimulator*]’ => ‘arm64’ }
s.user_target_xcconfig = { ‘EXCLUDED_ARCHS[sdk=iphonesimulator*]’ => ‘arm64’ }
end

    let context = MobileRTCSDKInitContext()
    context.domain = "zoom.us"
    context.enableLog = true

// context.bundleResPath = bundle.privateFrameworksPath!+“/ZoomMeetingSDK.framework” // If the ZoomManager is in the ZoomPod1 project, use this path.
context.bundleResPath = bundle.bundlePath // If the Zoommanager is in the DevelopmentPod, use this path.

    let sdkInitializedSuccessfully = MobileRTC.shared().initialize(context)
    print ("SDK init: " + String(sdkInitializedSuccessfully))

    if sdkInitializedSuccessfully == true, let authorizationService = MobileRTC.shared().getAuthService() {
        print("Going to do SDK Auth ---> ")
        //Set the delegate
        authorizationService.delegate = self
        authorizationService.jwtToken = sdkToken
        authorizationService.sdkAuth()
    }

1 Like

That worked for me! Thanks man!