Installation
Description
In this section, you can find all the information related to the integration of:
| Consultation List | Chat | My Health | Videocall | ![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
Requirements
Please make sure you are using the last Xcode compatible with our SDK
| Swift | Xcode | MeetingDoctors | iOS | Status |
|---|---|---|---|---|
| 5.7 | 16.4 | 8.x.x+ | 13.0+ | Supported |
| 6.0 | 16.4 | 9.x.x+ | 13.0+ | Supported |
In order to check the last updates please check our Release Notes.
Swift Package Manager
To install the MeetingDoctors library you must first include MeetingDoctors package.
Steps:
- Open Xcode then select Project > Package Dependencies > "+"
- Add repo url:
https://github.com/Meeting-Doctors/meetingdoctors-sdk-spm
Access permissions
The MeetingDoctors SDK requires explicit user authorization to access system resources such as the camera, photo library, and microphone.
Failure to declare the appropriate permission keys in the app's Info.plist will result in runtime exceptions.
Access to the device camera or photo gallery always requires explicit authorization from the user. For more details, see Apple’s documentation on requesting media capture permissions: Apple Documentation
Your application must provide clear and meaningful explanations for why these resources are required by including the following usage description keys in the Info.plist.
These messages are presented to the user during the system permission prompt.
Attempting to access the camera, microphone, local network, or photo library without providing the corresponding usage description in the Info.plist will result in an exception.
Required Info.plist Keys
<key>NSCameraUsageDescription</key>
<string>#NSCameraUsageDescription</string>
<key>NSMicrophoneUsageDescription</key>
<string>#NSMicrophoneUsageDescription</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>#NSPhotoLibraryUsageDescription</string>
Optional Info.plist Keys
The following key is optional and only required if your app uses features that involve local network communication:
<key>NSLocalNetworkUsageDescription</key>
<string>#NSLocalNetworkUsageDescription</string>
| Key | Requied | Purpose |
|---|---|---|
NSCameraUsageDescription | Yes | Allows access to the device camera to capture images or start a camera session. |
NSMicrophoneUsageDescription | Yes | Required for audio capture during calls or voice interactions. |
NSPhotoLibraryUsageDescription | Yes | Enables selecting or attaching photos from the user’s gallery. |
NSLocalNetworkUsageDescription | Optional | Needed only if the app communicates over the local network. |
Background Modes (Signing & Capabilities)
In order to support real-time communication, push notifications and certain background behaviors, the app must be configured with the appropriate Background Modes in Xcode.
To configure them:
- Open your project in Xcode.
- Select your app target.
- Go to the Signing & Capabilities tab.
- Click + Capability and add Background Modes.
- Enable the following options:
Recommended Background Modes
| Option | Required | Purpose |
|---|---|---|
Audio, AirPlay, and Picture in Picture | Recommended | Allows ongoing audio/video consultations to continue correctly when the app goes to the background. |
Background fetch | Optional | Allows the app to periodically fetch and refresh data in the background (e.g. updating pending consultations or messages). |
Background processing | Optional | Enables longer-running background tasks when the system grants time for maintenance or synchronization. |
Remote notifications | Required | Allows the app to receive and handle push notifications while in the background, including updating UI state before the user opens the app. |
Only enable the background modes that are actually used by your application. Enabling unnecessary modes may lead to App Review questions or rejection.
Entitlements
In addition to configuring the required Background Modes in Xcode, the corresponding entitlements must also be enabled in the Apple Developer portal.
These entitlements allow the application to receive and process push notifications at the system level.
Enabling Push Notification Entitlements
- Sign in to the Apple Developer Portal.
- Navigate to Certificates, Identifiers & Profiles.
- Select your App ID.
- Under Capabilities, enable the following entitlement:
Recommended Entitlements
| Option | Required | Purpose |
|---|---|---|
Push Notifications | Yes | Enables APNs registration and reception of remote notifications, including consultation updates and system alerts. |
If the Push Notifications entitlement is not enabled, the app will fail to register with APNs and will not receive remote notifications — even if Background Modes are correctly configured in Xcode.
Integration
To use the library is necessary to import it in our AppDelegate:
import MeetingDoctorsSDK
Next, once the system notifies that your application is active, you should initializate the framework using the following method:
- MeetingDoctors.Configuration
- apikey
- The API Key for the environment.
- environment (default .production)
- If set to
.production, the SDK interacts with the production environment. - If set to
.staging, the SDK will communicate with the staging environment.
- If set to
- apikey
public static func initialize(configuration: MeetingDoctors.Configuration) async throws -> UUID
Implementation example
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
[...]
let configuration = MeetingDoctors.Configuration(apikey: apikey)
let uuid = try await MeetingDoctors.initialize(configuration: configuration)
[...]
}



