Video SDK React Native 1.12.5 build error

Hello,

I am attempting to upgrade from Zoom Video SDK React Native 1.11.0 to 1.12.5. I am seeing the following errors in the EAS build system. (see end of post).

I also see them on my machine locally, but when I manually update the file RCTConvert+RNZoomVideoSdk.m and correct the spelling it works.

Please resolve, update Errors_Session_Disconncting to Errors_Session_Disconnecting , ZoomVideoSDKAudioType_Unknow to ZoomVideoSDKAudioType_Unknown and Errors_Session_Reconncting to Errors_Session_Reconnecting so that my CI/CD pipeline can work with the new versions.

Thanks,

Ray.

/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:116:52: error: use of undeclared identifier 'Errors_Session_Reconncting'; did you mean 'Errors_Session_Reconnecting'?
       @"ZoomVideoSDKError_Session_Reconncting": @(Errors_Session_Reconncting),
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                                   Errors_Session_Reconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:13:11: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
mapping = values;                                     \
          ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:51:5: note: 'Errors_Session_Reconnecting' declared here
    Errors_Session_Reconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:117:53: error: use of undeclared identifier 'Errors_Session_Disconncting'; did you mean 'Errors_Session_Disconnecting'?
       @"ZoomVideoSDKError_Session_Disconncting": @(Errors_Session_Disconncting),
                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                    Errors_Session_Disconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:13:11: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
mapping = values;                                     \
          ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:52:5: note: 'Errors_Session_Disconnecting' declared here
    Errors_Session_Disconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:116:52: error: use of undeclared identifier 'Errors_Session_Reconncting'; did you mean 'Errors_Session_Reconnecting'?
       @"ZoomVideoSDKError_Session_Reconncting": @(Errors_Session_Reconncting),
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                                   Errors_Session_Reconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:22:25: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *keys = values.allKeys;                     \
                        ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:51:5: note: 'Errors_Session_Reconnecting' declared here
    Errors_Session_Reconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:117:53: error: use of undeclared identifier 'Errors_Session_Disconncting'; did you mean 'Errors_Session_Disconnecting'?
       @"ZoomVideoSDKError_Session_Disconncting": @(Errors_Session_Disconncting),
                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                    Errors_Session_Disconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:22:25: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *keys = values.allKeys;                     \
                        ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:52:5: note: 'Errors_Session_Disconnecting' declared here
    Errors_Session_Disconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:116:52: error: use of undeclared identifier 'Errors_Session_Reconncting'; did you mean 'Errors_Session_Reconnecting'?
       @"ZoomVideoSDKError_Session_Reconncting": @(Errors_Session_Reconncting),
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                                   Errors_Session_Reconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:23:33: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *valuesArray = [values objectsForKeys:keys notFoundMarker:[NSNull null]];    \
                                ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:51:5: note: 'Errors_Session_Reconnecting' declared here
    Errors_Session_Reconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:117:53: error: use of undeclared identifier 'Errors_Session_Disconncting'; did you mean 'Errors_Session_Disconnecting'?
       @"ZoomVideoSDKError_Session_Disconncting": @(Errors_Session_Disconncting),
                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                    Errors_Session_Disconnecting
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:23:33: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *valuesArray = [values objectsForKeys:keys notFoundMarker:[NSNull null]];    \
                                ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:52:5: note: 'Errors_Session_Disconnecting' declared here
    Errors_Session_Disconnecting,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:171:45: error: use of undeclared identifier 'ZoomVideoSDKAudioType_Unknow'; did you mean 'ZoomVideoSDKAudioType_Unknown'?
        @"ZoomVideoSDKAudioType_Unknow" : @(ZoomVideoSDKAudioType_Unknow),
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            ZoomVideoSDKAudioType_Unknown
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:13:11: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
mapping = values;                                     \
          ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:118:5: note: 'ZoomVideoSDKAudioType_Unknown' declared here
    ZoomVideoSDKAudioType_Unknown,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:171:45: error: use of undeclared identifier 'ZoomVideoSDKAudioType_Unknow'; did you mean 'ZoomVideoSDKAudioType_Unknown'?
        @"ZoomVideoSDKAudioType_Unknow" : @(ZoomVideoSDKAudioType_Unknow),
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            ZoomVideoSDKAudioType_Unknown
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:22:25: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *keys = values.allKeys;                     \
                        ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:118:5: note: 'ZoomVideoSDKAudioType_Unknown' declared here
    ZoomVideoSDKAudioType_Unknown,
    ^
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:171:45: error: use of undeclared identifier 'ZoomVideoSDKAudioType_Unknow'; did you mean 'ZoomVideoSDKAudioType_Unknown'?
        @"ZoomVideoSDKAudioType_Unknow" : @(ZoomVideoSDKAudioType_Unknow),
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            ZoomVideoSDKAudioType_Unknown
/Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.m:23:33: note: expanded from macro 'RCT_ENUM_CONVERTER_WITH_REVERSED'
        NSArray *valuesArray = [values objectsForKeys:keys notFoundMarker:[NSNull null]];    \
                                ^
In module 'ZoomVideoSDK' imported from /Users/expo/workingdir/build/node_modules/@zoom/react-native-videosdk/ios/RCTConvert+RNZoomVideoSdk.h:2:
/Users/expo/Library/Developer/Xcode/DerivedData/TapHerobeta-ezqviswlcmzbugakuzdfenfbeocn/Build/Intermediates.noindex/ArchiveIntermediates/TapHerobeta/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/Headers/ZoomVideoSDKConstants.h:118:5: note: 'ZoomVideoSDKAudioType_Unknown' declared here
    ZoomVideoSDKAudioType_Unknown,
    ^
9 errors generated.

Hey @ray.elward, I think you might have a dependency version mismatch between RN SDK and iOS pods. I believe your RN version is 1.12.5 but if you update pods automatically it’ll fetch the latest iOS pod that are 1.12.10 causing the error you shared.

I tried updating this project from v1.11.1 to v1.12.5. I got the same error as you, I edited the ios/Podfile.lock to use 1.12.5 for these dependencies:

  - ZoomVideoSDK/CptShare (1.12.5)
  - ZoomVideoSDK/zm_annoter_dynamic (1.12.5)
  - ZoomVideoSDK/zoomcml (1.12.5)
  - ZoomVideoSDK/ZoomVideoSDK (1.12.5)

These previously got pinned to 1.12.10, when I’d run pod update.
I then deleted the ios/pods/ directory and re ran npx pod-install. Now the project should build using yarn ios or xcode/eas.

Thanks for flagging this, I’ll share the feedback with engineering to make sure we can avoid any incompatibilities in the future.

Thanks for your reply. You are correct.

This works well for building locally.

The EAS build system creates the iOS folder from scratch every build, and appears to pull down the version mismatches still cached from somewhere in npm / cocoa pods potentially

I guess i’ll wait until 1.12.10 comes to RN to attempt to upgrade again.

This is what i see in the install pods step directly after it creates the new ios directory.

Thanks for reporting this, @ray.elward

1 Like

Hey @ray.elward we’re working internally to resolve this, in the mean time this expo plugin: GitHub - rgomezp/expo-pod-pinner: The Pod Pinner plugin allows you to modify your Podfile in a managed workflow. might be helpful to pin the pod version to 1.12.5.

1 Like