Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d9fd6ec9e0 | |||
| 1d5a54e427 | |||
| 9e72e81f44 | |||
| bd27ed90de | |||
| 0be337a29f | |||
| 15933a66a3 | |||
| 57533faa36 | |||
| 5067393d78 | |||
| 0245cf6f8b | |||
| c0e553dcbf | |||
| c15d31d6af | |||
| 3981702cfe | |||
| c057324b82 | |||
| e847f42dc0 | |||
| e59883dbce | |||
| ef64a4b34d | |||
| 5933b16e12 | |||
| 14b577ca30 | |||
| 22f6f503ae | |||
| a63028d084 | |||
| 4f62ab889a | |||
| dc86f848bf | |||
| 6e77b776a2 | |||
| 54be5a88b0 | |||
| 2f22e2759f | |||
| 74661c8811 | |||
| 2217a0dd9b | |||
| 522b679149 | |||
| 2b7b14a9c0 | |||
| 4366081c90 | |||
| a9cf2ddcce | |||
| a6e73f608d | |||
| 6cb00472c1 |
+1
-1
@@ -1 +1 @@
|
||||
2.3
|
||||
4.0
|
||||
|
||||
@@ -219,12 +219,12 @@
|
||||
607FACCF1AFB9204008FA782 = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
DevelopmentTeam = 35R365FS4Q;
|
||||
LastSwiftMigration = 0820;
|
||||
LastSwiftMigration = 0900;
|
||||
};
|
||||
607FACE41AFB9204008FA782 = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
DevelopmentTeam = 35R365FS4Q;
|
||||
LastSwiftMigration = 0820;
|
||||
LastSwiftMigration = 0900;
|
||||
TestTargetID = 607FACCF1AFB9204008FA782;
|
||||
};
|
||||
};
|
||||
@@ -503,7 +503,8 @@
|
||||
MODULE_NAME = ExampleApp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
@@ -520,7 +521,8 @@
|
||||
MODULE_NAME = ExampleApp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
@@ -539,7 +541,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -553,7 +556,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0820"
|
||||
LastUpgradeVersion = "0900"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
@@ -40,6 +40,7 @@
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
@@ -69,6 +70,7 @@
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
PODS:
|
||||
- PlayerKit (0.1.0)
|
||||
- PlayerKit (1.2.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- PlayerKit (from `../`)
|
||||
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
|
||||
:path: ../
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
PlayerKit: 4702100274e44e115c28419d8c21c22f13052856
|
||||
PlayerKit: cdc22d328ca9cbba2b602e8f5156c98f0cde5540
|
||||
|
||||
PODFILE CHECKSUM: 071d8819500a822237123321021901352f4d91a4
|
||||
|
||||
COCOAPODS: 1.1.1
|
||||
COCOAPODS: 1.2.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'fastlane', '2.19.3'
|
||||
gem 'cocoapods', '1.1.1'
|
||||
gem 'fastlane', '2.42.0'
|
||||
gem 'cocoapods', '1.2.0'
|
||||
gem 'danger', '4.0.4'
|
||||
gem 'xcode-install', '2.1.0'
|
||||
gem 'xcpretty-json-formatter', '0.1.0'
|
||||
|
||||
+59
-56
@@ -2,38 +2,39 @@ GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (2.3.5)
|
||||
activesupport (4.2.8)
|
||||
activesupport (4.2.9)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.0)
|
||||
addressable (2.5.1)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
babosa (1.0.2)
|
||||
claide (1.0.1)
|
||||
claide (1.0.2)
|
||||
claide-plugins (0.9.2)
|
||||
cork
|
||||
nap
|
||||
open4 (~> 1.3)
|
||||
cocoapods (1.1.1)
|
||||
cocoapods (1.2.0)
|
||||
activesupport (>= 4.0.2, < 5)
|
||||
claide (>= 1.0.1, < 2.0)
|
||||
cocoapods-core (= 1.1.1)
|
||||
cocoapods-core (= 1.2.0)
|
||||
cocoapods-deintegrate (>= 1.0.1, < 2.0)
|
||||
cocoapods-downloader (>= 1.1.2, < 2.0)
|
||||
cocoapods-downloader (>= 1.1.3, < 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.1, < 2.0)
|
||||
cocoapods-trunk (>= 1.1.2, < 2.0)
|
||||
cocoapods-try (>= 1.1.0, < 2.0)
|
||||
colored (~> 1.2)
|
||||
escape (~> 0.0.4)
|
||||
fourflusher (~> 2.0.1)
|
||||
gh_inspector (~> 1.0)
|
||||
molinillo (~> 0.5.1)
|
||||
molinillo (~> 0.5.5)
|
||||
nap (~> 1.0)
|
||||
xcodeproj (>= 1.3.3, < 2.0)
|
||||
cocoapods-core (1.1.1)
|
||||
ruby-macho (~> 0.2.5)
|
||||
xcodeproj (>= 1.4.1, < 2.0)
|
||||
cocoapods-core (1.2.0)
|
||||
activesupport (>= 4.0.2, < 5)
|
||||
fuzzy_match (~> 2.0.4)
|
||||
nap (~> 1.0)
|
||||
@@ -43,13 +44,14 @@ GEM
|
||||
nap
|
||||
cocoapods-search (1.0.0)
|
||||
cocoapods-stats (1.0.0)
|
||||
cocoapods-trunk (1.1.2)
|
||||
cocoapods-trunk (1.2.0)
|
||||
nap (>= 0.8, < 2.0)
|
||||
netrc (= 0.7.8)
|
||||
cocoapods-try (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
colorize (0.8.1)
|
||||
commander (4.4.3)
|
||||
commander-fastlane (4.4.5)
|
||||
highline (~> 1.7.2)
|
||||
cork (0.2.0)
|
||||
colored (~> 1.2)
|
||||
@@ -68,12 +70,14 @@ GEM
|
||||
danger (> 2.0)
|
||||
danger-xcode_summary (0.1.0)
|
||||
danger-plugin-api (~> 1.0)
|
||||
domain_name (0.5.20170223)
|
||||
declarative (0.0.9)
|
||||
declarative-option (0.1.0)
|
||||
domain_name (0.5.20170404)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.2.0)
|
||||
dotenv (2.2.1)
|
||||
escape (0.0.4)
|
||||
excon (0.55.0)
|
||||
faraday (0.11.0)
|
||||
excon (0.57.1)
|
||||
faraday (0.12.1)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday-cookie_jar (0.0.6)
|
||||
faraday (>= 0.7.4)
|
||||
@@ -83,13 +87,13 @@ GEM
|
||||
faraday_middleware (0.11.0.1)
|
||||
faraday (>= 0.7.4, < 1.0)
|
||||
fastimage (2.1.0)
|
||||
fastlane (2.19.3)
|
||||
activesupport (< 5)
|
||||
fastlane (2.42.0)
|
||||
CFPropertyList (>= 2.3, < 3.0.0)
|
||||
addressable (>= 2.3, < 3.0.0)
|
||||
babosa (>= 1.0.2, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 2.0.0)
|
||||
colored
|
||||
commander (>= 4.4.0, < 5.0.0)
|
||||
commander-fastlane (>= 4.4.0, < 5.0.0)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
excon (>= 0.45.0, < 1.0.0)
|
||||
faraday (~> 0.9)
|
||||
@@ -97,7 +101,7 @@ GEM
|
||||
faraday_middleware (~> 0.9)
|
||||
fastimage (>= 1.6)
|
||||
gh_inspector (>= 1.0.1, < 2.0.0)
|
||||
google-api-client (~> 0.9.2)
|
||||
google-api-client (>= 0.12.0, < 0.13.0)
|
||||
highline (>= 1.7.2, < 2.0.0)
|
||||
json (< 3.0.0)
|
||||
mini_magick (~> 4.5.1)
|
||||
@@ -112,7 +116,7 @@ GEM
|
||||
terminal-table (>= 1.4.5, < 2.0.0)
|
||||
tty-screen (~> 0.5.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 0.20, < 2.0.0)
|
||||
xcodeproj (>= 1.4.4, < 2.0.0)
|
||||
xcpretty (>= 0.2.4, < 1.0.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
fastlane-plugin-pretty_junit (0.1.1)
|
||||
@@ -123,15 +127,13 @@ GEM
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.0.3)
|
||||
git (1.3.0)
|
||||
google-api-client (0.9.28)
|
||||
addressable (~> 2.3)
|
||||
google-api-client (0.12.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (~> 0.5)
|
||||
httpclient (~> 2.7)
|
||||
hurley (~> 0.1)
|
||||
memoist (~> 0.11)
|
||||
mime-types (>= 1.6)
|
||||
representable (~> 2.3.0)
|
||||
retriable (~> 2.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)
|
||||
@@ -144,22 +146,21 @@ GEM
|
||||
http-cookie (1.0.3)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
hurley (0.2)
|
||||
i18n (0.8.1)
|
||||
json (2.0.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.0)
|
||||
logging (2.2.2)
|
||||
little-plugger (~> 1.1)
|
||||
multi_json (~> 1.10)
|
||||
memoist (0.15.0)
|
||||
memoist (0.16.0)
|
||||
mime-types (3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2016.0521)
|
||||
mini_magick (4.5.1)
|
||||
mini_portile (0.5.3)
|
||||
minitest (5.10.1)
|
||||
minitest (5.10.2)
|
||||
molinillo (0.5.7)
|
||||
multi_json (1.12.1)
|
||||
multi_xml (0.6.0)
|
||||
@@ -173,12 +174,15 @@ GEM
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
open4 (1.3.4)
|
||||
os (0.9.6)
|
||||
plist (3.2.0)
|
||||
plist (3.3.0)
|
||||
public_suffix (2.0.5)
|
||||
representable (2.3.0)
|
||||
uber (~> 0.0.7)
|
||||
retriable (2.1.0)
|
||||
rouge (1.11.1)
|
||||
representable (3.0.4)
|
||||
declarative (< 0.1.0)
|
||||
declarative-option (< 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.0.2)
|
||||
rouge (2.0.7)
|
||||
ruby-macho (0.2.6)
|
||||
rubyzip (1.2.1)
|
||||
sawyer (0.8.1)
|
||||
addressable (>= 2.3.5, < 2.6)
|
||||
@@ -190,30 +194,29 @@ GEM
|
||||
jwt (~> 1.5)
|
||||
multi_json (~> 1.10)
|
||||
slack-notifier (1.5.1)
|
||||
terminal-notifier (1.7.1)
|
||||
terminal-table (1.7.3)
|
||||
unicode-display_width (~> 1.1.1)
|
||||
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.2)
|
||||
tzinfo (1.2.3)
|
||||
thread_safe (~> 0.1)
|
||||
uber (0.0.15)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.2)
|
||||
unicode-display_width (1.1.3)
|
||||
unf_ext (0.0.7.4)
|
||||
unicode-display_width (1.3.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.4.2)
|
||||
xcodeproj (1.5.0)
|
||||
CFPropertyList (~> 2.3.3)
|
||||
activesupport (>= 3)
|
||||
claide (>= 1.0.1, < 2.0)
|
||||
colored (~> 1.2)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.2.3)
|
||||
xcpretty (0.2.4)
|
||||
rouge (~> 1.8)
|
||||
xcpretty (0.2.8)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-json-formatter (0.1.0)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
xcpretty-travis-formatter (0.0.4)
|
||||
@@ -223,14 +226,14 @@ PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
cocoapods (= 1.1.1)
|
||||
cocoapods (= 1.2.0)
|
||||
danger (= 4.0.4)
|
||||
danger-xcode_summary (= 0.1.0)
|
||||
fastlane (= 2.19.3)
|
||||
fastlane (= 2.42.0)
|
||||
fastlane-plugin-pretty_junit
|
||||
nokogiri (= 1.6.0)
|
||||
xcode-install (= 2.1.0)
|
||||
xcpretty-json-formatter (= 0.1.0)
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.5
|
||||
1.15.1
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'PlayerKit'
|
||||
s.version = '0.1.0'
|
||||
s.version = '1.2.0'
|
||||
s.summary = 'A modular video player system.'
|
||||
|
||||
s.description = <<-DESC
|
||||
PlayerKit is a modular video player system. It provides a common interface for players and various players that implement it.
|
||||
PlayerKit is a modular video player system for iOS and tvOS.
|
||||
DESC
|
||||
|
||||
s.homepage = 'https://github.com/vimeo/PlayerKit'
|
||||
|
||||
@@ -37,9 +37,9 @@ public enum PlayerError: Int
|
||||
|
||||
/// Represents the current state of the player
|
||||
///
|
||||
/// - Loading: The player is loading or buffering
|
||||
/// - Ready: The player is ready for playback
|
||||
/// - Failed: The player has failed
|
||||
/// - loading: The player is loading or buffering
|
||||
/// - ready: The player is ready for playback
|
||||
/// - failed: The player has failed
|
||||
@objc public enum PlayerState: Int
|
||||
{
|
||||
case loading
|
||||
@@ -110,7 +110,13 @@ public enum PlayerError: Int
|
||||
/// A player that adopts the ProvidesView protocol is capable of setting the video fill mode.
|
||||
@objc public protocol FillModeCapable
|
||||
{
|
||||
var fillMode: String { get set }
|
||||
var fillMode: FillMode { get set }
|
||||
}
|
||||
|
||||
@objc public enum FillMode: Int
|
||||
{
|
||||
case fit
|
||||
case fill
|
||||
}
|
||||
|
||||
#if os(iOS)
|
||||
|
||||
@@ -12,7 +12,7 @@ import AVFoundation
|
||||
import AVKit
|
||||
|
||||
/// A RegularPlayer is used to play regular videos.
|
||||
open class RegularPlayer: NSObject, Player, ProvidesView
|
||||
@objc open class RegularPlayer: NSObject, Player, ProvidesView
|
||||
{
|
||||
public struct Constants
|
||||
{
|
||||
@@ -28,7 +28,7 @@ open class RegularPlayer: NSObject, Player, ProvidesView
|
||||
/// Sets an AVAsset on the player.
|
||||
///
|
||||
/// - Parameter asset: The AVAsset
|
||||
open func set(_ asset: AVAsset)
|
||||
@objc open func set(_ asset: AVAsset)
|
||||
{
|
||||
// Prepare the old item for removal
|
||||
|
||||
@@ -125,7 +125,7 @@ open class RegularPlayer: NSObject, Player, ProvidesView
|
||||
{
|
||||
let cmTime = CMTimeMakeWithSeconds(time, Int32(NSEC_PER_SEC))
|
||||
|
||||
self.player.seek(to: cmTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero)
|
||||
self.player.seek(to: cmTime)
|
||||
|
||||
self.time = time
|
||||
}
|
||||
@@ -373,15 +373,30 @@ extension RegularPlayer: VolumeCapable
|
||||
|
||||
extension RegularPlayer: FillModeCapable
|
||||
{
|
||||
public var fillMode: String
|
||||
public var fillMode: FillMode
|
||||
{
|
||||
get
|
||||
{
|
||||
return (self.view.layer as! AVPlayerLayer).videoGravity
|
||||
let gravity = (self.view.layer as! AVPlayerLayer).videoGravity
|
||||
|
||||
return gravity == .resizeAspect ? .fit : .fill
|
||||
}
|
||||
set
|
||||
{
|
||||
(self.view.layer as! AVPlayerLayer).videoGravity = newValue
|
||||
let gravity: AVLayerVideoGravity
|
||||
|
||||
switch newValue
|
||||
{
|
||||
case .fit:
|
||||
|
||||
gravity = .resizeAspect
|
||||
|
||||
case .fill:
|
||||
|
||||
gravity = .resizeAspectFill
|
||||
}
|
||||
|
||||
(self.view.layer as! AVPlayerLayer).videoGravity = gravity
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# PlayerKit
|
||||
|
||||
[](https://travis-ci.org/ghking/PlayerKit)
|
||||
[](https://travis-ci.org/vimeo/PlayerKit)
|
||||
[](http://cocoapods.org/pods/PlayerKit)
|
||||
[](http://cocoapods.org/pods/PlayerKit)
|
||||
[](http://cocoapods.org/pods/PlayerKit)
|
||||
@@ -13,17 +13,17 @@ Vimeo supports various types of video and playback (360 video, Chromecast, etc.)
|
||||
|
||||
### Goals
|
||||
|
||||
- Provide an interface defining a common API and delegate callback strategy that different types of players can implement
|
||||
- Provide an interface defining a common API and delegate callback strategy for different types of players to implement
|
||||
- Allow players to define their capabilities using protocol conformance
|
||||
|
||||
## Example
|
||||
|
||||
To run the example project, clone the repo, and run `pod install` from the Example directory first.
|
||||
To run the example project, clone the repo, and run `pod install` from the Example directory.
|
||||
|
||||
## Requirements
|
||||
## Minimum Requirements
|
||||
|
||||
- iOS 8.0+ / tvOS 9.0+
|
||||
- Swift 2.3 (Swift 3 support coming soon)
|
||||
- iOS 8.0 / tvOS 9.0
|
||||
- Swift 3.2
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -52,7 +52,7 @@ player.set(asset: AVURLAsset(URL: "https://example.com/video.mp4"))
|
||||
player.play()
|
||||
```
|
||||
|
||||
Optionally, an object can conform to PlayerDelegate to recieve updates from the player and perform actions such as UI updates. Check out the example project for an example of this.
|
||||
Optionally, an object can conform to PlayerDelegate to receive updates from the player and perform actions such as UI updates. Check out the example project for an example of this.
|
||||
|
||||
```swift
|
||||
player.delegate = delegate
|
||||
@@ -60,7 +60,7 @@ player.delegate = delegate
|
||||
|
||||
### Creating New Types of Players
|
||||
|
||||
You can create your own new types of players by creating objects that conform to the Player protocol and call the delgate methods when appropriate.
|
||||
You can create your own players by creating objects that conform to the Player protocol and call the delegate methods when appropriate.
|
||||
|
||||
## Author
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ general:
|
||||
- "PlayerKit_Example-PlayerKit-Example.log"
|
||||
machine:
|
||||
xcode:
|
||||
version: 8.2.1
|
||||
version: 9.0
|
||||
|
||||
dependencies:
|
||||
override:
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ default_platform :ios
|
||||
|
||||
platform :ios do
|
||||
before_all do
|
||||
ensure_xcode_version(version: "8.2.1")
|
||||
ensure_xcode_version(version: "9.0.1")
|
||||
end
|
||||
|
||||
desc "run tests"
|
||||
|
||||
Reference in New Issue
Block a user