--- title: "iOS SDK Quickstart" slug: "ios-quickstart-guide" description: "Create a HelloWorld app in Xcode and integrate the ScreenMeet Mobile SDK for seamless app streaming to your support sessions." updated: 2023-07-24T15:20:49Z published: 2023-07-24T15:20:49Z canonical: "docs.screenmeet.com/ios-quickstart-guide" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.screenmeet.com/llms.txt > Use this file to discover all available pages before exploring further. # iOS SDK Quickstart ## Overview In this guide, you will create a HelloWorld app using Xcode and integrate the ScreenMeet Mobile SDK. You will be able to being streaming the app to the ScreenMeet session. ## Prerequisites - Latest version of Xcode is installed. - Latest version of [cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation) is installed. - You have a [Mobile API key](https://docs.screenmeet.com/v1/docs/getting-a-mobile-api-key) generated for your organization. - You have access to create a remote support session for your organization either through Salesforce or the [ScreenMeet Console](https://console.screenmeet.com). ## Step 1 -- Create a New Project in Xcode. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601575353403.png) ## Step 2 -- Specify the Product Name for the new app, then click Next. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601575445396.png) ## Step 3 -- Specify the location where the project should be created. Set the project compatibility to "Xcode 13.0-compatible". ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/Screenshot%202023-01-23%20at%209.55.58%20AM.png) ## Step 4 -- Close the project, open a terminal and navigate to your HelloWorld folder. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601575724952.png) ## Step 5 -- Initialize Cocoapods for your project and edit the Podfile, adding the ScreenMeetSDK dependency. Initialize Cocoapods within the HelloWorld Project: ```shell pod init ``` Edit the podfile with your favorite editor. ```shell vi Podfile ``` Add the ScreenMeetSDK pod dependency. ```shell pod 'ScreenMeetSDK', '~> 3.0.7' ``` Update the platform declaration ```shell platform :ios, '16.0' ``` Add the following post_install section to your podfile (for Xcode 14.3): ```shell post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end end ``` ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1684349924083.png) Now install the dependencies and create the workspace: ```shell pod install ``` ## ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601576467525.png) ## Step 6 -- Return to Xcode and open the xcworkspace file. The Workspace file, not the Project fileMake sure you are opening the xcworkspace file and NOT the xcodeproj file.  This workspace is created when adding Cocoapods to your project (pod install). ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601576586575.png) ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601576653580.png) ## Step 7 -- Disable Bitcode for the HelloWorld project. Why do I need to do this?ScreenMeet SDK for iOS depends on the Google WebRTC cocoapod, which is built with bitcode disabled, which requires and enclosing projects to disable bitcode as well. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601576903771.png) Test your build.At this point, you can run a test build to your emulator just to ensure that the dependencies compile properly. ## Step 8 -- Add the the SDK initialization and session initiation code to ContentView.swift ```swift import ScreenMeetLive ``` ```swift .onTapGesture { ScreenMeet.config.organizationKey = "YOUR API KEY" ScreenMeet.connect("YOUR SESSION CODE", "Frank") {(error) in guard error == nil else { //DO SOME ERROR HANDLING print("ERROR") return } print("SUCCESS... Start sharing...") ScreenMeet.shareScreen(SMVideoSource.screen) } } ``` ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/Screenshot%202023-05-17%20at%2012.04.04%20PM.png) ## Step 9 -- Add the entitlement in the Info.plist file This is needed to allow screen recording/replay. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1622841150960.png) Congratulations!You are now code complete!  Let's run the app. ## Running the HelloWorld app Press the play button and launch the app. ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1601577583760.png) Tap on the text "Hello, world!" to connect. You will be presented with a permission dialog: ![](https://cdn.document360.io/9da39725-20e5-434f-83a4-d630456099dc/Images/Documentation/image-1622841564173.png) Accept and you are now AppStreaming. Congratulations. Simulator or Device?When running on a simulator, screen recording doesn't work properly so we send a gray image to the console. ## Next Steps... Explore our [iOS sample application](https://github.com/screenmeet/screenmeet-sdk-ios/tree/master/Example/FullExample) to see some additional samples or visit our [API documentation](https://api-docs.screenmeet.com/ios/2.0.9/index.html).