Zoom Mac SDK has been released!

Hi All, 

please visit https://github.com/zoom/zoom-sdk-macos for latest build. 

for previous builds, please visit: https://github.com/zoom/zoom-sdk-macos/releases

Best

Code Signing Issues :

After integrating Zoom MAC SDK in my app I can not able to run the code with my development profile as it is giving me errors but if I am removing zoom SDK frameworks then it will run successfully with that profile. I think there is no issue with my certificate and profile as without Zoom SDK it works fine. Same issues occurs while I am generating archive with distribution profile. If I am selecting “Don’t code signing” then zoom sdk running successfully in my app. Appreciated your response. Thanks.

Hi All, Zoom Mac SDK frameworks and bundles have been signed with zoom identity, so it won’t support pkg or archive with xcode.

if u want to sign and pkg your app, I suggest u to do it with shell.

here is a sample sign shell:

#Sign Zoom SDK

echo --sign airhost –

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app/Contents/Frameworks/libavcodec.55.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app/Contents/Frameworks/libavformat.55.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app/Contents/Frameworks/libavutil.52.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app/Contents/Frameworks/libswscale.2.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app

echo --sign frameworks –

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/airhost.app

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/annoter.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/asproxy.framework/Versions/A/asproxy

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/cmmlib.framework/Versions/A/cmmlib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/curl_openssl_framework.framework/Versions/A/curl_openssl_framework

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/faac.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/libcrypto.1.0.0.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/libssl.1.0.0.dylib

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/mcm.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/nydus.framework/Versions/A/nydus

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/protobuf.framework/Versions/A/protobuf

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/Transcode.app

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/ssb_sdk.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/tp.framework/Versions/A/tp

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/util.framework/Versions/A/util

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/viper.framework/Versions/A/viper

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/xmpp_framework.framework/Versions/A/xmpp_framework

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zAutoUpdate.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zChatApp.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/ZCommonUI.framework/Versions/A/ZCommonUI

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zData.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zlt.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zmb.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/ZoomSDK.framework/Versions/A/ZoomSDK

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zSDKRes.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zVideoApp.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zVideoUI.bundle

codesign --force --verify --verbose --sign “Your identity” ZoomSDK/zWebService.bundle

Code Signing Issues :

Hello Zoom Team,

Thanks for your response on my posted issue.

I have signed all the zoom framework with shell as you have suggested and provided terminal command to me but I am getting same issue as I am getting previous one. Still it is giving me same error “code object is not signed at all”.

Below is my terminal commands for signing all zoom frameworks and bundles :

#Sign Zoom SDK
echo --sign airhost –
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app/Contents/Frameworks/libavcodec.55.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app/Contents/Frameworks/libavformat.55.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app/Contents/Frameworks/libavutil.52.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app/Contents/Frameworks/libswscale.2.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app
echo --sign frameworks –
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/airhost.app
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/annoter.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/asproxy.framework/Versions/A/asproxy
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/cmmlib.framework/Versions/A/cmmlib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/curl_openssl_framework.framework/Versions/A/curl_openssl_framework
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/faac.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/libcrypto.1.0.0.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/libssl.1.0.0.dylib
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/mcm.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/nydus.framework/Versions/A/nydus
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/protobuf.framework/Versions/A/protobuf
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/Transcode.app
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/ssb_sdk.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/tp.framework/Versions/A/tp
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/util.framework/Versions/A/util
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/viper.framework/Versions/A/viper
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/xmpp_framework.framework/Versions/A/xmpp_framework
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zAutoUpdate.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zChatApp.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/ZCommonUI.framework/Versions/A/ZCommonUI
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zData.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zlt.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zmb.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/ZoomSDK.framework/Versions/A/ZoomSDK
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zSDKRes.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zVideoApp.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zVideoUI.bundle
codesign --force --verify --verbose --sign “WWJB6NCAHY” ZoomSDK/zWebService.bundle

Appreciated your response.

Thanks.

Hello Zoom,

I also implemented zoom sdk for my mac desktop app.

I am aslo facing same issue and error. I try to make .pkg file without xcode and with xcode but i am getting same Code object is not signed at all error.

