ZoomSDK for macOS crashes at initSDK (dejavu)

Continuing the discussion from ZoomSDK for macOS crashes at initSDK:

I’ve using Meeting SDK for macOS version 5.13.0.13865 (the latest atm).
My setup is probably mainly as the ZoomSDKSample distributed with the SDK - which works perfectly when running it locally with the jwt I generated, the correct Zoom ID and password.

The Xcode is Version 14.2, even if in this case it’s not relevant as the Sample compiles and works fine, but I get the same error which a couple of fellows have posted. Pity that both posts have been closed after 30 days with no solution. I really cannot see what’s wrong in my code. All frameworks are included of course.
So the issue is not related to the minimum client version the SDK requires, as @michael.zoom wrote - I guess.
The error occurs on the init line:

ZoomSDKInitParams* params = [[ZoomSDKInitParams alloc] init];
params.needCustomizedUI = NO;
params.teamIdentifier = nil;
[[ZoomSDK sharedSDK] initSDKWithParams:params];

and the error is:
Assertion failed: (FALSE), function InitPTAppApi, file ZoomSDKModuleClient.cpp

The only difference I can see is the deployment target, which is 10.13 in my project but 10.10 for the Sample. But there must be a difference… where is it… can you help me you guys that have faced it last summer? :slight_smile:

Greetings!

@giuggio,

Thank you for posting in the Zoom Developer Forum, I am happy to help here ! As a start can clarify if you are encountering an Assertion failed error when using integrating your App with Zoom SDK or the Sample APP? Additionally, are you only seeing any other error in the stack trace? If so, can you share the entire log? Reviewing the whole stack trace will help us better diagnose what may be happening.

I am looking forward to hearing back from you.

Hello @donte.zoom

Thanks for the reply.
The crash only occurs in my app, the one called LibraryMediaplayer. The ZoomSDKSample distributed with the SDK works perfectly when running it locally with the jwt I generated, the correct Zoom ID and password.
There is no much data about the crash, I attach here the stack trace:

<_NSCallStackArray 0x600001c24ae0>(
0   ???                                 0x00000001162309b7 0x0 + 4666362295,
1   LibraryMediaplayer                  0x000000010f9b3700 main + 0,
2   libsystem_c.dylib                   0x00007ff80b724ca5 abort + 123,
3   libsystem_c.dylib                   0x00007ff80b723fbe err + 0,
4   ZoomSDK                             0x0000000110cc9a7b ZoomSDK + 608891,
5   ZoomSDK                             0x0000000110cc8a90 ZoomSDK + 604816,
6   ZoomSDK                             0x0000000110cc861f ZoomSDK + 603679,
7   ZoomSDK                             0x0000000110cc886b ZoomSDK + 604267,
8   LibraryMediaplayer                  0x000000010f9a6dd4 -[ZoomViewController joinZoomAction:] + 948,
9   AppKit                              0x00007ff80ebcb502 -[NSApplication(NSResponder) sendAction:to:from:] + 323,
10  AppKit                              0x00007ff80ebcb384 -[NSControl sendAction:to:] + 86,
11  AppKit                              0x00007ff80ebcb2b6 __26-[NSCell _sendActionFrom:]_block_invoke + 131,
12  AppKit                              0x00007ff80ebcb1bf -[NSCell _sendActionFrom:] + 171,
13  AppKit                              0x00007ff80ebcb106 -[NSButtonCell _sendActionFrom:] + 96,
14  AppKit                              0x00007ff80ebc7f85 NSControlTrackMouse + 1811,
15  AppKit                              0x00007ff80ebc784e -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 121,
16  AppKit                              0x00007ff80ebc7721 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 606,
17  AppKit                              0x00007ff80ebc6b58 -[NSControl mouseDown:] + 659,
18  AppKit                              0x00007ff80ebc503a -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4283,
19  AppKit                              0x00007ff80eb3aaaa -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2595,
20  AppKit                              0x00007ff80eb39e6b -[NSWindow(NSEventRouting) sendEvent:] + 345,
21  AppKit                              0x00007ff80eb381da -[NSApplication(NSEvent) sendEvent:] + 358,
22  AppKit                              0x00007ff80edf7009 -[NSApplication _handleEvent:] + 65,
23  AppKit                              0x00007ff80e9c8018 -[NSApplication run] + 623,
24  AppKit                              0x00007ff80e99c058 NSApplicationMain + 817,
25  LibraryMediaplayer                  0x000000010f9b3722 main + 34,
26  dyld                                0x00007ff80b4aa310 start + 2432
)

Thanks in advance,
Yours sincerely

The peculiar thing is that getAuthService returns a nil in my project, right after setting the dark model:

[[ZoomSDK sharedSDK] setSupportDarkModel:YES];
[[ZoomSDK sharedSDK] setZoomDomain:@"zoom.us"];
ZoomSDKAuthService * authService = [[ZoomSDK sharedSDK] getAuthService];

but it returns an object in the sample.
There must be something missing.

Strange! It seems like the getAuthService value is not being returned as expected. This is likely the reason you are seeing that behavior. Have you crossed reference your implementation against the Sample App? Also, what happens if you remove the setSupportDarkModel: YES, does the same behavior persist?

In the meantime, here are some helpful resources which include guidance on initialize the macOS Zoom Meeting SDK:

Custom UI Feature Details : Authorization

https://marketplace.zoom.us/docs/sdk/native-sdks/macos/custom-ui-feature/#authorization

PKCE OAuth and the Meeting SDK for macOS

https://marketplace.zoom.us/docs/sdk/native-sdks/macos/build-an-app/pkce/#initialize-the-zoom-meeting-sdk

Removing the call to setSupportDarkModel does not make any difference.
Any help? Note that the microphone and camera permission strings in info.plist are set correctly.
Maybe it’s a minor issue, but I don’t see the framework called Aircon.app in the target’s frameworks, even if it’s positively referenced. Weird behaviour, any ideas about that?

As the error message has a line number in the source code, please @donte.zoom could you tell me what that line is doing?

Assertion failed: (FALSE), function InitPTAppApi, file ZoomSDKModuleClient.cpp, line 158.

@giuggio ,

The error you are seeing is often caused by the incorrect implementation of the SDK. It appears that the getAuthService value is returning nil, which can prevent the SDK from initializing successfully. To troubleshoot this issue, we recommend checking your project configuration against the sample project provided by us. Make sure that your project is set up according to the screenshot in the sample project, as failure to do so can cause the libraries to fail to load and the SDK to not initialize correctly.

You are right. There are some discrepancies in those lists in comparison with the sample project. Thanks for pointing it out

The fact is it’s very difficult to use the SDK as the way it has been implemented in the sample has not an installation script. It means Xcode adds references and build phases according to its standards. When Xcode does that and a user modifies those lists in the way they appear in the sample project, some other errors occur such as code signing. I hope you could make your developers aware of that. It would be wonderful to add an installation script for all the frameworks needed and their properties.

@giuggio ,

I’m glad you were able to solve the problem you were experiencing. You have a good suggestion that adding an installation script for all the necessary frameworks and their properties would be useful. It seems that not having an installation script can lead to unintended behavior. In effect, when a developer modifies the lists and Xcode changes accordingly, it can sometimes cause other errors, such as code signing. I will pass this suggestion along to our engineering team as I can see how it would help prevent similar issues in the future.

Please let me know if you have any additional feedback or comments.

Yes, thanks. And true, code signing can be an issue too. Besides the keychain permission dialog box, which appears every time I run the project :slight_smile:

1 Like

Thanks for the additional feedback, @giuggio ! I will be sure to pass it along to our engineer team.

1 Like