Skip to content

How to build examples using Xcode 10 and higher

Preparing examples for building

Building with local SDK archive

Warning

This way is obsoleted and not recommended since iOS SDK build 2.6.97

1. Install Cocoapods to build dependencies

sudo gem install cocoapods

2. Download the source code of the examples for Mac

git clone https://github.com/flashphoner/wcs-ios-sdk-samples.git

3. Download and unpack the iOS SDK

wget http://flashphoner.com/downloads/builds/flashphoner_client/wcs-ios-sdk/2.6/WCS-iOS-SDK-2.6.x.tar.gz
tar -xvzf WCS-iOS-SDK-2.6.x.tar.gz

4. After unpacking, there are the following frameworks:

  • two frameworks in builds before 2.6.86

    FPWCSApi2.framework
    FPWCSApi2Swift.xcframework
    

  • three frameworks since build 2.6.86

    FPWCSApi2.framework
    FPWCSApi2Swift.xcframework
    WebRTC.xcframework
    

  • since build 2.6.95 Objective C framework is shipped as XCFramework like others

    FPWCSApi2.xcframework
    FPWCSApi2Swift.xcframework
    WebRTC.xcframework
    

  • since build 2.6.97 SDK archive contains unpacked Cocoapods bundles

    FPWCSApi2
    FPWCSApi2Swift
    FPWebRTC
    

5. Copy the unpacked frameworks to the sample folder

  • iOS SDK builds before 2.6.97 

    mkdir -p wcs-ios-sdk-samples/Frameworks
    cp -R FPWCSApi2.xcframework FPWCSApi2Swift.xcframework WebRTC.xcframework wcs-ios-sdk-samples/Frameworks
    

  • iOS SDK builds since 2.6.97

    mkdir -p wcs-ios-sdk-samples/sdk/fp_wcs_api2/Pods
    cp -R FPWCSApi2 FPWCSApi2Swift WebRTC wcs-ios-sdk-samples/sdk/fp_wcs_api2/Pods
    cd wcs-ios-sdk-samples
    mv Podfile Podfile.public
    mv Podfile.local Podfile
    

6. Samples are ready to build

As a result, we have got the sample folder with the framework (iOS SDK). Now we can start building.

7. Run Cocoapods

pod install

Building with SDK from Cocoapods

Success

This way is preferrable since iOS SDK build 2.6.97

1. Install Cocoapods to build dependencies

sudo gem install cocoapods

2. Download the source code of the examples for Mac

git clone https://github.com/flashphoner/wcs-ios-sdk-samples.git

3. Run Cocoapods

This step may take a time because FPWebRTC framework is slightly fat.

pod install

Building and launching examples using Xcode

1. Open workspace

Now, as soon as all dependencies are ready, open workspace in Xcode.

Warning

You should open the workspace, not the project file. Otherwise, the build may be broken.

2. Signing options setup

On General page for each example set the checkbox Automatically manage signing and set iPhone developer certificate. 

Warning

Since build 2.6.10, steps 3-5 are not required!

3. Remove exessive libraries

At the bottom of General page delete the libraries libstdc++.6.0.9.tbd и libstdc.tbd (if they are in list). Add the library libstdc++.tbd if it is not in list.

4. Set a propert linker flags

On Build settings tab in Linking section add -ObjC linker flag

5. Set build system

Choose File - Workspace settings menu item and set Legacy Build System value for Build System parameter

6. Choose target device

For Two Way Streaming example choose target Generic iOS Device and start building from the Product - Build menu. Then connect your iPhone or iPad via USB and choose it to run the example.

7. View application logs

After successful deployment and launch, the debug information is displayed in the lower part. This means, the Media Devices example has been correctly installed to iPhone or iPad and is running.

8. Application is started

On iPhone, you should see the interface of the application you can start testing using the WCS server

9. Test streaming

Connect to the server and send a video stream from the web camera to the iPhone.

So, we have built Two Way Streaming example on Mac OS Mojave using Xcode 10.1 from the source code using the iOS SDK (FPWCSApi2.framework) and executed this example on iPhone 6. The example demonstrated successful streaming of a video through Web Call Server 5.