Please help me to solve this issue.

Thank You.

I’ve updated this script with what I think are the current files that need signing…

echo --sign airhost –
codesign --force --verify --verbose --sign “" ZoomSDK/airhost.app/Contents/Frameworks/libavcodec.55.dylib
codesign --force --verify --verbose --sign "
” ZoomSDK/airhost.app/Contents/Frameworks/libavformat.55.dylib
codesign --force --verify --verbose --sign “" ZoomSDK/airhost.app/Contents/Frameworks/libavutil.52.dylib
codesign --force --verify --verbose --sign "
” ZoomSDK/airhost.app/Contents/Frameworks/libswscale.2.dylib
codesign --force --verify --verbose --sign “" ZoomSDK/airhost.app
echo --sign frameworks –
codesign --force --verify --verbose --sign "
” ZoomSDK/airhost.app
codesign --force --verify --verbose --sign “" ZoomSDK/annoter.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/asproxy.framework/Versions/A/asproxy
codesign --force --verify --verbose --sign “" ZoomSDK/cmmlib.framework/Versions/A/cmmlib
codesign --force --verify --verbose --sign "
” ZoomSDK/curl_openssl_framework.framework/Versions/A/curl_openssl_framework
codesign --force --verify --verbose --sign “" ZoomSDK/faac.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/libcrypto.1.0.0.dylib
codesign --force --verify --verbose --sign “" ZoomSDK/libssl.1.0.0.dylib
codesign --force --verify --verbose --sign "
” ZoomSDK/mcm.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/nydus.framework/Versions/A/nydus
codesign --force --verify --verbose --sign "
” ZoomSDK/protobuf.framework/Versions/A/protobuf
codesign --force --verify --verbose --sign “" ZoomSDK/Transcode.app
codesign --force --verify --verbose --sign "
” ZoomSDK/ssb_sdk.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/tp.framework/Versions/A/tp
codesign --force --verify --verbose --sign "
” ZoomSDK/util.framework/Versions/A/util
codesign --force --verify --verbose --sign “" ZoomSDK/viper.framework/Versions/A/viper
codesign --force --verify --verbose --sign "
” ZoomSDK/xmpp_framework.framework/Versions/A/xmpp_framework
codesign --force --verify --verbose --sign “" ZoomSDK/zAutoUpdate.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/zChatApp.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/ZCommonUI.framework/Versions/A/ZCommonUI
codesign --force --verify --verbose --sign "
” ZoomSDK/zData.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/zlt.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/zmb.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/ZoomSDK.framework/Versions/A/ZoomSDK
codesign --force --verify --verbose --sign "
” ZoomSDK/zSDKRes.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/zVideoApp.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/zVideoUI.bundle
codesign --force --verify --verbose --sign “" ZoomSDK/zWebService.bundle
codesign --force --verify --verbose --sign "
” ZoomSDK/capHost.app
codesign --force --verify --verbose --sign “" ZoomSDK/aomHost.app
codesign --force --verify --verbose --sign "
” ZoomSDK/SDK_Transcode.app
codesign --force --verify --verbose --sign “***” ZoomSDK/cptHost.app
codesign --force --verify --verbose --sign “Mac Developer: Richard Williamson (BW3GF27E76)” ZoomSDK/mphost.app

After banging my head painfully against this for a few more days I think the below is now the required items that need signing. I suspect there is a better way to do this and if there is someone please advise, but for now - and to avoid anyone else going through the same pain - here is what works at the moment (remember to change the signing cert to yours)

echo --sign airhost –
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/airhost.app/Contents/Frameworks/libavcodec.58.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/airhost.app/Contents/Frameworks/libavformat.58.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/airhost.app/Contents/Frameworks/libavutil.56.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/airhost.app/Contents/Frameworks/libswscale.5.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/airhost.app
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/aomHost.app/Contents/Frameworks/libcmlFramework.framework
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/aomHost.app/Contents/Frameworks/libmklFramework.framework
codesign --force --verify --timestamp --verbose --deep --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/aomHost.app/Contents/Frameworks/libcmlFramework.framework/Versions/A/libcmlFramework
codesign --force --verify --timestamp --verbose --deep --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/aomHost.app/Contents/Frameworks/libmklFramework.framework/Versions/A/libmklFramework
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/aomhost.app

