├── .github └── ISSUE_TEMPLATE.md ├── .gitignore ├── LICENSE.md ├── Package.swift ├── README.md └── images ├── replaykit-broadcast-mic-ios13-audio-resource-limit.png └── replaykit-broadcast-picker-ios-13.0.png /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | > Before filing an issue please check that the issue is not already addressed by the following: 3 | > 4 | > * [Video Guides](https://www.twilio.com/docs/api/video) 5 | > * [Changelog](https://www.twilio.com/docs/api/video/changelog-twilio-video-ios-version-2x) 6 | > 7 | > If this is an issue with the SDK itself, file it here. If this is an issue with the QuickStart apps, please use [video-quickstart-ios](https://github.com/twilio/video-quickstart-ios/issues). 8 | > 9 | > Please ensure that you are not sharing any 10 | [Personally Identifiable Information(PII)](https://www.twilio.com/docs/glossary/what-is-personally-identifiable-information-pii) 11 | or sensitive account information (API keys, credentials, etc.) when reporting an issue. 12 | 13 | ### Description 14 | 15 | [Description of the issue] 16 | 17 | ### Steps to Reproduce 18 | 19 | 1. [Step one] 20 | 2. [Step two] 21 | 3. [Insert as many steps as needed] 22 | 23 | #### Code 24 | 25 | ```swift 26 | // Code that helps reproduce the issue 27 | ``` 28 | 29 | #### Expected Behavior 30 | 31 | [What you expect to happen] 32 | 33 | #### Actual Behavior 34 | 35 | [What actually happens] 36 | 37 | #### Reproduces How Often 38 | 39 | [What percentage of the time does it reproduce?] 40 | 41 | #### Logs 42 | Debug level logs are helpful when investigating issues. To enable debug level logging, add the following code to your application: 43 | 44 | ```.swift 45 | TwilioVideoSDK.setLogLevel(.debug) 46 | ``` 47 | 48 | ``` 49 | // Log output when the issue occurs 50 | ``` 51 | 52 | ### Versions 53 | 54 | All relevant version information for the issue. 55 | 56 | #### Video iOS SDK 57 | 58 | [e.g. 1.3.12 via CocoaPods] 59 | 60 | #### Xcode 61 | 62 | [e.g. 9.2] 63 | 64 | #### iOS Version 65 | 66 | [e.g. 11.2.6] 67 | 68 | #### iOS Device 69 | 70 | [e.g. iPhone 8 Plus] 71 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # common 2 | .DS_Store 3 | .DS_Store? 4 | ._* 5 | .Spotlight-V100 6 | .Trashes 7 | 8 | docs/ 9 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | ## LICENSE 2 | Twilio Programmable Video for iOS is distributed under TWILIO-TOS. https://www.twilio.com/legal/tos 3 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.3 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "TwilioVideo", 7 | platforms: [ 8 | .iOS("12.2") 9 | ], 10 | products: [ 11 | .library( 12 | name: "TwilioVideo", 13 | targets: ["TwilioVideo"]), 14 | ], 15 | targets: [ 16 | .binaryTarget( 17 | name: "TwilioVideo", 18 | url: "https://github.com/twilio/twilio-video-ios/releases/download/5.9.0/TwilioVideo.xcframework.zip", 19 | checksum: "62c2f0c4886c4d29a72444ad51ae810527cc37effb8f39a22a6045a0585bd22b" 20 | ), 21 | ] 22 | ) 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Twilio Programmable Video for iOS 2 | 3 | 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. 4 | 5 | ### Swift Package Manager 6 | 7 | You can add Programmable Video for iOS by adding the `https://github.com/twilio/twilio-video-ios` repository as a Swift Package. 8 | 9 | In your Build Settings, you will also need to modify `Other Linker Flags` to include `-ObjC.` 10 | 11 | As of the latest release of Xcode (currently 12.3), there is a [known issue](https://bugs.swift.org/browse/SR-13343) 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: 12 | 13 | ```sh 14 | find "${CODESIGNING_FOLDER_PATH}" -name '*.framework' -print0 | while read -d $'\0' framework 15 | do 16 | codesign --force --deep --sign "${EXPANDED_CODE_SIGN_IDENTITY}" --preserve-metadata=identifier,entitlements --timestamp=none "${framework}" 17 | done 18 | 19 | ``` 20 | 21 | 22 | ### CocoaPods Integration 23 | 24 | We support integration using CocoaPods as well. You can add Programmable Video to your project using the following example Podfile: 25 | 26 | ``` 27 | source 'https://github.com/CocoaPods/Specs' 28 | 29 | platform :ios, '12.2' 30 | 31 | target 'TARGET_NAME' do 32 | pod 'TwilioVideo', '~> 5.9' 33 | end 34 | ``` 35 | 36 | Then run `pod install` to install the dependencies for your project. 37 | 38 | 39 | ### Manual Integration 40 | 41 | See [manual installation](https://www.twilio.com/docs/api/video/ios#add-the-sdk) steps. 42 | 43 | 44 | ### Carthage Integration 45 | 46 | Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with `.xcframeworks` as documented [here](https://github.com/Carthage/Carthage/issues/2890). Once Carthage supports binary `.xcframeworks`, Carthage distribution will be re-added. 47 | 48 | 49 | ## Issues and Support 50 | 51 | Please file any issues you find here on Github. 52 | 53 | Please ensure that you are not sharing any [Personally Identifiable Information(PII)](https://www.twilio.com/docs/glossary/what-is-personally-identifiable-information-pii) or sensitive account information (API keys, credentials, etc.) when reporting an issue. 54 | 55 | For general inquiries related to the Video SDK you can file a [support ticket](https://support.twilio.com/hc/en-us/requests/new). 56 | 57 | 58 | ## License 59 | 60 | Twilio Programmable Video for iOS is distributed under [TWILIO-TOS](https://www.twilio.com/legal/tos). 61 | -------------------------------------------------------------------------------- /images/replaykit-broadcast-mic-ios13-audio-resource-limit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twilio/twilio-video-ios/8c5666b9d9d06601746bfbba57ef8705d303a498/images/replaykit-broadcast-mic-ios13-audio-resource-limit.png -------------------------------------------------------------------------------- /images/replaykit-broadcast-picker-ios-13.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twilio/twilio-video-ios/8c5666b9d9d06601746bfbba57ef8705d303a498/images/replaykit-broadcast-picker-ios-13.0.png --------------------------------------------------------------------------------