# Try the demo app The Plugin SDK for macOS includes a demo application `PSDKSample.zip`. This is an Xcode project demonstrating how to configure and integrate the PSDK libraries into your own project. Before running the demo app, install Zoom Workplace and login. You also need an OAuth 2.0 access token for authentication. If you get a link error in older Xcode versions, set your **Build Location** to **Legacy** in your Xcode settings. ## Build and run the demo apps 1. Open `PSDKSample/PSDKSample.xcworkspace` in Xcode. 1. Select the **PSDKSample** scheme and a **Release** build configuration targeting your Mac. 1. Build the project under **Product > Build**. 1. Run the generated `PSDKSample.app` from Xcode, or launch it from the build output folder under **Product > Show Build Folder in Finder**. 1. In the app's main window, fill in the **Access Token** field, then select **InitSDK** to initialize the SDK. 1. Start or join meetings from the **PreMeeting** window. - **To start a meeting** - enter the Meeting ID in the **Start Meeting** section, then select **Start Meeting**. - **To join a meeting** - enter the Meeting ID, a display name, and a passcode if required in the **Join Meeting** section, then select **Join Meeting**. 1. Use the other controllers to validate additional features. 1. Before quitting the app, select **UnintSDK**. ## Play with the demo app This demo is a functional test app for the Plugin SDK APIs. After entering the token or domain and initializing, customers can interact with major meeting toolkits and see callback results in real time. After launching your demo app, enter your access token and domain https://zoom.us, then select **InitSDK** to establish an IPC connection with Zoom Workplace. Once the connection is established, control the Zoom Workplace through various API calls, such as starting a meeting. ![Plugin SDK for macOS demo app screenshot](/img/docs/PluginSDK-macOS-demoApp-1.png) - **Initialize and connect** - Fill Token and Domain, select InitSDK. Observe auth or IPC connection status and callback logs. - **Pre-meeting actions** - StartMeeting with meeting number, and JoinMeeting with meeting number, display name, and passcode. - **In-meeting controls** - Meeting state related operations like status or listener verification; participant-related actions and status updates. - **Media controls** - Video and audio operation testing, like on and off or mute and unmute-related flows. - **Share capabilities** - Start or share different content types like monitor, app, audio, or other share flows exposed by the SDK. - **Chat and reactions** - Chat-related operations and unread or chat-window state callbacks; emoji or reaction-related callbacks. - **Recording** - Local or cloud recording capability checks and start actions. - **UI, annotation, and settings test panels** - UI action APIs, annotation APIs, and settings APIs exposed in separate tabs. - **Live callback and log verification** - Every action writes direct-call result and async callback result to the output list, so customers can validate API behavior immediately.