echo --sign frameworks –
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/viperex.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/capHost.app
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/annoter.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/asproxy.framework/Versions/A/asproxy
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/cmmlib.framework/Versions/A/cmmlib
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/mcm.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/nydus.framework/Versions/A/nydus
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/protobuf.framework/Versions/A/protobuf
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/ssb_sdk.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/tp.framework/Versions/A/tp
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/util.framework/Versions/A/util
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/viper.framework/Versions/A/viper
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/xmpp_framework.framework/Versions/A/xmpp_framework
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/zAutoUpdate.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/zChatApp.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/ZCommonUI.framework/Versions/A/ZCommonUI
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/zData.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/zlt.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/zmb.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/ZoomSDK.framework/Versions/A/ZoomSDK
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/zSDKRes.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/zVideoApp.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/zWebService.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/SDK_Transcode.app
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/cptHost.app
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/mphost.app
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/libcrypto.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/libssl.dylib
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/aomagent.bundle
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/asproxy.framework
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3A)" ZoomSDK/cmmlib.framework
codesign --force --verify --timestamp --verbose --options=runtime --sign "Developer ID Application: Richard Williamson (3
A)” ZoomSDK/curl64.framework
codesign --force --verify --timestamp --verbose --options=runtime --sign “Developer ID Application: Richard Williamson (3*****A)” ZoomSDK/ZoomSDKVideoUI.framework

1 Like

Thank you @richard1 for working tirelessly on this!

You are a valuable asset to the Zoom macOS developer community as a whole! :blue_heart:

I wonder why zoom cannot provide this kind of basic information?

Hey @tmiskiew,

We apologize for the lack of proper documentation. It is on our roadmap to fix the documentation for the macOS SDK.

Thanks!
Michael

Hi @niravd,

Have you tried the solutions offered previously in this topic? It seems that you only signed some of the SDK package.

Thanks!

Hi @jon.zoom Yes I have tried the solution mentioned above by @richard1 by specifying my certificate details and the sdk path.

But it didn’t work. Hence I had to try these commands mentioned below

codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/SDK_Transcode.app”
codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/cptHost.app”
codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/aomHost.app”
codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/capHost.app"
codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/airhost.app"
codesign --deep --force --verify --verbose --timestamp --options runtime  --sign "3rd Party Mac Developer Application: Nirav Desai(XXXXYYYY)" "Framework/aomHost.app" 

Result for SDK_Transcode.app is mentioned below similar result was shown for other .app files mentioned above:

Framework/SDK_Transcode.app: replacing existing signature
Framework/SDK_Transcode.app: signed app bundle with Mach-O universal (x86_64 arm64) [us.zoom.SDKTranscode]

earlier I signed only above mentioned sdk’s because these were the only ones highlighted by Xcode and the build got succeeded completing it.

I request to confirm me if the steps I am following above is it correct? If not kindly let me know what are the changes to be made in the previous mentioned solution by @richard1

Xcode Version 12.5
macOS Big Sur
SDK Version : zoom-sdk-macos-5.7.6.1340
MacBook Pro (16-inch, 2019)
Processor : 2.3 GHz 8-Core Intel Core i9

Hi @niravd,

When you say that “it didn’t work”, can you please clarify exactly what is happening when you try this approach?

Thanks!

HI @jon.zoom the above solution worked for me the issue was I was not having the Developer ID Application Certificate and I was using 3rd Party Mac Developer Application certificate.

Thank you for the support

Does this application be Pushed to App Store does apple allow ?

Hi @niravd,

That’s great to hear you were able to resolve this!

Does this application be Pushed to App Store does apple allow ?

Unfortunately the SDK does not currently support running in sandbox mode, which is required for publishing the the App Store.

Thanks!

Ok @jon.zoom thank you for your response, is there any possibility anytime soon for Sandbox mode support ?

Hi @niravd,

We currently do not have any plans to add sandbox support, as publishing on the macOS App Store is not a priority at this time.

Thanks!