# Share directly to a Zoom Room > The code on this page works with either the **default UI** or the **custom UI**. The SDK lets you share directly to a Zoom Room device through a few method calls. ```swift guard let directShareService = MobileRTC.shared().getDirectShareService() else { return } if directShareService.canStartDirectShare() { directShareService.startDirectShare() } ``` ```objectivec MobileRTCDirectShareService *directShareService = [[MobileRTC sharedRTC] getDirectShareService]; if (!directShareService) { return; } if ([directShareService canStartDirectShare]) { [directShareService startDirectShare]; } ``` Conform to the `MobileRTCDirectShareServiceDelegate` to receive the direct share status callback. ```swift guard let directShareService = MobileRTC.shared().getDirectShareService() else { return } directShareService.delegate = self extension ViewController: MobileRTCDirectShareServiceDelegate { func onDirectShareStatusUpdate(_ status: MobileRTCDirectShareStatus, handler: MobileRTCDirectShareViaMeetingIDOrPairingCodeHandler?) { if status == .need_MeetingID_Or_PairingCode { handler?.try(withMeetingNumber: "MEETING_NUMBER") // Join using meeting_number, OR handler?.try(withPairingCode: "PAIRING_CODE") // Join using pairing_code } } } ``` ```objectivec // In your .h file, conform to the ZoomSDKDirectShareHelperDelegate @interface ViewController : UIViewController // In your .m file, add the required delegate and the onDirectShareStatusUpdate callback available MobileRTCDirectShareService *directShareService = [[MobileRTC sharedRTC] getDirectShareService]; if (!directShareService) { return; } directShareService.delegate = self; - (void)onDirectShareStatusUpdate:(MobileRTCDirectShareStatus)status handler:(MobileRTCDirectShareViaMeetingIDOrPairingCodeHandler *)handler { if (status == MobileRTCDirectShareStatus_Need_MeetingID_Or_PairingCode) { [handler TryWithMeetingNumber:@"MEETING_NUMBER"]; // Join using meeting_number, OR [handler TryWithPairingCode:@"PAIRING_CODE"]; // Join using pairing_code } } ``` Before stopping a direct share session, confirm that a share is already in progress. ```swift if directShareService.isDirectShareInProgress() { directShareService.stopDirectShare() } ``` ```objectivec if ([directShareService isDirectShareInProgress]) { [directShareService stopDirectShare]; } ``` ---