Swiftpack.co -  Package - twilio/twilio-video-ios
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
twilio/twilio-video-ios
Programmable Video SDK by Twilio
.package(url: "https://github.com/twilio/twilio-video-ios.git", from: "v2.0.0-preview9")

Twilio Programmable Video for iOS

This repository contains releases of Twilio's Programmable Video SDK for iOS. These releases can be consumed using Swift Package Manager, CocoaPods or manual integration into your project.

NOTE: If you are updating your application for iOS 13 and iPadOS 13 please read our iOS 13 Migration Guide.

Swift Package Manager

You can add Programmable Video for iOS by adding the https://github.com/twilio/twilio-video-ios repository as a Swift Package.

In your Build Settings, you will also need to modify Other Linker Flags to include -ObjC.

As of the latest release of Xcode (currently 12.3), there is a known issue with consuming binary frameworks distributed via Swift Package Manager. The current workaround to this issue is to add a Run Script Phase to the Build Phases of your Xcode project. This Run Script Phase should come after the Embed Frameworks build phase. This new Run Script Phase should contain the following code:

find "${CODESIGNING_FOLDER_PATH}" -name '*.framework' -print0 | while read -d $'\0' framework
do
    codesign --force --deep --sign "${EXPANDED_CODE_SIGN_IDENTITY}" --preserve-metadata=identifier,entitlements --timestamp=none "${framework}"
done

CocoaPods Integration

We support integration using CocoaPods as well. You can add Programmable Video to your project using the following example Podfile:

source 'https://github.com/CocoaPods/Specs'

platform :ios, '9.0'

target 'TARGET_NAME' do
    pod 'TwilioVideo', '~> 4.4'
end

Then run pod install to install the dependencies for your project.

Manual Integration

See manual installation steps.

Carthage Integration

Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.

Issues and Support

Please file any issues you find here on Github.

Please ensure that you are not sharing any Personally Identifiable Information(PII) or sensitive account information (API keys, credentials, etc.) when reporting an issue.

For general inquiries related to the Video SDK you can file a support ticket.

GitHub

link
Stars: 46
Last commit: 1 week ago

Release Notes

Twilio Video SDK iOS 4.4.0
1 week ago

This release consumes twilio-video-cpp-6.1.0.

Enhancements

  • 100 Participant Group Rooms Pilot Program: A Group Room created with max participants greater than 50 is structured to support a small number of presenters and a large number of viewers. It has the following behavioral differences compared to regular Group Rooms:
    • The RoomDelegate.participantDidConnect() delegate method is invoked when a RemoteParticipant connects to the Room and publishes at least one Track.
    • The RoomDelegate.participantDidDisconnect() delegate method is invoked when a RemoteParticipant disconnects from the Room or unpublishes all of its Tracks.
    • If a RemoteParticipant unpublishes all of its tracks (resulting in the RoomDelegate.participantDidDisconnect() delegate method being invoked) and later republishes a track, a new RemoteParticipant object will be provided in the subsequent RoomDelegate.participantDidConnect() delegate method invocation with the same Participant Sid as before.
    • The maximum number of published Tracks in a Room at the same time cannot exceed 16. Attempts to publish more Tracks will result in a publication failure with ParticipantMaxTracksExceededError unless one or more published Tracks is unpublished.
    • Contact your Twilio Account Executive to enroll in this pilot program.

Bug Fixes

  • Fixed a crash when network manager was still invoking onNetworksChanged callback while network monitor was being destroyed.

Known Issues

  • The TwilioVideo.xcframework does not currently support the simulator on Apple Silicon arm64 Macs.
  • Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]

Size Impact for 4.4.0

Architecture Compressed Size Uncompressed Size
Universal 9.7 MB 20.7 MB
arm64 4.7 MB 11.0 MB
armv7 5.0 MB 9.7 MB

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco