Before integrating the ZEGO Express SDK, make sure the development environment meets the following requirements:
Skip this step if a project already exists.
Open Xcode, and in the Welcome to Xcode window, click Create a new Xcode project or select File > New > Project. In the dialog that appears, select the iOS tab, then select App in the Application section.
Fill in items or choose options for the new project, click Next after configuration is completed.
Product Name and Organization Identifier are required, which will be used for creating the App UID - Bundle Identifier.
Choose a particular directory to restore the project to be created, and click Create to create a project.
Choose either of the following methods to integrate the ZEGO Express SDK into your project.
Open Xcode and click "File > Add Packages..." in the menu bar, enter the following URL in the "Search or Enter Package URL" search box of the "Apple Swift Packages" pop-up window:
https://github.com/zegolibrary/express-video-ios
Specify the SDK version you want to integrate in "Dependency Rule" (Recommended: use the default rule "Up to Next Major Version"), and then click "Add Package" to import the SDK. You can refer to Apple Documentation for more details.
Install CocoaPods. For more details, see CocoaPods Installation Guide .
Open the Terminal, enter the root directory of the project, and execute the command pod init
to create a Podfile
.
Open Podfile
, add pod 'ZegoExpressEngine'
, and change MyProject
to your target name.
Because the SDK is XCFramwork, therefore, you will need to use CocoaPods 1.10.0 or later to integrate the Zego Express SDK.
Since version v3.2.0, the Pod name of the Express Video Call SDK is changed from ZegoExpressEngine/Video
to ZegoExpressEngine
; the Pod name of the Express Voice Call SDK is changed from ZegoExpressEngine/Audio
to ZegoExpressAudio
.
target 'MyProject' do
use_frameworks!
# Please fill in a specific SDK version number
# You can get the latest version of the SDK from release note, and modify x.y.z to the specific version number
pod 'ZegoExpressEngine', '~> x.y.z'
end
Execute pod repo update
to update the local index to make sure the latest version of SDK can be installed. For the latest version number, see ZEGO Express-Video iOS SDK Release History .
Execute pod install
to install the SDK.
For common problems you may encounter when using CocoaPods, see CocoaPods FAQ .
Download the latest version of SDK from SDK downloads . We recommend you use XCFramework, and then extract files from the downloaded SDK package.
Copy the SDK dynamic library file ZegoExpressEngine.xcframework
to the project directory.
XCFramework is a new packaging form that includes multi-platform architectures such as real devices and simulators. Please integrate it into the project as a whole, and it is not recommended to disassemble it for use. But if you really only need to integrate the real machine architecture or the simulator architecture separately, you can also take out the .framework in XCFramework and use it separately.
ios-arm64: for real iOS devices.
ios-arm64_x86_64-maccatalyst: Mac Catalyst package for macOS. Mac Catalyst is a new framework launched by Apple in 2019, namely UIKit for Mac, designed to allow iPad Apps to run on macOS. For details, please refer to Apple Developer - Mac Catalyst
ios-arm64_x86_64-simulator: For iOS Simulator.
Open Xcode and select File > Add Files to "xxx" (xxx is the project name) to add the SDK dynamic library files to the project.
Do the following to add the framework file to the project target.
a) Select the project target.
b) Click General, then under Frameworks, Libraries, and Embedded Content, click the Add button (+) below the table.
c) Add ZegoExpressEngine.framework to the target, and set the Embed field to Embed & Sign.
Permissions can be set as needed.
Open Xcode, select the target object, and then click Info > Custom iOS Target Properties.
Click the Add button (+) to add camera and microphone permissions.
Privacy - Camera Usage Description
Privacy - Microphone Usage Description
When running the App, it prompts Building for iOS Simulator, but the linked and embedded framework'ZegoExpressEngine.framework' was built for iOS + iOS Simulator.
After Xcode 12.3, the framework with iOS + iOS (Simulator) dual-platform architecture is prohibited by default. It is recommended to replace it with XCFramework recommended by Apple (you can choose to download XCFramework in the drop-down box in Download SDK Package). Or you can select "TARGETS > Build Settings > Validate Workspace" through Xcode and set the value of this parameter to YES to continue using the traditional framework.