Перейти к содержанию

Сборка примеров при помощи Xcode 10 и выше

Подготовка примеров для сборки

Сборка с использованием локальной копии SDK

Warning

Этот способ является устаревшим и не рекомендуется, начиная со сборки 2.6.97

1. Устанавливаем Cocoapods для сборки зависимостей.

sudo gem install cocoapods

2. Скачиваем исходный код примеров на Mac.

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

3. Скачиваем архив 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. После распаковки iOS SDK получаем фреймворки

  • в сборках до 2.6.86 два фреймворка

    FPWCSApi2.framework
    FPWCSApi2Swift.xcframework
    

  • в сборке 2.6.86 и новее три фреймворка

    FPWCSApi2.framework
    FPWCSApi2Swift.xcframework
    WebRTC.xcframework
    

  • в сборке 2.6.95 и новее Objective C фреймворк поставляется также, как и остальные, в виде XCFramework

    FPWCSApi2.xcframework
    FPWCSApi2Swift.xcframework
    WebRTC.xcframework
    

  • в сборке 2.6.97 и новее структура архива SDK аналогична структуре, доступной в CocoaPods

    FPWCSApi2
    FPWCSApi2Swift
    FPWebRTC
    

5. Копируем распакованные фреймворки в папку с примерами

  • в сборках до 2.6.97 

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

  • в сборке 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. Примеры готовы к сборке

В результате получаем папку примеров с фреймворком (iOS SDK). Можно приступать к сборке.

7. Запускаем Cocoapods

pod install

Сборка с загрузкой SDK из Cocoapods

Success

Этот способ поддерживается, начиная со сборки 2.6.97

1. Устанавливаем Cocoapods для сборки зависимостей.

sudo gem install cocoapods

2. Скачиваем исходный код примеров на Mac.

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

3. Запускаем Cocoapods

Этот шаг может занять некоторое время, поскольку фреймворк FPWebRTC сравинтельно велик по объемы

pod install

Сборка и запуск примеров в Xcode

1. Открываем workspace в Xcode

После того как все зависимости собрались, открываем workspace в Xcode.

Warning

Открываем именно workspace, а не project-файл. Это нужно чтобы не испортить сборку.

2. Настраиваем управление подписью

На вкладке General для каждого примера установить галочку Automatically manage signing и указать сертификаты разработчика 

Warning

Начиная со сборки 2.6.10, шаги 3-5 не требуются!

3. Удаление лишних библиотек из списка

Внизу вкладки General удаляем библиотеки libstdc++.6.0.9.tbd и libstdc.tbd (если есть). При необходимости, добавляем библиотеку libstdc++.tbd

4. Настройка флагов компоновщика

На вкладке Build settings в разделе Linking добавляем флаг -ObjC

5. Настройка системы сборки

В меню выбираем пункт File - Workspace settings и устанавливаем значение Legacy Build System для параметра Build System

6. Выбор целевого устройства

Для примера Two Way Streaming выбираем в целях сборки Generic iOS Device и запускаем сборку через пункт меню Product - Build. Затем подключаем iPhone или iPad через USB и выбираем его в целях для запуска примера.

7. Просмотр логов приложения

После успешного запуска в нижней части экрана отобразиться отладочная информация. Это означает, что пример был корректно установлен на iPhone или iPad и запущен.

8. Приложение запущено

На iPhone появится интерфейс приложения, который можно начинать тестировать с WCS-сервером

9. Тестирование стриминга

Соединяемся с сервером и отправляем видеопоток с веб-камеры на iPhone.

Таким образом, мы в Xcode 10.1 на Mac OS Mojave собрали пример Two Way Streaming из исходного кода, с использованием iOS SDK`(FPWCSApi2.framework) и запустили этот пример на iPhone6. Пример продемонстрировал успешный стриминг видео через Web Call Server 5.