92 Commits

Author SHA1 Message Date
Rogerio de Paula Assis 237997d7f5 Merge branch 'develop' 2020-01-24 17:46:47 -05:00
Rogerio de Paula Assis df438ea6d7 Merge branch 'master' into develop 2019-10-10 14:20:39 -04:00
Frederick Kellison-Linn fc1906a2ac Merge pull request #94 from vimeo/feature/VIM-7015-Video-Editing-Phase-1
Feature/vim 7015 video editing phase 1
2019-09-23 14:43:13 -04:00
Van Le Nguyen 6d59195b77 Merge branch 'develop' into feature/VIM-7015-Video-Editing-Phase-1 2019-09-23 14:29:57 -04:00
Bryant Balatbat b5aba8a6e3 Merge pull request #91 from vimeo/feature/CRI-1209-macos-merge
* CRI-1211 Update project structure to more closely resemble other public repos (#85)

* Reorganize project and top level

- Move sources into Sources
- Update podspec to reflect new sources location
- Move Example files into top level

* Update Fastfile

- Point to new project/workspace locations

* Update Fastfile with correct config

* Fix CI build failures

- Update Fastfile to point to correct scheme
- Add Tests file to PlayerKit-iOSTests target
- Update Example scheme to exclude tests
- Update scheme for iOS Framework target to include tests

* Update .gitignore and commit Pods directory

* Remove cocoapods from lane altogether

* CRI-1212: Integrate macOS changes (#92)

* Add support for macOS

- Add PlayerView for switching between UIKit and AppKit view class
- Remove imports of UIKit
- Replace UIView uses with PlayerView
- Add #if for cases that are not supported on macOS
- Update podspec for macOS specific configuration

* Add documentation for PlayerView

* Fix brace placement

* Lower macOS minimum deployment target

* Change type oif RegularPlayerView to PlayerView

* Updated parameters to support macOS and tvOS

* Switch to canImport() from os()

* Revert canImport() back to os() in on instance
2019-08-20 17:22:56 -04:00
Bryant Balatbat aa23c953ca CRI-1212: Integrate macOS changes (#92)
* Add support for macOS

- Add PlayerView for switching between UIKit and AppKit view class
- Remove imports of UIKit
- Replace UIView uses with PlayerView
- Add #if for cases that are not supported on macOS
- Update podspec for macOS specific configuration

* Add documentation for PlayerView

* Fix brace placement

* Lower macOS minimum deployment target

* Change type oif RegularPlayerView to PlayerView

* Updated parameters to support macOS and tvOS

* Switch to canImport() from os()

* Revert canImport() back to os() in on instance
2019-08-19 15:24:19 -04:00
Frederick Kellison-Linn eb0c8ee106 Remove assertion (#90) 2019-08-12 10:17:06 -04:00
Frederick Kellison-Linn 9afec2810b VIM-XXXX: Smooth seeking (#89)
* Add smooth seeking support

* Weakly capture self
2019-08-09 18:03:54 -04:00
Frederick Kellison-Linn c46f4d2b27 VIM-7178 & VIM-7179: Allow method overrides and add seek tolerance (#86)
* Allow overriding of Player methods

* Introduce seekTolerance

* Add explicit self
2019-08-08 18:08:01 -04:00
Bryant Balatbat 399d2c7be1 [CRI-1211] Update project structure to more closely resemble other public repos (#85)
* Reorganize project and top level

- Move sources into Sources
- Update podspec to reflect new sources location
- Move Example files into top level

* Update Fastfile

- Point to new project/workspace locations

* Update Fastfile with correct config

* Fix CI build failures

- Update Fastfile to point to correct scheme
- Add Tests file to PlayerKit-iOSTests target
- Update Example scheme to exclude tests
- Update scheme for iOS Framework target to include tests

* Update .gitignore and commit Pods directory

* Remove cocoapods from lane altogether
2019-08-06 10:14:07 -04:00
Rogerio de Paula Assis 993d398c22 Merge develop into master (#84)
* Updates PlayerKit podspec (#80)

* Updates example project deploy target to 10.3
2019-08-01 11:30:18 -04:00
Rogerio de Paula Assis c5c5a4c744 Merge branch 'master' into develop 2019-08-01 09:31:47 -04:00
Rogerio de Paula Assis bfba214af1 Updates sample project deployment target to iOS 10.3 (#83)
* Updates PlayerKit podspec (#80)

* Updates example project deploy target to 10.3
2019-08-01 09:29:40 -04:00
Rogerio de Paula Assis b3b01e75cf Updates PlayerKit podspec (#80) 2019-07-31 21:15:12 -04:00
Frederick Kellison-Linn 6cf29ebf12 Merge pull request #79 from vimeo/VIM-7149-video-edit-screen
Add method to manually set the player item on RegularPlayer
2019-07-26 11:32:17 -04:00
Freddy Kellison-Linn 313a992d8e Add method to manually set the player item on RegularPlayer 2019-07-18 15:54:22 -04:00
Rogerio de Paula Assis f3d48a0a75 Merge pull request #76 from vimeo/master
Merge master into develop
2019-06-17 11:01:10 -04:00
Rogerio de Paula Assis 7bc6450535 Merge pull request #75 from vimeo/feature/VIM-7040_Swift5Migration
VIM-7040: Migrates to Swift 5, updates project to recommended settings
2019-06-13 09:21:43 -04:00
Rogerio de Paula Assis a4f697b067 Updates fastlane xcode version to 10.2.1 2019-06-05 16:52:18 -04:00
Rogerio de Paula Assis dbc6cb250c Updates Circle CI xcode configuration 2019-06-05 16:44:12 -04:00
Rogerio de Paula Assis 198197241b Migrates to Swift 5, updates project to recommended settings 2019-06-05 16:22:01 -04:00
Rogerio de Paula Assis 98c86c1852 Merge pull request #66 from vimeo/master
Merge master into develop
2019-05-07 10:31:09 -04:00
Mike Westendorf e08903c201 VIM-6715: Updates fastlane to the latest version (#53) 2019-04-26 21:00:09 -04:00
Vladimir Pavlov 89c4f4755d Add ability to force faster start of AVPlayer (#67) via automaticallyWaitsToMinimizeStalling 2019-04-26 17:50:16 -04:00
Rogerio de Paula Assis 0ca7258e9b VIM-6919: Release 2.0.0, Swift 4.2 migration (#65) 2019-04-25 17:15:30 -04:00
Rogerio de Paula Assis 87cdb24a24 VIM-6919: Migrates to Swift 4.2 (#61) 2019-04-25 16:51:12 -04:00
Rogerio de Paula Assis f400ad9883 Merge pull request #64 from vimeo/master
VIM-XXXX Merge master into develop
2019-04-25 16:13:36 -04:00
Rogerio de Paula Assis a53096df50 Merge pull request #63 from vimeo/release/1.4.0
VIM-6919: Release 1.4.0 prior to migration to Swift 4.2
2019-04-24 16:44:43 -04:00
Rogerio de Paula Assis 4720991d0f VIM-6919 Version bump 1.4.0, added version_bump lane to fastlane 2019-04-23 13:24:00 -04:00
Rogerio de Paula Assis ca661f1996 Merge pull request #62 from vimeo/master
VIM-XXXX: Merge master into develop
2019-04-23 13:16:50 -04:00
Jason Hawkins 5ba8f4db04 Merge pull request #52 from vimeo/tech/add-swiftlint-support
Adds initial SwiftLint rules to PlayerKit
2018-11-28 10:09:18 -05:00
Jason Hawkins 34c5cac889 Build with swiftlint for example project files 2018-11-15 12:38:29 -05:00
Jason Hawkins 3729921bed Add example project files to included file paths for linting 2018-11-15 12:38:15 -05:00
Jason Hawkins ce3a42f41a Build with swiftlint for source files 2018-11-15 12:33:51 -05:00
Jason Hawkins 92e00745d7 Run bundle exec pod install 2018-11-15 12:32:42 -05:00
Jason Hawkins c7ef4c2ebc Add new script phase to example project 2018-11-15 12:31:35 -05:00
Jason Hawkins 75b2a10881 Add .swiftlint.yml 2018-11-15 12:31:22 -05:00
Jason Hawkins e60bd3bd3b Add SwiftLint to podfile 2018-11-15 12:31:11 -05:00
Nicole Lehrer a95c54eb56 Merge pull request #51 from vimeo/nicolelehrer-patch-1
Update README
2018-11-12 13:56:14 -05:00
Nicole Lehrer af54544cbe Update README.md 2018-11-12 12:56:55 -05:00
Mike Westendorf 54003387d5 Merge pull request #50 from vimeo/vim-6695-update-nokogiri
VIM-6695: Update nokogiri to v1.8.5
2018-11-08 15:08:26 -05:00
Mike Westendorf f441a7a03e update Gem lock file 2018-11-07 16:08:06 -05:00
Mike Westendorf ad04383a32 Update nokogiri to v1.8.5 2018-11-07 16:04:44 -05:00
Jason Hawkins 46d34ae58f Merge pull request #48 from vimeo/circle-ci-upgrade
AF-311: Updates PlayerKit to support CircleCI 2.0
2018-10-19 11:58:54 -04:00
jasonhawkins 6dce0ee5b4 Fix Xcode version number 2018-10-11 16:50:52 -04:00
jasonhawkins a9a9627ce9 Run bundle exec pod install 2018-10-11 16:49:39 -04:00
jasonhawkins 70eb3f5039 Update README 2018-10-11 16:49:31 -04:00
jasonhawkins b3ec050d8f Udpate Fastfaline to run against Xcode 10 2018-10-11 16:49:18 -04:00
jasonhawkins bea45df706 Update Podfile to specify a platform for the example 2018-10-11 16:48:58 -04:00
jasonhawkins 03482bccda Update CircleCI to execute our custom scan lane 2018-10-11 16:48:19 -04:00
jasonhawkins 01f34b57e5 Update CircleCI to run against Xcode 10 2018-10-11 16:48:05 -04:00
jasonhawkins a83cf1fb3a Remove embed swift libraries override
CocoaPods will do this for us anyway.
2018-10-11 16:47:42 -04:00
jasonhawkins 1b09629f9d Remove _Pods alias 2018-08-27 16:34:21 -04:00
jasonhawkins 97f17e3362 Remove old CircleCi config 2018-08-27 16:22:46 -04:00
jasonhawkins 72aec6efa8 Add new CircleCi config 2018-08-27 16:22:36 -04:00
jasonhawkins 708c945840 Run bundle exec pod install 2018-08-27 16:22:25 -04:00
Frederick Kellison-Linn a60a1da448 Merge pull request #39 from vimeo/master
Update develop for 1.3.0 release
2018-07-18 16:24:41 -04:00
Frederick Kellison-Linn 90530c4961 Merge pull request #38 from vimeo/release/1.3.0
Release 1.3.0
2018-07-18 15:57:49 -04:00
Freddy Kellison-Linn 7f7f2157fd Release 1.3.0 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 2a11f34165 Add explanatory comment for SDH 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 0a28c0cc1b Use new matches(_:) method in select(_:) 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn a31eafca1f Fixup style 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 6e8446675e Change == operator to matches(_:) method 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn dd3f9937b2 Make TextTrackMetadata == global 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn fb7879346a Improve TextTrackMetadata and TextTrackCapable APIs 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 393e659cf0 Remove deprecated API in newer versions 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 17c04841dd Add selectedTrack requirement to TextTrackCapable 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 19328921bb Use Array.first instead of for-in loop 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn 14f1e26dfd Move TextTrackCapable conformance to extension 2018-07-18 15:42:21 -04:00
Freddy Kellison-Linn a031f37000 Make RegularPlayer conform to TextTrackCapable and AVMediaSelectionOption to TextTrackMetadata 2018-07-18 15:42:20 -04:00
Freddy Kellison-Linn ceeb22419f Add period 2018-07-18 15:42:20 -04:00
Freddy Kellison-Linn c02d5aba36 Add TextTrackMetadata and TextTrackCapable protocols to Player.swift 2018-07-18 15:42:20 -04:00
Mike Westendorf 9490ecc197 updates cocoapods to version 1.5.2, updates git ignore file 2018-07-18 15:42:20 -04:00
Frederick Kellison-Linn 56946a6509 Merge pull request #37 from vimeo/feature/VIM-6303-closed-captions
Merge feature work for Closed Captions into develop
2018-07-18 15:13:30 -04:00
Frederick Kellison-Linn 0b9d4e5096 Merge pull request #36 from vimeo/VIM-6350-select-cc-option
VIM-6350: Turn on/off CC when user taps appropriate item in list
2018-07-11 13:05:24 -04:00
Freddy Kellison-Linn 3a53693935 Add explanatory comment for SDH 2018-07-11 11:58:27 -04:00
Freddy Kellison-Linn aee3f617d6 Use new matches(_:) method in select(_:) 2018-07-10 15:57:25 -04:00
Freddy Kellison-Linn 41f59b1d45 Fixup style 2018-07-10 15:51:46 -04:00
Freddy Kellison-Linn 978efdb667 Change == operator to matches(_:) method 2018-07-10 15:08:57 -04:00
Freddy Kellison-Linn d9f3f12bb8 Make TextTrackMetadata == global 2018-07-10 14:38:29 -04:00
Freddy Kellison-Linn aecc7485a5 Improve TextTrackMetadata and TextTrackCapable APIs 2018-07-10 14:09:41 -04:00
Freddy Kellison-Linn 09a1d6a051 Remove deprecated API in newer versions 2018-07-10 12:27:02 -04:00
Freddy Kellison-Linn 8280e5e801 Add selectedTrack requirement to TextTrackCapable 2018-07-09 14:40:39 -04:00
Frederick Kellison-Linn f2d24ffb2e Merge pull request #35 from vimeo/VIM-6353-regularplayer-conform-texttrackcapable
VIM-6353: Make RegularPlayer conform to `TextTrackCapable`
2018-07-05 10:45:37 -04:00
Freddy Kellison-Linn b1b690d6ad Use Array.first instead of for-in loop 2018-07-05 10:15:48 -04:00
Freddy Kellison-Linn fa9fa737d5 Move TextTrackCapable conformance to extension 2018-07-03 10:22:00 -04:00
Freddy Kellison-Linn fae36bc646 Make RegularPlayer conform to TextTrackCapable and AVMediaSelectionOption to TextTrackMetadata 2018-07-02 15:55:56 -04:00
Frederick Kellison-Linn 055c6b727a Merge pull request #34 from vimeo/VIM-6347-texttrack-player-protocols
Add TextTrackMetadata and TextTrackCapable protocols to Player.swift
2018-07-02 15:53:08 -04:00
Freddy Kellison-Linn 3e945f1639 Add period 2018-07-02 15:44:15 -04:00
Freddy Kellison-Linn bc804d729a Add TextTrackMetadata and TextTrackCapable protocols to Player.swift 2018-06-28 15:47:24 -04:00
Mike Westendorf 7222d585e5 Merge pull request #33 from vimeo/vim-xxx-updates-cocoapods
VIM-6140: Update CocoaPods to version 1.5.2
2018-06-04 13:52:42 -04:00
Mike Westendorf 365b835447 updates cocoapods to version 1.5.2, updates git ignore file 2018-05-24 13:51:35 -04:00
73 changed files with 3303 additions and 1296 deletions
+50
View File
@@ -0,0 +1,50 @@
version: 2
jobs:
build-and-test:
environment:
BUNDLE_PATH: vendor/bundle
FL_OUTPUT_DIR: output
macos:
xcode: "10.2.1"
working_directory: ~/PlayerKit
shell: /bin/bash --login -o pipefail
steps:
- checkout
- restore_cache:
key: v1-gems-{{ checksum "Gemfile.lock" }}
- run:
name: Set Ruby version
command: echo "ruby-2.4" > ~/.ruby-version
- run:
name: Install bundler dependencies
command: bundle install --path vendor/bundle
- run:
name: Build and run tests
command: bundle exec fastlane ios test
environment:
SCAN_DEVICE: iPhone 8
SCAN_SCHEME: PlayerKit-Example
- save_cache:
paths:
- vendor/bundle
key: v1-gems-{{ checksum "Gemfile.lock" }}
- store_artifacts:
path: output
- store_test_results:
path: output/scan
workflows:
version: 2
build:
jobs:
- build-and-test
+4 -1
View File
@@ -21,6 +21,7 @@ xcuserdata/
*.moved-aside
*.xccheckout
*.xcscmblueprint
.DS_Store
## Obj-C/Swift specific
*.hmap
@@ -40,7 +41,9 @@ playground.xcworkspace
.build/
# CocoaPods
Pods
#
# We will be opting to check in the Pods directory for this repo as a requirement for Carthage support.
# Pods
# Carthage
#
-1
View File
@@ -1 +0,0 @@
4.0
+42
View File
@@ -0,0 +1,42 @@
# Copyright © 2018 Vimeo. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# Run `swiftlint rules` for a list of available rules.
# Only the rules specified here will be enabled.
whitelist_rules:
- trailing_newline
- trailing_whitespace
- opening_brace
# Paths to include during linting.
included:
- Sources
- Tests
# Paths to exclude during linting.
excluded:
- Pods
# Configurable rules can be customized from this configuration file,
# binary rules can set their severity level.
trailing_whitespace:
ignores_empty_lines: true
@@ -15,10 +15,16 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
-597
View File
@@ -1,597 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
2177E20AEAFB7DC0716E767D /* Pods_PlayerKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FB8BC0702070951E8CF36EB /* Pods_PlayerKit_Tests.framework */; };
544B4F6A0841678FD297A5CC /* Pods_PlayerKit_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CD35566E8C592F4CF261E15 /* Pods_PlayerKit_Example.framework */; };
5CAAB14D1E70A4EC00164304 /* PlayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CAAB14B1E70A4EC00164304 /* PlayerViewController.swift */; };
5CAAB14E1E70A4EC00164304 /* PlayerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5CAAB14C1E70A4EC00164304 /* PlayerViewController.xib */; };
5CAAB1521E70B97F00164304 /* video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 5CAAB1511E70B97F00164304 /* video.mp4 */; };
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 607FACCF1AFB9204008FA782;
remoteInfo = PlayerKit;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0EFA22D7F9A0592DACE3342A /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
242E4CB339C2BE07536F2339 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
2FB8BC0702070951E8CF36EB /* Pods_PlayerKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PlayerKit_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5CAAB14B1E70A4EC00164304 /* PlayerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlayerViewController.swift; sourceTree = "<group>"; };
5CAAB14C1E70A4EC00164304 /* PlayerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PlayerViewController.xib; sourceTree = "<group>"; };
5CAAB1511E70B97F00164304 /* video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = video.mp4; sourceTree = "<group>"; };
607FACD01AFB9204008FA782 /* PlayerKit_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PlayerKit_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
607FACE51AFB9204008FA782 /* PlayerKit_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PlayerKit_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
6555D817ABF7208F25507CA3 /* Pods-PlayerKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests.debug.xcconfig"; sourceTree = "<group>"; };
6CD35566E8C592F4CF261E15 /* Pods_PlayerKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PlayerKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
94C8A6A45282F09C80AE20EF /* PlayerKit.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = PlayerKit.podspec; path = ../PlayerKit.podspec; sourceTree = "<group>"; };
9D69DB7C6B7F626E6391E3FA /* Pods-PlayerKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example.debug.xcconfig"; sourceTree = "<group>"; };
CF08222175BD5B0E142D343A /* Pods-PlayerKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example.release.xcconfig"; sourceTree = "<group>"; };
DFF31A926AE8AC95197508D5 /* Pods-PlayerKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
607FACCD1AFB9204008FA782 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
544B4F6A0841678FD297A5CC /* Pods_PlayerKit_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE21AFB9204008FA782 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2177E20AEAFB7DC0716E767D /* Pods_PlayerKit_Tests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1281DD2508084B1C82940F02 /* Pods */ = {
isa = PBXGroup;
children = (
9D69DB7C6B7F626E6391E3FA /* Pods-PlayerKit_Example.debug.xcconfig */,
CF08222175BD5B0E142D343A /* Pods-PlayerKit_Example.release.xcconfig */,
6555D817ABF7208F25507CA3 /* Pods-PlayerKit_Tests.debug.xcconfig */,
DFF31A926AE8AC95197508D5 /* Pods-PlayerKit_Tests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
607FACC71AFB9204008FA782 = {
isa = PBXGroup;
children = (
607FACF51AFB993E008FA782 /* Podspec Metadata */,
607FACD21AFB9204008FA782 /* Example for PlayerKit */,
607FACE81AFB9204008FA782 /* Tests */,
607FACD11AFB9204008FA782 /* Products */,
1281DD2508084B1C82940F02 /* Pods */,
62851F2334F3860DF996262E /* Frameworks */,
);
sourceTree = "<group>";
};
607FACD11AFB9204008FA782 /* Products */ = {
isa = PBXGroup;
children = (
607FACD01AFB9204008FA782 /* PlayerKit_Example.app */,
607FACE51AFB9204008FA782 /* PlayerKit_Tests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
607FACD21AFB9204008FA782 /* Example for PlayerKit */ = {
isa = PBXGroup;
children = (
5CAAB1511E70B97F00164304 /* video.mp4 */,
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
607FACDC1AFB9204008FA782 /* Images.xcassets */,
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
607FACD31AFB9204008FA782 /* Supporting Files */,
5CAAB14B1E70A4EC00164304 /* PlayerViewController.swift */,
5CAAB14C1E70A4EC00164304 /* PlayerViewController.xib */,
);
name = "Example for PlayerKit";
path = PlayerKit;
sourceTree = "<group>";
};
607FACD31AFB9204008FA782 /* Supporting Files */ = {
isa = PBXGroup;
children = (
607FACD41AFB9204008FA782 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
607FACE81AFB9204008FA782 /* Tests */ = {
isa = PBXGroup;
children = (
607FACEB1AFB9204008FA782 /* Tests.swift */,
607FACE91AFB9204008FA782 /* Supporting Files */,
);
path = Tests;
sourceTree = "<group>";
};
607FACE91AFB9204008FA782 /* Supporting Files */ = {
isa = PBXGroup;
children = (
607FACEA1AFB9204008FA782 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
isa = PBXGroup;
children = (
94C8A6A45282F09C80AE20EF /* PlayerKit.podspec */,
242E4CB339C2BE07536F2339 /* README.md */,
0EFA22D7F9A0592DACE3342A /* LICENSE */,
);
name = "Podspec Metadata";
sourceTree = "<group>";
};
62851F2334F3860DF996262E /* Frameworks */ = {
isa = PBXGroup;
children = (
6CD35566E8C592F4CF261E15 /* Pods_PlayerKit_Example.framework */,
2FB8BC0702070951E8CF36EB /* Pods_PlayerKit_Tests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
607FACCF1AFB9204008FA782 /* PlayerKit_Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "PlayerKit_Example" */;
buildPhases = (
39DBB93200760D1BB486C4CC /* [CP] Check Pods Manifest.lock */,
607FACCC1AFB9204008FA782 /* Sources */,
607FACCD1AFB9204008FA782 /* Frameworks */,
607FACCE1AFB9204008FA782 /* Resources */,
AEEB7FDEAB18BB5B2C3B7E51 /* [CP] Embed Pods Frameworks */,
321F705B84CEA2E392A6B199 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = PlayerKit_Example;
productName = PlayerKit;
productReference = 607FACD01AFB9204008FA782 /* PlayerKit_Example.app */;
productType = "com.apple.product-type.application";
};
607FACE41AFB9204008FA782 /* PlayerKit_Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "PlayerKit_Tests" */;
buildPhases = (
C4129E7BCD6025190F4A05CE /* [CP] Check Pods Manifest.lock */,
607FACE11AFB9204008FA782 /* Sources */,
607FACE21AFB9204008FA782 /* Frameworks */,
607FACE31AFB9204008FA782 /* Resources */,
25C5F87D98E09CBD3E2CA814 /* [CP] Embed Pods Frameworks */,
3C28040621F8BDAC7AF4AA8F /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
607FACE71AFB9204008FA782 /* PBXTargetDependency */,
);
name = PlayerKit_Tests;
productName = Tests;
productReference = 607FACE51AFB9204008FA782 /* PlayerKit_Tests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
607FACC81AFB9204008FA782 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0820;
ORGANIZATIONNAME = CocoaPods;
TargetAttributes = {
607FACCF1AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
DevelopmentTeam = 35R365FS4Q;
LastSwiftMigration = 0900;
};
607FACE41AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
DevelopmentTeam = 35R365FS4Q;
LastSwiftMigration = 0900;
TestTargetID = 607FACCF1AFB9204008FA782;
};
};
};
buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "PlayerKit" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 607FACC71AFB9204008FA782;
productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
607FACCF1AFB9204008FA782 /* PlayerKit_Example */,
607FACE41AFB9204008FA782 /* PlayerKit_Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
607FACCE1AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
5CAAB14E1E70A4EC00164304 /* PlayerViewController.xib in Resources */,
5CAAB1521E70B97F00164304 /* video.mp4 in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE31AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
25C5F87D98E09CBD3E2CA814 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
321F705B84CEA2E392A6B199 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example-resources.sh\"\n";
showEnvVarsInLog = 0;
};
39DBB93200760D1BB486C4CC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
3C28040621F8BDAC7AF4AA8F /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
AEEB7FDEAB18BB5B2C3B7E51 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
C4129E7BCD6025190F4A05CE /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
607FACCC1AFB9204008FA782 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
5CAAB14D1E70A4EC00164304 /* PlayerViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE11AFB9204008FA782 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
607FACE71AFB9204008FA782 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 607FACCF1AFB9204008FA782 /* PlayerKit_Example */;
targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
607FACDF1AFB9204008FA782 /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
607FACED1AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
};
name = Debug;
};
607FACEE1AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 3.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
607FACF01AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9D69DB7C6B7F626E6391E3FA /* Pods-PlayerKit_Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 35R365FS4Q;
INFOPLIST_FILE = PlayerKit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
607FACF11AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = CF08222175BD5B0E142D343A /* Pods-PlayerKit_Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 35R365FS4Q;
INFOPLIST_FILE = PlayerKit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
607FACF31AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6555D817ABF7208F25507CA3 /* Pods-PlayerKit_Tests.debug.xcconfig */;
buildSettings = {
DEVELOPMENT_TEAM = 35R365FS4Q;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
};
name = Debug;
};
607FACF41AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = DFF31A926AE8AC95197508D5 /* Pods-PlayerKit_Tests.release.xcconfig */;
buildSettings = {
DEVELOPMENT_TEAM = 35R365FS4Q;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "PlayerKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACED1AFB9204008FA782 /* Debug */,
607FACEE1AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "PlayerKit_Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACF01AFB9204008FA782 /* Debug */,
607FACF11AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "PlayerKit_Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACF31AFB9204008FA782 /* Debug */,
607FACF41AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 607FACC81AFB9204008FA782 /* Project object */;
}
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>607FACCF1AFB9204008FA782</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>607FACE41AFB9204008FA782</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
-10
View File
@@ -1,10 +0,0 @@
use_frameworks!
target 'PlayerKit_Example' do
pod 'PlayerKit', :path => '../'
target 'PlayerKit_Tests' do
inherit! :search_paths
end
end
-16
View File
@@ -1,16 +0,0 @@
PODS:
- PlayerKit (1.2.0)
DEPENDENCIES:
- PlayerKit (from `../`)
EXTERNAL SOURCES:
PlayerKit:
:path: ../
SPEC CHECKSUMS:
PlayerKit: cdc22d328ca9cbba2b602e8f5156c98f0cde5540
PODFILE CHECKSUM: 071d8819500a822237123321021901352f4d91a4
COCOAPODS: 1.2.0
@@ -13,8 +13,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
{
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = PlayerViewController()
self.window?.makeKeyAndVisible()
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@@ -1,5 +1,15 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
@@ -29,10 +39,15 @@
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
}
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>2.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
@@ -10,10 +10,8 @@ import UIKit
import PlayerKit
import AVFoundation
class PlayerViewController: UIViewController, PlayerDelegate
{
private struct Constants
{
class PlayerViewController: UIViewController, PlayerDelegate {
private struct Constants {
static let VideoURL = URL(string: "https://github.com/vimeo/PlayerKit/blob/master/Example/PlayerKit/video.mp4?raw=true")!
}
@@ -24,8 +22,7 @@ class PlayerViewController: UIViewController, PlayerDelegate
private let player = RegularPlayer()
override func viewDidLoad()
{
override func viewDidLoad() {
super.viewDidLoad()
player.delegate = self
@@ -37,8 +34,7 @@ class PlayerViewController: UIViewController, PlayerDelegate
// MARK: Setup
private func addPlayerToView()
{
private func addPlayerToView() {
player.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
player.view.frame = self.view.bounds
self.view.insertSubview(player.view, at: 0)
@@ -46,13 +42,11 @@ class PlayerViewController: UIViewController, PlayerDelegate
// MARK: Actions
@IBAction func didTapPlayButton()
{
@IBAction func didTapPlayButton() {
self.player.playing ? self.player.pause() : self.player.play()
}
@IBAction func didChangeSliderValue()
{
@IBAction func didChangeSliderValue() {
let value = Double(self.slider.value)
let time = value * self.player.duration
@@ -62,12 +56,10 @@ class PlayerViewController: UIViewController, PlayerDelegate
// MARK: VideoPlayerDelegate
func playerDidUpdateState(player: Player, previousState: PlayerState)
{
func playerDidUpdateState(player: Player, previousState: PlayerState) {
self.activityIndicator.isHidden = true
switch player.state
{
switch player.state {
case .loading:
self.activityIndicator.isHidden = false
@@ -82,30 +74,24 @@ class PlayerViewController: UIViewController, PlayerDelegate
}
}
func playerDidUpdatePlaying(player: Player)
{
func playerDidUpdatePlaying(player: Player) {
self.playButton.isSelected = player.playing
}
func playerDidUpdateTime(player: Player)
{
guard player.duration > 0 else
{
func playerDidUpdateTime(player: Player) {
guard player.duration > 0 else {
return
}
let ratio = player.time / player.duration
if self.slider.isHighlighted == false
{
if self.slider.isHighlighted == false {
self.slider.value = Float(ratio)
}
}
func playerDidUpdateBufferedTime(player: Player)
{
guard player.duration > 0 else
{
func playerDidUpdateBufferedTime(player: Player) {
guard player.duration > 0 else {
return
}
+3 -3
View File
@@ -1,10 +1,10 @@
source 'https://rubygems.org'
gem 'fastlane', '2.42.0'
gem 'cocoapods', '1.2.0'
gem 'fastlane', '2.114.0'
gem 'cocoapods', '1.7.4'
gem 'danger', '4.0.4'
gem 'xcode-install', '2.1.0'
gem 'xcpretty-json-formatter', '0.1.0'
gem 'danger-xcode_summary', '0.1.0'
gem 'nokogiri', '1.6.0'
gem 'nokogiri', '1.8.5'
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval(File.read(plugins_path), binding) if File.exist?(plugins_path)
+119 -96
View File
@@ -1,60 +1,62 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (2.3.5)
activesupport (4.2.9)
CFPropertyList (3.0.0)
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
atomos (0.1.3)
babosa (1.0.2)
claide (1.0.2)
claide-plugins (0.9.2)
cork
nap
open4 (~> 1.3)
cocoapods (1.2.0)
cocoapods (1.7.4)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.1, < 2.0)
cocoapods-core (= 1.2.0)
cocoapods-deintegrate (>= 1.0.1, < 2.0)
cocoapods-downloader (>= 1.1.3, < 2.0)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.7.4)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.2.2, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-stats (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.1.2, < 2.0)
cocoapods-trunk (>= 1.3.1, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored (~> 1.2)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (~> 2.0.1)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.5.5)
molinillo (~> 0.6.6)
nap (~> 1.0)
ruby-macho (~> 0.2.5)
xcodeproj (>= 1.4.1, < 2.0)
cocoapods-core (1.2.0)
activesupport (>= 4.0.2, < 5)
ruby-macho (~> 1.4)
xcodeproj (>= 1.10.0, < 2.0)
cocoapods-core (1.7.4)
activesupport (>= 4.0.2, < 6)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
cocoapods-deintegrate (1.0.1)
cocoapods-downloader (1.1.3)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.2.2)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.2.0)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.3.1)
nap (>= 0.8, < 2.0)
netrc (= 0.7.8)
netrc (~> 0.11)
cocoapods-try (1.1.0)
colored (1.2)
colored2 (3.1.2)
colorize (0.8.1)
commander-fastlane (4.4.5)
commander-fastlane (4.4.6)
highline (~> 1.7.2)
cork (0.2.0)
colored (~> 1.2)
concurrent-ruby (1.1.5)
cork (0.3.0)
colored2 (~> 3.1)
danger (4.0.4)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
@@ -70,38 +72,42 @@ GEM
danger (> 2.0)
danger-xcode_summary (0.1.0)
danger-plugin-api (~> 1.0)
declarative (0.0.9)
declarative (0.0.10)
declarative-option (0.1.0)
domain_name (0.5.20170404)
digest-crc (0.4.1)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.2.1)
dotenv (2.7.4)
emoji_regex (1.0.1)
escape (0.0.4)
excon (0.57.1)
faraday (0.12.1)
excon (0.64.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
http-cookie (~> 1.0.0)
faraday-http-cache (1.3.1)
faraday (~> 0.8)
faraday_middleware (0.11.0.1)
faraday_middleware (0.13.1)
faraday (>= 0.7.4, < 1.0)
fastimage (2.1.0)
fastlane (2.42.0)
CFPropertyList (>= 2.3, < 3.0.0)
fastimage (2.1.5)
fastlane (2.114.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
babosa (>= 1.0.2, < 2.0.0)
bundler (>= 1.12.0, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander-fastlane (>= 4.4.0, < 5.0.0)
commander-fastlane (>= 4.4.6, < 5.0.0)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 2.0)
excon (>= 0.45.0, < 1.0.0)
faraday (~> 0.9)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 0.9)
fastimage (>= 1.6)
gh_inspector (>= 1.0.1, < 2.0.0)
google-api-client (>= 0.12.0, < 0.13.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.21.2, < 0.24.0)
google-cloud-storage (>= 1.15.0, < 2.0.0)
highline (>= 1.7.2, < 2.0.0)
json (< 3.0.0)
mini_magick (~> 4.5.1)
@@ -109,131 +115,148 @@ GEM
multi_xml (~> 0.5)
multipart-post (~> 2.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 1.1.0, < 2.0.0)
public_suffix (~> 2.0.0)
rubyzip (>= 1.2.2, < 2.0.0)
security (= 0.1.3)
slack-notifier (>= 1.3, < 2.0.0)
simctl (~> 1.6.3)
slack-notifier (>= 2.0.0, < 3.0.0)
terminal-notifier (>= 1.6.2, < 2.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (~> 0.5.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.4.4, < 2.0.0)
xcpretty (>= 0.2.4, < 1.0.0)
xcodeproj (>= 1.6.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-pretty_junit (0.1.1)
colorize
nokogiri
terminal-table
fourflusher (2.0.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.0.3)
git (1.3.0)
google-api-client (0.12.0)
gh_inspector (1.1.3)
git (1.5.0)
google-api-client (0.23.9)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.5)
googleauth (>= 0.5, < 0.7.0)
httpclient (>= 2.8.1, < 3.0)
mime-types (~> 3.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
googleauth (0.5.1)
faraday (~> 0.9)
jwt (~> 1.4)
logging (~> 2.0)
memoist (~> 0.12)
signet (~> 0.9)
google-cloud-core (1.3.0)
google-cloud-env (~> 1.0)
google-cloud-env (1.2.0)
faraday (~> 0.11)
google-cloud-storage (1.16.0)
digest-crc (~> 0.4)
google-api-client (~> 0.23)
google-cloud-core (~> 1.2)
googleauth (>= 0.6.2, < 0.10.0)
googleauth (0.6.7)
faraday (~> 0.12)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (~> 0.9)
os (>= 0.9, < 2.0)
signet (~> 0.7)
highline (1.7.8)
highline (1.7.10)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (0.8.6)
json (2.1.0)
jwt (1.5.6)
kramdown (1.13.2)
little-plugger (1.1.4)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
json (2.2.0)
jwt (2.2.1)
kramdown (1.17.0)
memoist (0.16.0)
mime-types (3.1)
mime-types (3.2.2)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mime-types-data (3.2019.0331)
mini_magick (4.5.1)
mini_portile (0.5.3)
minitest (5.10.2)
molinillo (0.5.7)
multi_json (1.12.1)
mini_portile2 (2.3.0)
minitest (5.11.3)
molinillo (0.6.6)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.0.0)
nanaimo (0.2.3)
nanaimo (0.2.6)
nap (1.1.0)
netrc (0.7.8)
nokogiri (1.6.0)
mini_portile (~> 0.5.0)
octokit (4.6.2)
naturally (2.2.0)
netrc (0.11.0)
nokogiri (1.8.5)
mini_portile2 (~> 2.3.0)
octokit (4.13.0)
sawyer (~> 0.8.0, >= 0.5.3)
open4 (1.3.4)
os (0.9.6)
plist (3.3.0)
os (1.0.1)
plist (3.5.0)
public_suffix (2.0.5)
representable (3.0.4)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
uber (< 0.2.0)
retriable (3.0.2)
retriable (3.1.2)
rouge (2.0.7)
ruby-macho (0.2.6)
rubyzip (1.2.1)
ruby-macho (1.4.0)
rubyzip (1.2.3)
sawyer (0.8.1)
addressable (>= 2.3.5, < 2.6)
faraday (~> 0.8, < 1.0)
security (0.1.3)
signet (0.7.3)
signet (0.11.0)
addressable (~> 2.3)
faraday (~> 0.9)
jwt (~> 1.5)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
slack-notifier (1.5.1)
simctl (1.6.5)
CFPropertyList
naturally
slack-notifier (2.3.2)
terminal-notifier (1.8.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tty-screen (0.5.0)
tzinfo (1.2.3)
tty-cursor (0.7.0)
tty-screen (0.7.0)
tty-spinner (0.9.1)
tty-cursor (~> 0.7)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.4)
unicode-display_width (1.3.0)
unf_ext (0.0.7.6)
unicode-display_width (1.6.0)
word_wrap (1.0.0)
xcode-install (2.1.0)
claide (>= 0.9.1, < 1.1.0)
fastlane (>= 2.1.1, < 3.0.0)
xcodeproj (1.5.0)
CFPropertyList (~> 2.3.3)
xcodeproj (1.11.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.2.3)
xcpretty (0.2.8)
nanaimo (~> 0.2.6)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-json-formatter (0.1.0)
xcpretty (~> 0.2, >= 0.0.7)
xcpretty-travis-formatter (0.0.4)
xcpretty-travis-formatter (1.0.0)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
DEPENDENCIES
cocoapods (= 1.2.0)
cocoapods (= 1.7.4)
danger (= 4.0.4)
danger-xcode_summary (= 0.1.0)
fastlane (= 2.42.0)
fastlane (= 2.114.0)
fastlane-plugin-pretty_junit
nokogiri (= 1.6.0)
nokogiri (= 1.8.5)
xcode-install (= 2.1.0)
xcpretty-json-formatter (= 0.1.0)
BUNDLED WITH
1.15.1
1.17.2
+12 -6
View File
@@ -1,20 +1,26 @@
Pod::Spec.new do |s|
s.name = 'PlayerKit'
s.version = '1.2.0'
s.version = '3.1.0'
s.summary = 'A modular video player system.'
s.description = <<-DESC
PlayerKit is a modular video player system for iOS and tvOS.
PlayerKit is a modular video player system for iOS, tvOS, & macOS.
DESC
s.homepage = 'https://github.com/vimeo/PlayerKit'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Gavin King' => 'gavin@vimeo.com' }
s.author = { 'code' => 'gavin@vimeo.com' }
s.source = { :git => 'https://github.com/vimeo/PlayerKit.git', :tag => s.version.to_s }
s.ios.deployment_target = '8.0'
s.tvos.deployment_target = '9.0'
s.ios.deployment_target = '10.3'
s.tvos.deployment_target = '10.0'
s.osx.deployment_target = '10.11'
s.source_files = 'PlayerKit/Classes/**/*'
s.ios.framework = 'UIKit'
s.osx.framework = 'AppKit'
s.swift_version = "5.0"
s.source_files = 'Sources/**/*.swift'
end
+884
View File
@@ -0,0 +1,884 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
247AA5DF3742EDF63FBB81C1 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D882864B2E994D13F783B02 /* Pods_Example.framework */; };
87127EEC22F4CBD700ABDB39 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87127EEB22F4CBD700ABDB39 /* Default-568h@2x.png */; };
8751E67222F49B48000610A0 /* PlayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E66A22F49B47000610A0 /* PlayerViewController.swift */; };
8751E67322F49B48000610A0 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8751E66C22F49B47000610A0 /* LaunchScreen.xib */; };
8751E67422F49B48000610A0 /* video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 8751E66E22F49B47000610A0 /* video.mp4 */; };
8751E67522F49B48000610A0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E66F22F49B48000610A0 /* AppDelegate.swift */; };
8751E67622F49B48000610A0 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8751E67022F49B48000610A0 /* Images.xcassets */; };
8751E67722F49B48000610A0 /* PlayerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8751E67122F49B48000610A0 /* PlayerViewController.xib */; };
8751E69522F4B7CE000610A0 /* PlayerKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8751E68C22F4B7CE000610A0 /* PlayerKit.framework */; };
8751E6AE22F4C70F000610A0 /* RegularPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E67922F49B83000610A0 /* RegularPlayer.swift */; };
8751E6AF22F4C70F000610A0 /* CMTime+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E67A22F49B83000610A0 /* CMTime+Utilities.swift */; };
8751E6B022F4C70F000610A0 /* Player.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E67B22F49B83000610A0 /* Player.swift */; };
8751E6B122F4C70F000610A0 /* AVPlayer+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8751E67C22F49B83000610A0 /* AVPlayer+Utilities.swift */; };
87570FEB22F8D4FB00D740FD /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
87570FED22F9E15500D740FD /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87570FEC22F9E15500D740FD /* PlayerView.swift */; };
F0FFB37F820BFA1221283BF8 /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3423AC93F7CB435E99250B3C /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */; };
F5E7784A924FFE1AF46D019B /* Pods_PlayerKit_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0E6AB4D2B9EC44EF46A6D7 /* Pods_PlayerKit_iOS.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
8751E69622F4B7CE000610A0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8751E68B22F4B7CE000610A0;
remoteInfo = "PlayerKit-iOS";
};
8751E69822F4B7CE000610A0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 607FACCF1AFB9204008FA782;
remoteInfo = Example;
};
8751E69F22F4B7CE000610A0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8751E68B22F4B7CE000610A0;
remoteInfo = "PlayerKit-iOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
8751E6A622F4B7CE000610A0 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
06ADDC319723C20649C2FA3B /* Pods-PlayerKit_Example-PlayerKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example-PlayerKit_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example-PlayerKit_Tests/Pods-PlayerKit_Example-PlayerKit_Tests.release.xcconfig"; sourceTree = "<group>"; };
20880ABD8AF308D6CD3ECF27 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig"; sourceTree = "<group>"; };
2D882864B2E994D13F783B02 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3423AC93F7CB435E99250B3C /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3949B386B03676886FE62506 /* Pods-PlayerKit-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS.debug.xcconfig"; sourceTree = "<group>"; };
42E929A2EB9184C0DC478EF2 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
607FACD01AFB9204008FA782 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
6555D817ABF7208F25507CA3 /* Pods-PlayerKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests.debug.xcconfig"; sourceTree = "<group>"; };
65AF49FFD316A75AE3019005 /* Pods-PlayerKit-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-Tests/Pods-PlayerKit-Tests.debug.xcconfig"; sourceTree = "<group>"; };
680FAFB882E155317DBF1794 /* Pods-PlayerKit-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS.release.xcconfig"; sourceTree = "<group>"; };
87127EEB22F4CBD700ABDB39 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
8751E66A22F49B47000610A0 /* PlayerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlayerViewController.swift; sourceTree = "<group>"; };
8751E66D22F49B47000610A0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = LaunchScreen.xib; sourceTree = "<group>"; };
8751E66E22F49B47000610A0 /* video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = video.mp4; sourceTree = "<group>"; };
8751E66F22F49B48000610A0 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
8751E67022F49B48000610A0 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
8751E67122F49B48000610A0 /* PlayerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PlayerViewController.xib; sourceTree = "<group>"; };
8751E67922F49B83000610A0 /* RegularPlayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RegularPlayer.swift; sourceTree = "<group>"; };
8751E67A22F49B83000610A0 /* CMTime+Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CMTime+Utilities.swift"; sourceTree = "<group>"; };
8751E67B22F49B83000610A0 /* Player.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Player.swift; sourceTree = "<group>"; };
8751E67C22F49B83000610A0 /* AVPlayer+Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AVPlayer+Utilities.swift"; sourceTree = "<group>"; };
8751E68222F49BA1000610A0 /* PlayerKit.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = PlayerKit.plist; sourceTree = "<group>"; };
8751E68322F49BA1000610A0 /* PlayerKitTests.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = PlayerKitTests.plist; sourceTree = "<group>"; };
8751E68C22F4B7CE000610A0 /* PlayerKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PlayerKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8751E69422F4B7CE000610A0 /* PlayerKit-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PlayerKit-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
87570FE922F4E01300D740FD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
87570FEC22F9E15500D740FD /* PlayerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlayerView.swift; sourceTree = "<group>"; };
8A0E6AB4D2B9EC44EF46A6D7 /* Pods_PlayerKit_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PlayerKit_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9D69DB7C6B7F626E6391E3FA /* Pods-PlayerKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example.debug.xcconfig"; sourceTree = "<group>"; };
A5F6E9489936F0976FA4E1B5 /* Pods-PlayerKit-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-Tests/Pods-PlayerKit-Tests.release.xcconfig"; sourceTree = "<group>"; };
B1FC158E91EEFDAA3B2CEA75 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
CB6A2484BEF41A759FDB745A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig"; sourceTree = "<group>"; };
CF08222175BD5B0E142D343A /* Pods-PlayerKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example/Pods-PlayerKit_Example.release.xcconfig"; sourceTree = "<group>"; };
D9BD59D2412A17E8947A196F /* Pods-PlayerKit_Example-PlayerKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Example-PlayerKit_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Example-PlayerKit_Tests/Pods-PlayerKit_Example-PlayerKit_Tests.debug.xcconfig"; sourceTree = "<group>"; };
DFF31A926AE8AC95197508D5 /* Pods-PlayerKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PlayerKit_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PlayerKit_Tests/Pods-PlayerKit_Tests.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
607FACCD1AFB9204008FA782 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
247AA5DF3742EDF63FBB81C1 /* Pods_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E68922F4B7CE000610A0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F5E7784A924FFE1AF46D019B /* Pods_PlayerKit_iOS.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E69122F4B7CE000610A0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8751E69522F4B7CE000610A0 /* PlayerKit.framework in Frameworks */,
F0FFB37F820BFA1221283BF8 /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1281DD2508084B1C82940F02 /* Pods */ = {
isa = PBXGroup;
children = (
9D69DB7C6B7F626E6391E3FA /* Pods-PlayerKit_Example.debug.xcconfig */,
CF08222175BD5B0E142D343A /* Pods-PlayerKit_Example.release.xcconfig */,
6555D817ABF7208F25507CA3 /* Pods-PlayerKit_Tests.debug.xcconfig */,
DFF31A926AE8AC95197508D5 /* Pods-PlayerKit_Tests.release.xcconfig */,
D9BD59D2412A17E8947A196F /* Pods-PlayerKit_Example-PlayerKit_Tests.debug.xcconfig */,
06ADDC319723C20649C2FA3B /* Pods-PlayerKit_Example-PlayerKit_Tests.release.xcconfig */,
B1FC158E91EEFDAA3B2CEA75 /* Pods-Example.debug.xcconfig */,
42E929A2EB9184C0DC478EF2 /* Pods-Example.release.xcconfig */,
65AF49FFD316A75AE3019005 /* Pods-PlayerKit-Tests.debug.xcconfig */,
A5F6E9489936F0976FA4E1B5 /* Pods-PlayerKit-Tests.release.xcconfig */,
3949B386B03676886FE62506 /* Pods-PlayerKit-iOS.debug.xcconfig */,
680FAFB882E155317DBF1794 /* Pods-PlayerKit-iOS.release.xcconfig */,
20880ABD8AF308D6CD3ECF27 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */,
CB6A2484BEF41A759FDB745A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
607FACC71AFB9204008FA782 = {
isa = PBXGroup;
children = (
8751E68122F49BA1000610A0 /* Configs */,
62851F2334F3860DF996262E /* Frameworks */,
607FACE81AFB9204008FA782 /* Tests */,
8751E67822F49B83000610A0 /* Sources */,
607FACD21AFB9204008FA782 /* Example */,
607FACD11AFB9204008FA782 /* Products */,
1281DD2508084B1C82940F02 /* Pods */,
);
sourceTree = "<group>";
};
607FACD11AFB9204008FA782 /* Products */ = {
isa = PBXGroup;
children = (
607FACD01AFB9204008FA782 /* Example.app */,
8751E68C22F4B7CE000610A0 /* PlayerKit.framework */,
8751E69422F4B7CE000610A0 /* PlayerKit-iOSTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
607FACD21AFB9204008FA782 /* Example */ = {
isa = PBXGroup;
children = (
87127EE922F4C93D00ABDB39 /* iOS */,
);
path = Example;
sourceTree = "<group>";
};
607FACE81AFB9204008FA782 /* Tests */ = {
isa = PBXGroup;
children = (
607FACEB1AFB9204008FA782 /* Tests.swift */,
607FACE91AFB9204008FA782 /* Supporting Files */,
);
path = Tests;
sourceTree = "<group>";
};
607FACE91AFB9204008FA782 /* Supporting Files */ = {
isa = PBXGroup;
children = (
607FACEA1AFB9204008FA782 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
62851F2334F3860DF996262E /* Frameworks */ = {
isa = PBXGroup;
children = (
2D882864B2E994D13F783B02 /* Pods_Example.framework */,
8A0E6AB4D2B9EC44EF46A6D7 /* Pods_PlayerKit_iOS.framework */,
3423AC93F7CB435E99250B3C /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
87127EE922F4C93D00ABDB39 /* iOS */ = {
isa = PBXGroup;
children = (
87570FE922F4E01300D740FD /* Info.plist */,
87127EEB22F4CBD700ABDB39 /* Default-568h@2x.png */,
8751E66F22F49B48000610A0 /* AppDelegate.swift */,
8751E67022F49B48000610A0 /* Images.xcassets */,
8751E66C22F49B47000610A0 /* LaunchScreen.xib */,
8751E66A22F49B47000610A0 /* PlayerViewController.swift */,
8751E67122F49B48000610A0 /* PlayerViewController.xib */,
8751E66E22F49B47000610A0 /* video.mp4 */,
);
path = iOS;
sourceTree = "<group>";
};
8751E67822F49B83000610A0 /* Sources */ = {
isa = PBXGroup;
children = (
87570FEC22F9E15500D740FD /* PlayerView.swift */,
8751E67922F49B83000610A0 /* RegularPlayer.swift */,
8751E67A22F49B83000610A0 /* CMTime+Utilities.swift */,
8751E67B22F49B83000610A0 /* Player.swift */,
8751E67C22F49B83000610A0 /* AVPlayer+Utilities.swift */,
);
path = Sources;
sourceTree = "<group>";
};
8751E68122F49BA1000610A0 /* Configs */ = {
isa = PBXGroup;
children = (
8751E68222F49BA1000610A0 /* PlayerKit.plist */,
8751E68322F49BA1000610A0 /* PlayerKitTests.plist */,
);
path = Configs;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8751E68722F4B7CE000610A0 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
607FACCF1AFB9204008FA782 /* Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "Example" */;
buildPhases = (
39DBB93200760D1BB486C4CC /* [CP] Check Pods Manifest.lock */,
607FACCC1AFB9204008FA782 /* Sources */,
607FACCD1AFB9204008FA782 /* Frameworks */,
607FACCE1AFB9204008FA782 /* Resources */,
8751E6A622F4B7CE000610A0 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
8751E6A022F4B7CE000610A0 /* PBXTargetDependency */,
);
name = Example;
productName = PlayerKit;
productReference = 607FACD01AFB9204008FA782 /* Example.app */;
productType = "com.apple.product-type.application";
};
8751E68B22F4B7CE000610A0 /* PlayerKit-iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8751E6A322F4B7CE000610A0 /* Build configuration list for PBXNativeTarget "PlayerKit-iOS" */;
buildPhases = (
E61F9975A72DC392111AC7B0 /* [CP] Check Pods Manifest.lock */,
8751E68722F4B7CE000610A0 /* Headers */,
8751E68822F4B7CE000610A0 /* Sources */,
8751E68922F4B7CE000610A0 /* Frameworks */,
8751E68A22F4B7CE000610A0 /* Resources */,
87570FE822F4DE9C00D740FD /* Run SwiftLint */,
);
buildRules = (
);
dependencies = (
);
name = "PlayerKit-iOS";
productName = "PlayerKit-iOS";
productReference = 8751E68C22F4B7CE000610A0 /* PlayerKit.framework */;
productType = "com.apple.product-type.framework";
};
8751E69322F4B7CE000610A0 /* PlayerKit-iOSTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8751E6A722F4B7CE000610A0 /* Build configuration list for PBXNativeTarget "PlayerKit-iOSTests" */;
buildPhases = (
D4702BBD266E1D4C894B9B87 /* [CP] Check Pods Manifest.lock */,
8751E69022F4B7CE000610A0 /* Sources */,
8751E69122F4B7CE000610A0 /* Frameworks */,
8751E69222F4B7CE000610A0 /* Resources */,
);
buildRules = (
);
dependencies = (
8751E69722F4B7CE000610A0 /* PBXTargetDependency */,
8751E69922F4B7CE000610A0 /* PBXTargetDependency */,
);
name = "PlayerKit-iOSTests";
productName = "PlayerKit-iOSTests";
productReference = 8751E69422F4B7CE000610A0 /* PlayerKit-iOSTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
607FACC81AFB9204008FA782 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1010;
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = Vimeo;
TargetAttributes = {
607FACCF1AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
LastSwiftMigration = 1010;
ProvisioningStyle = Manual;
};
8751E68B22F4B7CE000610A0 = {
CreatedOnToolsVersion = 10.1;
ProvisioningStyle = Automatic;
};
8751E69322F4B7CE000610A0 = {
CreatedOnToolsVersion = 10.1;
DevelopmentTeam = 35R365FS4Q;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "PlayerKit" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
Base,
global,
);
mainGroup = 607FACC71AFB9204008FA782;
productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
8751E68B22F4B7CE000610A0 /* PlayerKit-iOS */,
8751E69322F4B7CE000610A0 /* PlayerKit-iOSTests */,
607FACCF1AFB9204008FA782 /* Example */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
607FACCE1AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8751E67622F49B48000610A0 /* Images.xcassets in Resources */,
8751E67722F49B48000610A0 /* PlayerViewController.xib in Resources */,
8751E67322F49B48000610A0 /* LaunchScreen.xib in Resources */,
8751E67422F49B48000610A0 /* video.mp4 in Resources */,
87127EEC22F4CBD700ABDB39 /* Default-568h@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E68A22F4B7CE000610A0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E69222F4B7CE000610A0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
39DBB93200760D1BB486C4CC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
87570FE822F4DE9C00D740FD /* Run SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Run SwiftLint";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if which \"$PODS_ROOT\"/SwiftLint/swiftlint > /dev/null; then\n\"$PODS_ROOT\"/SwiftLint/swiftlint autocorrect\nelse\necho \"Warning: SwiftLint is not installed. Make sure you've run `bundle exec pod install`.\"\nfi\n";
};
D4702BBD266E1D4C894B9B87 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-PlayerKit-iOS-PlayerKit-iOSTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
E61F9975A72DC392111AC7B0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-PlayerKit-iOS-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
607FACCC1AFB9204008FA782 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8751E67522F49B48000610A0 /* AppDelegate.swift in Sources */,
8751E67222F49B48000610A0 /* PlayerViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E68822F4B7CE000610A0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8751E6AE22F4C70F000610A0 /* RegularPlayer.swift in Sources */,
8751E6B022F4C70F000610A0 /* Player.swift in Sources */,
8751E6B122F4C70F000610A0 /* AVPlayer+Utilities.swift in Sources */,
87570FED22F9E15500D740FD /* PlayerView.swift in Sources */,
8751E6AF22F4C70F000610A0 /* CMTime+Utilities.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8751E69022F4B7CE000610A0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
87570FEB22F8D4FB00D740FD /* Tests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
8751E69722F4B7CE000610A0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8751E68B22F4B7CE000610A0 /* PlayerKit-iOS */;
targetProxy = 8751E69622F4B7CE000610A0 /* PBXContainerItemProxy */;
};
8751E69922F4B7CE000610A0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 607FACCF1AFB9204008FA782 /* Example */;
targetProxy = 8751E69822F4B7CE000610A0 /* PBXContainerItemProxy */;
};
8751E6A022F4B7CE000610A0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8751E68B22F4B7CE000610A0 /* PlayerKit-iOS */;
targetProxy = 8751E69F22F4B7CE000610A0 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
8751E66C22F49B47000610A0 /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
8751E66D22F49B47000610A0 /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
607FACED1AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
607FACEE1AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
607FACF01AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B1FC158E91EEFDAA3B2CEA75 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = "$(SRCROOT)/Example/iOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "com.Vimeo-iOS.Example";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
607FACF11AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 42E929A2EB9184C0DC478EF2 /* Pods-Example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = "$(SRCROOT)/Example/iOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "com.Vimeo-iOS.Example";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
8751E6A422F4B7CE000610A0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 3949B386B03676886FE62506 /* Pods-PlayerKit-iOS.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(SRCROOT)/Configs/PlayerKit.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.Vimeo.PlayerKit-iOS";
PRODUCT_NAME = PlayerKit;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
8751E6A522F4B7CE000610A0 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 680FAFB882E155317DBF1794 /* Pods-PlayerKit-iOS.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(SRCROOT)/Configs/PlayerKit.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.Vimeo.PlayerKit-iOS";
PRODUCT_NAME = PlayerKit;
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
8751E6A822F4B7CE000610A0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 20880ABD8AF308D6CD3ECF27 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 35R365FS4Q;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(SRCROOT)/Configs/PlayerKitTests.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.vimeo.mac.PlayerKit-iOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
8751E6A922F4B7CE000610A0 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = CB6A2484BEF41A759FDB745A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 35R365FS4Q;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(SRCROOT)/Configs/PlayerKitTests.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.vimeo.mac.PlayerKit-iOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "PlayerKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACED1AFB9204008FA782 /* Debug */,
607FACEE1AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACF01AFB9204008FA782 /* Debug */,
607FACF11AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8751E6A322F4B7CE000610A0 /* Build configuration list for PBXNativeTarget "PlayerKit-iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8751E6A422F4B7CE000610A0 /* Debug */,
8751E6A522F4B7CE000610A0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8751E6A722F4B7CE000610A0 /* Build configuration list for PBXNativeTarget "PlayerKit-iOSTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8751E6A822F4B7CE000610A0 /* Debug */,
8751E6A922F4B7CE000610A0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 607FACC81AFB9204008FA782 /* Project object */;
}
@@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:PlayerKit.xcodeproj">
location = "self:">
</FileRef>
</Workspace>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -15,22 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "PlayerKit_Example.app"
BlueprintName = "PlayerKit_Example"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACE41AFB9204008FA782"
BuildableName = "PlayerKit_Tests.xctest"
BlueprintName = "PlayerKit_Tests"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@@ -40,26 +26,15 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACE41AFB9204008FA782"
BuildableName = "PlayerKit_Tests.xctest"
BlueprintName = "PlayerKit_Tests"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "PlayerKit_Example.app"
BlueprintName = "PlayerKit_Example"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
@@ -70,7 +45,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
@@ -82,8 +56,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "PlayerKit_Example.app"
BlueprintName = "PlayerKit_Example"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@@ -101,8 +75,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "PlayerKit_Example.app"
BlueprintName = "PlayerKit_Example"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8751E68B22F4B7CE000610A0"
BuildableName = "PlayerKit.framework"
BlueprintName = "PlayerKit-iOS"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8751E69322F4B7CE000610A0"
BuildableName = "PlayerKit-iOSTests.xctest"
BlueprintName = "PlayerKit-iOSTests"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8751E68B22F4B7CE000610A0"
BuildableName = "PlayerKit.framework"
BlueprintName = "PlayerKit-iOS"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8751E68B22F4B7CE000610A0"
BuildableName = "PlayerKit.framework"
BlueprintName = "PlayerKit-iOS"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8751E68B22F4B7CE000610A0"
BuildableName = "PlayerKit.framework"
BlueprintName = "PlayerKit-iOS"
ReferencedContainer = "container:PlayerKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
View File
View File
-402
View File
@@ -1,402 +0,0 @@
//
// RegularPlayer.swift
// Pods
//
// Created by King, Gavin on 3/7/17.
//
//
import UIKit
import Foundation
import AVFoundation
import AVKit
/// A RegularPlayer is used to play regular videos.
@objc open class RegularPlayer: NSObject, Player, ProvidesView
{
public struct Constants
{
public static let TimeUpdateInterval: TimeInterval = 0.1
}
// MARK: Private Properties
fileprivate var player = AVPlayer()
// MARK: Public API
/// Sets an AVAsset on the player.
///
/// - Parameter asset: The AVAsset
@objc open func set(_ asset: AVAsset)
{
// Prepare the old item for removal
if let currentItem = self.player.currentItem
{
self.removePlayerItemObservers(fromPlayerItem: currentItem)
}
// Replace it with the new item
let playerItem = AVPlayerItem(asset: asset)
self.addPlayerItemObservers(toPlayerItem: playerItem)
self.player.replaceCurrentItem(with: playerItem)
}
// MARK: ProvidesView
private class RegularPlayerView: UIView
{
var playerLayer: AVPlayerLayer
{
return self.layer as! AVPlayerLayer
}
override class var layerClass: AnyClass
{
return AVPlayerLayer.self
}
func configureForPlayer(player: AVPlayer)
{
(self.layer as! AVPlayerLayer).player = player
}
}
public let view: UIView = RegularPlayerView(frame: .zero)
private var regularPlayerView: RegularPlayerView
{
return self.view as! RegularPlayerView
}
private var playerLayer: AVPlayerLayer
{
return self.regularPlayerView.playerLayer
}
// MARK: Player
weak public var delegate: PlayerDelegate?
public private(set) var state: PlayerState = .ready
{
didSet
{
self.delegate?.playerDidUpdateState(player: self, previousState: oldValue)
}
}
public var duration: TimeInterval
{
return self.player.currentItem?.duration.timeInterval ?? 0
}
public private(set) var time: TimeInterval = 0
{
didSet
{
self.delegate?.playerDidUpdateTime(player: self)
}
}
public private(set) var bufferedTime: TimeInterval = 0
{
didSet
{
self.delegate?.playerDidUpdateBufferedTime(player: self)
}
}
public var playing: Bool
{
return self.player.rate > 0
}
public var error: NSError?
{
return self.player.errorForPlayerOrItem
}
public func seek(to time: TimeInterval)
{
let cmTime = CMTimeMakeWithSeconds(time, Int32(NSEC_PER_SEC))
self.player.seek(to: cmTime)
self.time = time
}
public func play()
{
self.player.play()
}
public func pause()
{
self.player.pause()
}
// MARK: Lifecycle
public override init()
{
super.init()
self.addPlayerObservers()
self.regularPlayerView.configureForPlayer(player: self.player)
self.setupAirplay()
}
deinit
{
if let playerItem = self.player.currentItem
{
self.removePlayerItemObservers(fromPlayerItem: playerItem)
}
self.removePlayerObservers()
}
// MARK: Setup
private func setupAirplay()
{
self.player.usesExternalPlaybackWhileExternalScreenIsActive = true
}
// MARK: Observers
private struct KeyPath
{
struct Player
{
static let Rate = "rate"
}
struct PlayerItem
{
static let Status = "status"
static let PlaybackLikelyToKeepUp = "playbackLikelyToKeepUp"
static let LoadedTimeRanges = "loadedTimeRanges"
}
}
private var playerTimeObserver: Any?
private func addPlayerItemObservers(toPlayerItem playerItem: AVPlayerItem)
{
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.Status, options: [.initial, .new], context: nil)
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.PlaybackLikelyToKeepUp, options: [.initial, .new], context: nil)
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.LoadedTimeRanges, options: [.initial, .new], context: nil)
}
private func removePlayerItemObservers(fromPlayerItem playerItem: AVPlayerItem)
{
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.Status, context: nil)
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.PlaybackLikelyToKeepUp, context: nil)
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.LoadedTimeRanges, context: nil)
}
private func addPlayerObservers()
{
self.player.addObserver(self, forKeyPath: KeyPath.Player.Rate, options: [.initial, .new], context: nil)
let interval = CMTimeMakeWithSeconds(Constants.TimeUpdateInterval, Int32(NSEC_PER_SEC))
self.playerTimeObserver = self.player.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main, using: { [weak self] (cmTime) in
if let strongSelf = self, let time = cmTime.timeInterval
{
strongSelf.time = time
}
})
}
private func removePlayerObservers()
{
self.player.removeObserver(self, forKeyPath: KeyPath.Player.Rate, context: nil)
if let playerTimeObserver = self.playerTimeObserver
{
self.player.removeTimeObserver(playerTimeObserver)
self.playerTimeObserver = nil
}
}
// MARK: Observation
override open func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
{
// Player Item Observers
if keyPath == KeyPath.PlayerItem.Status
{
if let statusInt = change?[.newKey] as? Int, let status = AVPlayerItemStatus(rawValue: statusInt)
{
self.playerItemStatusDidChange(status: status)
}
}
else if keyPath == KeyPath.PlayerItem.PlaybackLikelyToKeepUp
{
if let playbackLikelyToKeepUp = change?[.newKey] as? Bool
{
self.playerItemPlaybackLikelyToKeepUpDidChange(playbackLikelyToKeepUp: playbackLikelyToKeepUp)
}
}
else if keyPath == KeyPath.PlayerItem.LoadedTimeRanges
{
if let loadedTimeRanges = change?[.newKey] as? [NSValue]
{
self.playerItemLoadedTimeRangesDidChange(loadedTimeRanges: loadedTimeRanges)
}
}
// Player Observers
else if keyPath == KeyPath.Player.Rate
{
if let rate = change?[.newKey] as? Float
{
self.playerRateDidChange(rate: rate)
}
}
// Fall Through Observers
else
{
super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
}
}
// MARK: Observation Helpers
private func playerItemStatusDidChange(status: AVPlayerItemStatus)
{
switch status
{
case .unknown:
self.state = .loading
case .readyToPlay:
self.state = .ready
case .failed:
self.state = .failed
}
}
private func playerRateDidChange(rate: Float)
{
self.delegate?.playerDidUpdatePlaying(player: self)
}
private func playerItemPlaybackLikelyToKeepUpDidChange(playbackLikelyToKeepUp: Bool)
{
let state: PlayerState = playbackLikelyToKeepUp ? .ready : .loading
self.state = state
}
private func playerItemLoadedTimeRangesDidChange(loadedTimeRanges: [NSValue])
{
guard let bufferedCMTime = loadedTimeRanges.first?.timeRangeValue.end, let bufferedTime = bufferedCMTime.timeInterval else
{
return
}
self.bufferedTime = bufferedTime
}
// MARK: Capability Protocol Helpers
#if os(iOS)
@available(iOS 9.0, *)
fileprivate lazy var _pictureInPictureController: AVPictureInPictureController? = {
AVPictureInPictureController(playerLayer: self.regularPlayerView.playerLayer)
}()
#endif
}
// MARK: Capability Protocols
extension RegularPlayer: AirPlayCapable
{
public var isAirPlayEnabled: Bool
{
get
{
return self.player.allowsExternalPlayback
}
set
{
return self.player.allowsExternalPlayback = newValue
}
}
}
#if os(iOS)
extension RegularPlayer: PictureInPictureCapable
{
@available(iOS 9.0, *)
public var pictureInPictureController: AVPictureInPictureController?
{
return self._pictureInPictureController
}
}
#endif
extension RegularPlayer: VolumeCapable
{
public var volume: Float
{
get
{
return self.player.volume
}
set
{
self.player.volume = newValue
}
}
}
extension RegularPlayer: FillModeCapable
{
public var fillMode: FillMode
{
get
{
let gravity = (self.view.layer as! AVPlayerLayer).videoGravity
return gravity == .resizeAspect ? .fit : .fill
}
set
{
let gravity: AVLayerVideoGravity
switch newValue
{
case .fit:
gravity = .resizeAspect
case .fill:
gravity = .resizeAspectFill
}
(self.view.layer as! AVPlayerLayer).videoGravity = gravity
}
}
}
+21
View File
@@ -0,0 +1,21 @@
use_frameworks!
inhibit_all_warnings!
platform :ios, '10.3'
workspace 'PlayerKit'
project 'PlayerKit.xcodeproj'
def shared_pods
pod 'SwiftLint', '0.25.1'
end
target 'PlayerKit-iOS' do
platform :ios, '10.3'
shared_pods
target 'PlayerKit-iOSTests' do
end
end
target 'Example' do
shared_pods
end
+16
View File
@@ -0,0 +1,16 @@
PODS:
- SwiftLint (0.25.1)
DEPENDENCIES:
- SwiftLint (= 0.25.1)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- SwiftLint
SPEC CHECKSUMS:
SwiftLint: ce933681be10c3266e82576dad676fa815a602e9
PODFILE CHECKSUM: 481539ee72ea39c6191d109b3e2754f858c670fc
COCOAPODS: 1.7.4
+16
View File
@@ -0,0 +1,16 @@
PODS:
- SwiftLint (0.25.1)
DEPENDENCIES:
- SwiftLint (= 0.25.1)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- SwiftLint
SPEC CHECKSUMS:
SwiftLint: ce933681be10c3266e82576dad676fa815a602e9
PODFILE CHECKSUM: 481539ee72ea39c6191d109b3e2754f858c670fc
COCOAPODS: 1.7.4
+867
View File
@@ -0,0 +1,867 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXAggregateTarget section */
52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */ = {
isa = PBXAggregateTarget;
buildConfigurationList = AE7B4FB01588B9E6DF09CB79FC7CE7BD /* Build configuration list for PBXAggregateTarget "SwiftLint" */;
buildPhases = (
);
dependencies = (
);
name = SwiftLint;
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
4E4AC3A8FB914D7045AFCCA4698DE3F6 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 032A53A184E6D452C8F6075D6CC3DD74 /* Pods-Example-dummy.m */; };
8472848C964EEF48269B7CA5AA2019DE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
9036821D555DFC0213A03BB39FE06ED3 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C17174985BA9FC2C1E804CDE967C9C30 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
9FC13A5DC06126718BCBF441FA3E9AF8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
B9D77AFB75C1F93A0C74C4762B19772B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
C30D3EC67151C1F25132A1E9DF9635DA /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 34122D6C6A16E026E8260CF363A15F3E /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m */; };
CB56CB5BBE979775115D5FD3D9148AE7 /* Pods-PlayerKit-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B19F9668174DF14AF8D774408165F06 /* Pods-PlayerKit-iOS-dummy.m */; };
CE0EE4999752669B6C99DBF985F3C45B /* Pods-PlayerKit-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E74B4C77BFEF680832415141951EF19C /* Pods-PlayerKit-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
F5AE61EE47B8959ED75FA7BCB8BAAAFC /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FA99229015DBEDE9EA010C865B809C30 /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
348D1B96A099D48D13F644215673FB2C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9;
remoteInfo = SwiftLint;
};
AA180180AFD40835B16B5CA989938BF6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9;
remoteInfo = SwiftLint;
};
C040F429878C629EDB9323FC2A7FFD5F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9;
remoteInfo = SwiftLint;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
02E2B987D23ACB62F57D1F0461D31EF4 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests-Info.plist"; sourceTree = "<group>"; };
032A53A184E6D452C8F6075D6CC3DD74 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
0A67864EE3FB59ED439242B9C9BDCC15 /* Pods-PlayerKit-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PlayerKit-iOS.modulemap"; sourceTree = "<group>"; };
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Example.framework; path = "Pods-Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
2895112BE2CD854B91A0DF9406DD0CF1 /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
34122D6C6A16E026E8260CF363A15F3E /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m"; sourceTree = "<group>"; };
36DA449F0E03216091A724A1956A7875 /* Pods-PlayerKit-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PlayerKit-iOS.release.xcconfig"; sourceTree = "<group>"; };
4A237BBC095E2DB87CC78D64CBEB0838 /* Pods-PlayerKit-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PlayerKit-iOS.debug.xcconfig"; sourceTree = "<group>"; };
8420988E67F9F92E762236752BDB93CC /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
89F85ACF3D78B39506B75103B4694B36 /* SwiftLint.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.xcconfig; sourceTree = "<group>"; };
8EB9463508EB5F8C54AA2DFA14B8D3CC /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
9B19F9668174DF14AF8D774408165F06 /* Pods-PlayerKit-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PlayerKit-iOS-dummy.m"; sourceTree = "<group>"; };
9B6BE3AACA13FB104B38B2AE5856E3DF /* Pods-PlayerKit-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PlayerKit-iOS-acknowledgements.markdown"; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
A2E49FC23F51CA2E33B7F0134EF25986 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
A9978B3531DDCA7A4A0279CD05F6A096 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig"; sourceTree = "<group>"; };
B5AB1D83F5F14167113D886830AE2CB5 /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
BD5AB565AE667994ED7DAD54DE9D8D5A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig"; sourceTree = "<group>"; };
C17174985BA9FC2C1E804CDE967C9C30 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h"; sourceTree = "<group>"; };
C813C0FD8242C1D43741C1AF1165EA5F /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.plist"; sourceTree = "<group>"; };
CB3E8C8927EE333BC9DE68B0A07141E0 /* Pods-PlayerKit-iOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PlayerKit-iOS-Info.plist"; sourceTree = "<group>"; };
D53A128819FB89F7B190ECD236E9F47D /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.markdown"; sourceTree = "<group>"; };
D67B73BA9A55E41073ABCA9FB26140BF /* Pods_PlayerKit_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PlayerKit_iOS.framework; path = "Pods-PlayerKit-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
E74B4C77BFEF680832415141951EF19C /* Pods-PlayerKit-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PlayerKit-iOS-umbrella.h"; sourceTree = "<group>"; };
FA8C4FBC29D168EBE705BE782FDDE0DD /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
FA99229015DBEDE9EA010C865B809C30 /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
FCA33D9808CAC4862A09106011F2DAE5 /* Pods-PlayerKit-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PlayerKit-iOS-acknowledgements.plist"; sourceTree = "<group>"; };
FD2AB78FE0CAF8A0DD744C862C4C24B7 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PlayerKit-iOS-PlayerKit-iOSTests.modulemap"; sourceTree = "<group>"; };
FEECF2EA85C646486F69B7D751D685A7 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
728E62D9ED9FCEE05D96F12BBC08C3D4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8472848C964EEF48269B7CA5AA2019DE /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E07D9945F5CFB48116C065A601C6E8A9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B9D77AFB75C1F93A0C74C4762B19772B /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
F91BD14E17DF72756114D6A178726E26 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9FC13A5DC06126718BCBF441FA3E9AF8 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
45E9E79AE07DD8CBBD9F875FFE5EACCE /* Pods-PlayerKit-iOS-PlayerKit-iOSTests */ = {
isa = PBXGroup;
children = (
FD2AB78FE0CAF8A0DD744C862C4C24B7 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.modulemap */,
D53A128819FB89F7B190ECD236E9F47D /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.markdown */,
C813C0FD8242C1D43741C1AF1165EA5F /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-acknowledgements.plist */,
34122D6C6A16E026E8260CF363A15F3E /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m */,
02E2B987D23ACB62F57D1F0461D31EF4 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-Info.plist */,
C17174985BA9FC2C1E804CDE967C9C30 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h */,
A9978B3531DDCA7A4A0279CD05F6A096 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */,
BD5AB565AE667994ED7DAD54DE9D8D5A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */,
);
name = "Pods-PlayerKit-iOS-PlayerKit-iOSTests";
path = "Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests";
sourceTree = "<group>";
};
5DC1BC658EB104230B2B4BDA6CF7EC40 /* Products */ = {
isa = PBXGroup;
children = (
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */,
D67B73BA9A55E41073ABCA9FB26140BF /* Pods_PlayerKit_iOS.framework */,
2895112BE2CD854B91A0DF9406DD0CF1 /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */,
);
name = Products;
sourceTree = "<group>";
};
965877409E01FB3D85D85E90E6B30185 /* Pods */ = {
isa = PBXGroup;
children = (
9AED61B9A1CFA211C061344F741DBA07 /* SwiftLint */,
);
name = Pods;
sourceTree = "<group>";
};
9AED61B9A1CFA211C061344F741DBA07 /* SwiftLint */ = {
isa = PBXGroup;
children = (
EEA599FE5C15138FF0981CCFB01E55AA /* Support Files */,
);
name = SwiftLint;
path = SwiftLint;
sourceTree = "<group>";
};
C0834CEBB1379A84116EF29F93051C60 /* iOS */ = {
isa = PBXGroup;
children = (
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
965877409E01FB3D85D85E90E6B30185 /* Pods */,
5DC1BC658EB104230B2B4BDA6CF7EC40 /* Products */,
F998AAC4221C5ABDAB03F104AC564056 /* Targets Support Files */,
);
sourceTree = "<group>";
};
CFD21EF8D18E54B139F14007D7B0203F /* Pods-Example */ = {
isa = PBXGroup;
children = (
FA8C4FBC29D168EBE705BE782FDDE0DD /* Pods-Example.modulemap */,
FEECF2EA85C646486F69B7D751D685A7 /* Pods-Example-acknowledgements.markdown */,
B5AB1D83F5F14167113D886830AE2CB5 /* Pods-Example-acknowledgements.plist */,
032A53A184E6D452C8F6075D6CC3DD74 /* Pods-Example-dummy.m */,
8EB9463508EB5F8C54AA2DFA14B8D3CC /* Pods-Example-Info.plist */,
FA99229015DBEDE9EA010C865B809C30 /* Pods-Example-umbrella.h */,
A2E49FC23F51CA2E33B7F0134EF25986 /* Pods-Example.debug.xcconfig */,
8420988E67F9F92E762236752BDB93CC /* Pods-Example.release.xcconfig */,
);
name = "Pods-Example";
path = "Target Support Files/Pods-Example";
sourceTree = "<group>";
};
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
C0834CEBB1379A84116EF29F93051C60 /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
E271A48AC4C5B349FF686E1313AB1176 /* Pods-PlayerKit-iOS */ = {
isa = PBXGroup;
children = (
0A67864EE3FB59ED439242B9C9BDCC15 /* Pods-PlayerKit-iOS.modulemap */,
9B6BE3AACA13FB104B38B2AE5856E3DF /* Pods-PlayerKit-iOS-acknowledgements.markdown */,
FCA33D9808CAC4862A09106011F2DAE5 /* Pods-PlayerKit-iOS-acknowledgements.plist */,
9B19F9668174DF14AF8D774408165F06 /* Pods-PlayerKit-iOS-dummy.m */,
CB3E8C8927EE333BC9DE68B0A07141E0 /* Pods-PlayerKit-iOS-Info.plist */,
E74B4C77BFEF680832415141951EF19C /* Pods-PlayerKit-iOS-umbrella.h */,
4A237BBC095E2DB87CC78D64CBEB0838 /* Pods-PlayerKit-iOS.debug.xcconfig */,
36DA449F0E03216091A724A1956A7875 /* Pods-PlayerKit-iOS.release.xcconfig */,
);
name = "Pods-PlayerKit-iOS";
path = "Target Support Files/Pods-PlayerKit-iOS";
sourceTree = "<group>";
};
EEA599FE5C15138FF0981CCFB01E55AA /* Support Files */ = {
isa = PBXGroup;
children = (
89F85ACF3D78B39506B75103B4694B36 /* SwiftLint.xcconfig */,
);
name = "Support Files";
path = "../Target Support Files/SwiftLint";
sourceTree = "<group>";
};
F998AAC4221C5ABDAB03F104AC564056 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
CFD21EF8D18E54B139F14007D7B0203F /* Pods-Example */,
E271A48AC4C5B349FF686E1313AB1176 /* Pods-PlayerKit-iOS */,
45E9E79AE07DD8CBBD9F875FFE5EACCE /* Pods-PlayerKit-iOS-PlayerKit-iOSTests */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
202CF77B57B667ACF63A71E4628B3EBB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
F5AE61EE47B8959ED75FA7BCB8BAAAFC /* Pods-Example-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
639B417C9A3BF3FBFDB3A5033C61304C /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
CE0EE4999752669B6C99DBF985F3C45B /* Pods-PlayerKit-iOS-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
76FB0ED4A7B87D0D8A993CBB0B8DA08F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
9036821D555DFC0213A03BB39FE06ED3 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 358788E33C2623EA8E0965BCB0C1D629 /* Build configuration list for PBXNativeTarget "Pods-Example" */;
buildPhases = (
202CF77B57B667ACF63A71E4628B3EBB /* Headers */,
B89B587D785351A8AB5A3F6B695E1673 /* Sources */,
E07D9945F5CFB48116C065A601C6E8A9 /* Frameworks */,
1BD5BB908D47D760439E4F09E19F6305 /* Resources */,
);
buildRules = (
);
dependencies = (
27F78B1D8C1DC2B9DBE8061648341C5D /* PBXTargetDependency */,
);
name = "Pods-Example";
productName = "Pods-Example";
productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */;
productType = "com.apple.product-type.framework";
};
1D0F8263B3A79F1051498FDCE612B562 /* Pods-PlayerKit-iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5C1EFD56A6C738AC6A614147091F59C0 /* Build configuration list for PBXNativeTarget "Pods-PlayerKit-iOS" */;
buildPhases = (
639B417C9A3BF3FBFDB3A5033C61304C /* Headers */,
160294494E26D6DB7030225115D426D8 /* Sources */,
728E62D9ED9FCEE05D96F12BBC08C3D4 /* Frameworks */,
B03FCB2C90A4D57FF1CDC305EB1739BD /* Resources */,
);
buildRules = (
);
dependencies = (
E0BCB44D51F55DDCBA231F92EA275276 /* PBXTargetDependency */,
);
name = "Pods-PlayerKit-iOS";
productName = "Pods-PlayerKit-iOS";
productReference = D67B73BA9A55E41073ABCA9FB26140BF /* Pods_PlayerKit_iOS.framework */;
productType = "com.apple.product-type.framework";
};
D3727997FDF0CB2DB6AB8077A29A67F7 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = C779CEFFDA70FBDC40638997CD2E0870 /* Build configuration list for PBXNativeTarget "Pods-PlayerKit-iOS-PlayerKit-iOSTests" */;
buildPhases = (
76FB0ED4A7B87D0D8A993CBB0B8DA08F /* Headers */,
9A06304953B07D0B099C500367493D73 /* Sources */,
F91BD14E17DF72756114D6A178726E26 /* Frameworks */,
93E09E60FCA73580538F2CAC50891F9B /* Resources */,
);
buildRules = (
);
dependencies = (
5EDBE6529BDF4AD8D8C93C9724E2AAB1 /* PBXTargetDependency */,
);
name = "Pods-PlayerKit-iOS-PlayerKit-iOSTests";
productName = "Pods-PlayerKit-iOS-PlayerKit-iOSTests";
productReference = 2895112BE2CD854B91A0DF9406DD0CF1 /* Pods_PlayerKit_iOS_PlayerKit_iOSTests.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1100;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = 5DC1BC658EB104230B2B4BDA6CF7EC40 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
1D0F8263B3A79F1051498FDCE612B562 /* Pods-PlayerKit-iOS */,
D3727997FDF0CB2DB6AB8077A29A67F7 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests */,
52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1BD5BB908D47D760439E4F09E19F6305 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
93E09E60FCA73580538F2CAC50891F9B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
B03FCB2C90A4D57FF1CDC305EB1739BD /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
160294494E26D6DB7030225115D426D8 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CB56CB5BBE979775115D5FD3D9148AE7 /* Pods-PlayerKit-iOS-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9A06304953B07D0B099C500367493D73 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C30D3EC67151C1F25132A1E9DF9635DA /* Pods-PlayerKit-iOS-PlayerKit-iOSTests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B89B587D785351A8AB5A3F6B695E1673 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4E4AC3A8FB914D7045AFCCA4698DE3F6 /* Pods-Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
27F78B1D8C1DC2B9DBE8061648341C5D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SwiftLint;
target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */;
targetProxy = 348D1B96A099D48D13F644215673FB2C /* PBXContainerItemProxy */;
};
5EDBE6529BDF4AD8D8C93C9724E2AAB1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SwiftLint;
target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */;
targetProxy = C040F429878C629EDB9323FC2A7FFD5F /* PBXContainerItemProxy */;
};
E0BCB44D51F55DDCBA231F92EA275276 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SwiftLint;
target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */;
targetProxy = AA180180AFD40835B16B5CA989938BF6 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
2F5CE9157A6944C572608740FA41A6A5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_DEBUG=1",
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Debug;
};
6956B5FD21A6E69894DEFBD836394FCD /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A9978B3531DDCA7A4A0279CD05F6A096 /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
75DA15E70890DB2B8F57D5B087AFCEC4 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 8420988E67F9F92E762236752BDB93CC /* Pods-Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
84D7C4574E8F0F3095623F0E06F5B402 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 89F85ACF3D78B39506B75103B4694B36 /* SwiftLint.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
9E225A4760F1406A13D5909E8F5354EB /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4A237BBC095E2DB87CC78D64CBEB0838 /* Pods-PlayerKit-iOS.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
B102853BB3392A16E68667C38114BC6A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_RELEASE=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Release;
};
BF15CF8B61353CABE1ECED8D5A811790 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 36DA449F0E03216091A724A1956A7875 /* Pods-PlayerKit-iOS.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-PlayerKit-iOS/Pods-PlayerKit-iOS.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
D9D7AB9B074C325048EA378703DE3EEB /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = BD5AB565AE667994ED7DAD54DE9D8D5A /* Pods-PlayerKit-iOS-PlayerKit-iOSTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-PlayerKit-iOS-PlayerKit-iOSTests/Pods-PlayerKit-iOS-PlayerKit-iOSTests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
DEED47E09AF743F48544C1C4FEADEF47 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 89F85ACF3D78B39506B75103B4694B36 /* SwiftLint.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
F65A8B909179FCFF629D1CF1EAB39F54 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A2E49FC23F51CA2E33B7F0134EF25986 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
358788E33C2623EA8E0965BCB0C1D629 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
F65A8B909179FCFF629D1CF1EAB39F54 /* Debug */,
75DA15E70890DB2B8F57D5B087AFCEC4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2F5CE9157A6944C572608740FA41A6A5 /* Debug */,
B102853BB3392A16E68667C38114BC6A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5C1EFD56A6C738AC6A614147091F59C0 /* Build configuration list for PBXNativeTarget "Pods-PlayerKit-iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9E225A4760F1406A13D5909E8F5354EB /* Debug */,
BF15CF8B61353CABE1ECED8D5A811790 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
AE7B4FB01588B9E6DF09CB79FC7CE7BD /* Build configuration list for PBXAggregateTarget "SwiftLint" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DEED47E09AF743F48544C1C4FEADEF47 /* Debug */,
84D7C4574E8F0F3095623F0E06F5B402 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C779CEFFDA70FBDC40638997CD2E0870 /* Build configuration list for PBXNativeTarget "Pods-PlayerKit-iOS-PlayerKit-iOSTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6956B5FD21A6E69894DEFBD836394FCD /* Debug */,
D9D7AB9B074C325048EA378703DE3EEB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated Executable
BIN
View File
Binary file not shown.
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,28 @@
# Acknowledgements
This application makes use of the following third party libraries:
## SwiftLint
The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>SwiftLint</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_Example : NSObject
@end
@implementation PodsDummy_Pods_Example
@end
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
@@ -0,0 +1,6 @@
framework module Pods_Example {
umbrella header "Pods-Example-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,28 @@
# Acknowledgements
This application makes use of the following third party libraries:
## SwiftLint
The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>SwiftLint</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_PlayerKit_iOS_PlayerKit_iOSTests : NSObject
@end
@implementation PodsDummy_Pods_PlayerKit_iOS_PlayerKit_iOSTests
@end
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_PlayerKit_iOS_PlayerKit_iOSTestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_PlayerKit_iOS_PlayerKit_iOSTestsVersionString[];
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
@@ -0,0 +1,6 @@
framework module Pods_PlayerKit_iOS_PlayerKit_iOSTests {
umbrella header "Pods-PlayerKit-iOS-PlayerKit-iOSTests-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,28 @@
# Acknowledgements
This application makes use of the following third party libraries:
## SwiftLint
The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>The MIT License (MIT)
Copyright (c) 2015 Realm Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>SwiftLint</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_PlayerKit_iOS : NSObject
@end
@implementation PodsDummy_Pods_PlayerKit_iOS
@end
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_PlayerKit_iOSVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_PlayerKit_iOSVersionString[];
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
@@ -0,0 +1,6 @@
framework module Pods_PlayerKit_iOS {
umbrella header "Pods-PlayerKit-iOS-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
+8
View File
@@ -0,0 +1,8 @@
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftLint
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftLint
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
+3 -3
View File
@@ -23,7 +23,7 @@ To run the example project, clone the repo, and run `pod install` from the Examp
## Minimum Requirements
- iOS 8.0 / tvOS 9.0
- Swift 3.2
- Swift 4.2
## Installation
@@ -62,9 +62,9 @@ player.delegate = delegate
You can create your own players by creating objects that conform to the Player protocol and call the delegate methods when appropriate.
## Author
## Questions?
Gavin King, gavin@vimeo.com
Post on [Stackoverflow](http://stackoverflow.com/questions/tagged/vimeo-ios) with the tag `vimeo-ios`. Get in touch [here](https://vimeo.com/help/contact). Interested in working at Vimeo? We're [hiring](https://vimeo.com/jobs)!
## License
@@ -9,30 +9,24 @@
import Foundation
import AVFoundation
extension AVPlayer
{
var errorForPlayerOrItem: NSError?
{
extension AVPlayer {
var errorForPlayerOrItem: NSError? {
// First try to return the current item's error
if let error = self.currentItem?.error
{
if let error = self.currentItem?.error {
// If current item's error has an underlying error, return that
if let underlyingError = (error as NSError).userInfo[NSUnderlyingErrorKey] as? NSError
{
if let underlyingError = (error as NSError).userInfo[NSUnderlyingErrorKey] as? NSError {
return underlyingError
}
else
{
else {
return error as NSError?
}
}
// Otherwise, try to return the player error
if let error = self.error
{
if let error = self.error {
return error as NSError?
}
@@ -9,12 +9,9 @@
import Foundation
import AVFoundation
extension CMTime
{
var timeInterval: TimeInterval?
{
if CMTIME_IS_INVALID(self) || CMTIME_IS_INDEFINITE(self)
{
extension CMTime {
var timeInterval: TimeInterval? {
if CMTIME_IS_INVALID(self) || CMTIME_IS_INDEFINITE(self) {
return nil
}
@@ -6,12 +6,10 @@
//
//
import UIKit
import AVKit
/// A player error
public enum PlayerError: Int
{
public enum PlayerError: Int {
case unknown
case loading
@@ -20,10 +18,8 @@ public enum PlayerError: Int
/// The associated error
///
/// - Returns: The error
public func error() -> NSError
{
switch self
{
public func error() -> NSError {
switch self {
case .unknown:
return NSError(domain: type(of: self).Domain, code: self.rawValue, userInfo: [NSLocalizedDescriptionKey: "An unknown error occurred."])
@@ -40,16 +36,14 @@ public enum PlayerError: Int
/// - loading: The player is loading or buffering
/// - ready: The player is ready for playback
/// - failed: The player has failed
@objc public enum PlayerState: Int
{
@objc public enum PlayerState: Int {
case loading
case ready
case failed
}
/// An object that adopts the PlayerDelegate protocol can receive updates from the player.
@objc public protocol PlayerDelegate: class
{
@objc public protocol PlayerDelegate: class {
func playerDidUpdateState(player: Player, previousState: PlayerState)
func playerDidUpdatePlaying(player: Player)
func playerDidUpdateTime(player: Player)
@@ -57,8 +51,7 @@ public enum PlayerError: Int
}
/// An object that adopts the Player protocol is responsible for implementing the API and calling PlayerDelegate methods where appropriate.
@objc public protocol Player: class
{
@objc public protocol Player: class {
weak var delegate: PlayerDelegate? { get set }
var state: PlayerState { get }
@@ -71,6 +64,8 @@ public enum PlayerError: Int
var playing: Bool { get }
var ended: Bool { get }
var error: NSError? { get }
/// Seeks to the specified time
@@ -88,41 +83,60 @@ public enum PlayerError: Int
// MARK: Identity Protocols
/// A player that adopts the ProvidesView protocol is capable of providing a view to be added to a view hierarchy.
@objc public protocol ProvidesView
{
var view: UIView { get }
@objc public protocol ProvidesView {
var view: PlayerView { get }
}
// MARK: Capability Protocols
/// A player that adopts the ProvidesView protocol is capable of AirPlay playback.
@objc public protocol AirPlayCapable
{
@objc public protocol AirPlayCapable {
var isAirPlayEnabled: Bool { get set }
}
/// A player that adopts the ProvidesView protocol is capable of setting audio volume.
@objc public protocol VolumeCapable
{
@objc public protocol VolumeCapable {
var volume: Float { get set }
}
/// A player that adopts the ProvidesView protocol is capable of setting the video fill mode.
@objc public protocol FillModeCapable
{
@objc public protocol FillModeCapable {
var fillMode: FillMode { get set }
}
@objc public enum FillMode: Int
{
@objc public enum FillMode: Int {
case fit
case fill
}
/// The metadata that should be attached to any type of text track.
@objc public protocol TextTrackMetadata {
var displayName: String { get }
var locale: Locale? { get }
// Indicates that the text track represents subtitles for the def and hard of hearing (SDH).
var isSDHTrack: Bool { get }
@objc(displayNameWithLocale:) func displayName(with locale: Locale) -> String
}
extension TextTrackMetadata {
public func matches(_ other: TextTrackMetadata) -> Bool {
return (self.locale == other.locale && self.isSDHTrack == other.isSDHTrack)
}
}
/// A player that conforms to the TextTrackCapable protocol is capable of advertising and displaying text tracks.
@objc public protocol TextTrackCapable {
var selectedTextTrack: TextTrackMetadata? { get }
var availableTextTracks: [TextTrackMetadata] { get }
func fetchTextTracks(completion: @escaping ([TextTrackMetadata], TextTrackMetadata?) -> Void)
func select(_ textTrack: TextTrackMetadata?)
}
#if os(iOS)
/// A player that adopts the ProvidesView protocol is capable of Picture in Picture playback.
@objc public protocol PictureInPictureCapable
{
@objc public protocol PictureInPictureCapable {
@available(iOS 9.0, *)
var pictureInPictureController: AVPictureInPictureController? { get }
}
+18
View File
@@ -0,0 +1,18 @@
//
// PlayerView.swift
// PlayerKit
//
// Created by Balatbat, Bryant on 12/20/17.
//
/// This file creates a `typealias` called `PlayerView` that determines which core view component to use depending on
/// which platform the binary is being compiled for. If iOS or tvOS, `UIKit` will be imported and `UIView` will be used.
/// otherwise, if macOS is used, `AppKit` will be imported and `NSView` will be used.
#if canImport(UIKit)
import UIKit
public typealias PlayerView = UIView
#elseif canImport(AppKit)
import AppKit
public typealias PlayerView = NSView
#endif
+485
View File
@@ -0,0 +1,485 @@
//
// RegularPlayer.swift
// Pods
//
// Created by King, Gavin on 3/7/17.
//
//
import Foundation
import AVFoundation
import AVKit
extension AVMediaSelectionOption: TextTrackMetadata {
public var isSDHTrack: Bool {
return self.hasMediaCharacteristic(.describesMusicAndSoundForAccessibility) && self.hasMediaCharacteristic(.transcribesSpokenDialogForAccessibility)
}
}
/// A RegularPlayer is used to play regular videos.
@objc open class RegularPlayer: NSObject, Player, ProvidesView {
public struct Constants {
public static let TimeUpdateInterval: TimeInterval = 0.1
}
// MARK: - Private Properties
fileprivate var player = AVPlayer()
private var regularPlayerView: RegularPlayerView
private var playerLayer: AVPlayerLayer {
return self.regularPlayerView.playerLayer
}
private var seekTolerance: CMTime?
private var seekTarget: CMTime = CMTime.invalid
private var isSeekInProgress: Bool = false
// MARK: - Public API
/// Sets an AVAsset on the player.
///
/// - Parameter asset: The AVAsset
@objc open func set(_ asset: AVAsset) {
let playerItem = AVPlayerItem(asset: asset)
self.set(playerItem: playerItem)
}
@objc open func set(playerItem: AVPlayerItem) {
// Prepare the old item for removal
if let currentItem = self.player.currentItem {
self.removePlayerItemObservers(fromPlayerItem: currentItem)
}
// Replace it with the new item
self.addPlayerItemObservers(toPlayerItem: playerItem)
self.player.replaceCurrentItem(with: playerItem)
}
// MARK: - ProvidesView
private class RegularPlayerView: PlayerView {
var playerLayer: AVPlayerLayer {
return self.layer as! AVPlayerLayer
}
#if canImport(UIKit)
override class var layerClass: AnyClass {
return AVPlayerLayer.self
}
#elseif canImport(AppKit)
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
self.layer = AVPlayerLayer()
}
required init?(coder decoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
#endif
func configureForPlayer(player: AVPlayer) {
(self.layer as! AVPlayerLayer).player = player
}
}
open var view: UIView {
return self.regularPlayerView
}
// MARK: - Player
weak public var delegate: PlayerDelegate?
public private(set) var state: PlayerState = .ready {
didSet {
self.delegate?.playerDidUpdateState(player: self, previousState: oldValue)
}
}
public var duration: TimeInterval {
return self.player.currentItem?.duration.timeInterval ?? 0
}
public private(set) var time: TimeInterval = 0 {
didSet {
self.delegate?.playerDidUpdateTime(player: self)
}
}
public private(set) var bufferedTime: TimeInterval = 0 {
didSet {
self.delegate?.playerDidUpdateBufferedTime(player: self)
}
}
public var playing: Bool {
return self.player.rate > 0
}
public var ended: Bool {
return self.time >= self.duration
}
public var error: NSError? {
return self.player.errorForPlayerOrItem
}
open func seek(to time: TimeInterval) {
let cmTime = CMTimeMakeWithSeconds(time, preferredTimescale: Int32(NSEC_PER_SEC))
self.smoothSeek(to: cmTime)
}
open func play() {
self.player.play()
}
open func pause() {
self.player.pause()
}
// MARK: - Lifecycle
override public convenience init() {
self.init(seekTolerance: nil)
}
public init(seekTolerance: TimeInterval?) {
self.regularPlayerView = RegularPlayerView(frame: .zero)
self.seekTolerance = seekTolerance.map {
CMTimeMakeWithSeconds($0, preferredTimescale: Int32(NSEC_PER_SEC))
}
super.init()
self.addPlayerObservers()
self.regularPlayerView.configureForPlayer(player: self.player)
self.setupAirplay()
}
deinit {
if let playerItem = self.player.currentItem {
self.removePlayerItemObservers(fromPlayerItem: playerItem)
}
self.removePlayerObservers()
}
// MARK: - Setup
@available(iOS 10.0, tvOS 10.0, macOS 10.12, *)
public var automaticallyWaitsToMinimizeStalling: Bool {
get {
return self.player.automaticallyWaitsToMinimizeStalling
}
set {
self.player.automaticallyWaitsToMinimizeStalling = newValue
}
}
private func setupAirplay() {
#if os(iOS) || os(tvOS)
self.player.usesExternalPlaybackWhileExternalScreenIsActive = true
#endif
}
// MARK: - Smooth Seeking
// Note: Smooth seeking follows the guide from Apple Technical Q&A: https://developer.apple.com/library/archive/qa/qa1820/_index.html
// Update the seek target and begin seeking if there is no seek currently in progress.
private func smoothSeek(to cmTime: CMTime) {
self.seekTarget = cmTime
guard self.isSeekInProgress == false else { return }
self.seekToTarget()
}
// Unconditionally seek to the current seek target.
private func seekToTarget() {
self.isSeekInProgress = true
guard self.player.status != .unknown else { return }
assert(CMTIME_IS_VALID(self.seekTarget))
let inProgressSeekTarget = self.seekTarget
let completion: (Bool) -> Void = { [weak self] _ in
guard let self = self else { return }
self.time = CMTimeGetSeconds(inProgressSeekTarget)
if CMTimeCompare(inProgressSeekTarget, self.seekTarget) == 0 {
self.isSeekInProgress = false
} else {
self.seekToTarget()
}
}
if let tolerance = self.seekTolerance {
self.player.seek(
to: inProgressSeekTarget,
toleranceBefore: tolerance,
toleranceAfter: tolerance,
completionHandler: completion
)
} else {
self.player.seek(to: inProgressSeekTarget, completionHandler: completion)
}
}
// MARK: - Observers
private struct KeyPath {
struct Player {
static let Rate = "rate"
}
struct PlayerItem {
static let Status = "status"
static let PlaybackLikelyToKeepUp = "playbackLikelyToKeepUp"
static let LoadedTimeRanges = "loadedTimeRanges"
}
}
private var playerTimeObserver: Any?
private func addPlayerItemObservers(toPlayerItem playerItem: AVPlayerItem) {
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.Status, options: [.initial, .new], context: nil)
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.PlaybackLikelyToKeepUp, options: [.initial, .new], context: nil)
playerItem.addObserver(self, forKeyPath: KeyPath.PlayerItem.LoadedTimeRanges, options: [.initial, .new], context: nil)
}
private func removePlayerItemObservers(fromPlayerItem playerItem: AVPlayerItem) {
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.Status, context: nil)
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.PlaybackLikelyToKeepUp, context: nil)
playerItem.removeObserver(self, forKeyPath: KeyPath.PlayerItem.LoadedTimeRanges, context: nil)
}
private func addPlayerObservers() {
self.player.addObserver(self, forKeyPath: KeyPath.Player.Rate, options: [.initial, .new], context: nil)
let interval = CMTimeMakeWithSeconds(Constants.TimeUpdateInterval, preferredTimescale: Int32(NSEC_PER_SEC))
self.playerTimeObserver = self.player.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main, using: { [weak self] (cmTime) in
if let strongSelf = self, let time = cmTime.timeInterval {
strongSelf.time = time
}
})
}
private func removePlayerObservers() {
self.player.removeObserver(self, forKeyPath: KeyPath.Player.Rate, context: nil)
if let playerTimeObserver = self.playerTimeObserver {
self.player.removeTimeObserver(playerTimeObserver)
self.playerTimeObserver = nil
}
}
// MARK: Observation
override open func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
// Player Item Observers
if keyPath == KeyPath.PlayerItem.Status {
if let statusInt = change?[.newKey] as? Int, let status = AVPlayerItem.Status(rawValue: statusInt) {
self.playerItemStatusDidChange(status: status)
}
}
else if keyPath == KeyPath.PlayerItem.PlaybackLikelyToKeepUp {
if let playbackLikelyToKeepUp = change?[.newKey] as? Bool {
self.playerItemPlaybackLikelyToKeepUpDidChange(playbackLikelyToKeepUp: playbackLikelyToKeepUp)
}
}
else if keyPath == KeyPath.PlayerItem.LoadedTimeRanges {
if let loadedTimeRanges = change?[.newKey] as? [NSValue] {
self.playerItemLoadedTimeRangesDidChange(loadedTimeRanges: loadedTimeRanges)
}
}
// Player Observers
else if keyPath == KeyPath.Player.Rate {
if let rate = change?[.newKey] as? Float {
self.playerRateDidChange(rate: rate)
}
}
// Fall Through Observers
else {
super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
}
}
// MARK: Observation Helpers
private func playerItemStatusDidChange(status: AVPlayerItem.Status) {
switch status {
case .unknown:
self.state = .loading
case .readyToPlay:
self.state = .ready
// If we tried to seek before the video was ready to play, resume seeking now.
if self.isSeekInProgress {
self.seekToTarget()
}
case .failed:
self.state = .failed
@unknown default:
self.state = .failed
}
}
private func playerRateDidChange(rate: Float) {
self.delegate?.playerDidUpdatePlaying(player: self)
}
private func playerItemPlaybackLikelyToKeepUpDidChange(playbackLikelyToKeepUp: Bool) {
let state: PlayerState = playbackLikelyToKeepUp ? .ready : .loading
self.state = state
}
private func playerItemLoadedTimeRangesDidChange(loadedTimeRanges: [NSValue]) {
guard let bufferedCMTime = loadedTimeRanges.first?.timeRangeValue.end, let bufferedTime = bufferedCMTime.timeInterval else {
return
}
self.bufferedTime = bufferedTime
}
// MARK: - Capability Protocol Helpers
#if os(iOS)
@available(iOS 9.0, *)
fileprivate lazy var _pictureInPictureController: AVPictureInPictureController? = {
AVPictureInPictureController(playerLayer: self.regularPlayerView.playerLayer)
}()
#endif
}
// MARK: Capability Protocols
extension RegularPlayer: AirPlayCapable
{
public var isAirPlayEnabled: Bool {
get {
return self.player.allowsExternalPlayback
}
set {
return self.player.allowsExternalPlayback = newValue
}
}
}
#if os(iOS)
extension RegularPlayer: PictureInPictureCapable {
@available(iOS 9.0, *)
public var pictureInPictureController: AVPictureInPictureController? {
return self._pictureInPictureController
}
}
#endif
extension RegularPlayer: VolumeCapable
{
public var volume: Float {
get {
return self.player.volume
}
set {
self.player.volume = newValue
}
}
}
extension RegularPlayer: FillModeCapable {
public var fillMode: FillMode {
get {
let gravity = (self.view.layer as! AVPlayerLayer).videoGravity
return gravity == .resizeAspect ? .fit : .fill
}
set {
let gravity: AVLayerVideoGravity
switch newValue {
case .fit:
gravity = .resizeAspect
case .fill:
gravity = .resizeAspectFill
}
(self.view.layer as! AVPlayerLayer).videoGravity = gravity
}
}
}
extension RegularPlayer: TextTrackCapable {
public var selectedTextTrack: TextTrackMetadata? {
guard let group = self.player.currentItem?.asset.mediaSelectionGroup(forMediaCharacteristic: .legible) else {
return nil
}
if #available(iOS 9.0, *) {
return self.player.currentItem?.currentMediaSelection.selectedMediaOption(in: group)
}
else {
return self.player.currentItem?.selectedMediaOption(in: group)
}
}
public var availableTextTracks: [TextTrackMetadata] {
guard let group = self.player.currentItem?.asset.mediaSelectionGroup(forMediaCharacteristic: .legible) else {
return []
}
return group.options
}
public func fetchTextTracks(completion: @escaping ([TextTrackMetadata], TextTrackMetadata?) -> Void) {
self.player.currentItem?.asset.loadValuesAsynchronously(forKeys: [#keyPath(AVAsset.availableMediaCharacteristicsWithMediaSelectionOptions)]) { [weak self] in
guard let strongSelf = self, let group = strongSelf.player.currentItem?.asset.mediaSelectionGroup(forMediaCharacteristic: .legible) else {
completion([], nil)
return
}
if #available(iOS 9.0, *) {
completion(group.options, strongSelf.player.currentItem?.currentMediaSelection.selectedMediaOption(in: group))
}
else {
completion(group.options, strongSelf.player.currentItem?.selectedMediaOption(in: group))
}
}
}
public func select(_ textTrack: TextTrackMetadata?) {
guard let group = self.player.currentItem?.asset.mediaSelectionGroup(forMediaCharacteristic: .legible) else {
return
}
guard let track = textTrack else {
self.player.currentItem?.select(nil, in: group)
return
}
let option = group.options.first(where: { option in
track.matches(option)
})
self.player.currentItem?.select(option, in: group)
}
}
-1
View File
@@ -1 +0,0 @@
Example/Pods/Pods.xcodeproj
-19
View File
@@ -1,19 +0,0 @@
general:
artifacts:
- "build/Logs"
- "PlayerKit_Example-PlayerKit-Example.log"
machine:
xcode:
version: 9.0
dependencies:
override:
- bundle install --deployment
cache_directories:
- "~/.cocoapods"
- "Example/Pods"
- "vendor/bundle"
test:
override:
- bundle exec fastlane test
+25 -8
View File
@@ -17,19 +17,15 @@ default_platform :ios
platform :ios do
before_all do
ensure_xcode_version(version: "9.0.1")
ensure_xcode_version(version: "10.2.1")
end
desc "run tests"
desc "Run tests"
lane :test do |options|
cocoapods(
podfile: "Example/"
)
scan(
workspace: "Example/PlayerKit.xcworkspace",
scheme: "PlayerKit-Example",
workspace: "PlayerKit.xcworkspace",
scheme: "PlayerKit-iOS",
configuration: "Debug",
buildlog_path: ".",
derived_data_path: "build/",
@@ -43,6 +39,27 @@ platform :ios do
end
end
desc "bumps the project and podspec version"
lane :version_bump do |options|
bump_type = options[:bump_type]
version_number = options[:version_number]
if bump_type.nil? && version_number.nil?
UI.user_error!("version_bump requires you to provide a bump_type [patch|minor|major] or specific version_number. Please try again.")
end
increment_version_number(
bump_type: bump_type,
version_number: version_number,
xcodeproj: "PlayerKit.xcodeproj"
)
version_bump_podspec(
bump_type: bump_type,
version_number: version_number
)
end
after_all do |lane|
end
+7 -1
View File
@@ -27,13 +27,19 @@ xcode-select --install
<td width="33%"><code>sudo gem install fastlane -NV</code></td>
</tr>
</table>
# Available Actions
## iOS
### ios test
```
fastlane ios test
```
run tests
Run tests
### ios version_bump
```
fastlane ios version_bump
```
bumps the project and podspec version
----