From 74de13b27e10ea4d3f3d5bfc23efe161eddb777a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81re=CC=81my=20Marchand?= Date: Fri, 28 Dec 2018 20:40:18 +0100 Subject: [PATCH 1/2] Add Carthage compatibility - generate framework as dynamic --- Cartfile | 1 + Cartfile.resolved | 1 + Demo/{Demo => }/AppDelegate.swift | 0 .../Content.imageset/Contents.json | 0 .../Back.imagestacklayer/Contents.json | 0 .../Contents.json | 0 .../Content.imageset/Contents.json | 0 .../Front.imagestacklayer/Contents.json | 0 .../Content.imageset/Contents.json | 0 .../Middle.imagestacklayer/Contents.json | 0 .../Content.imageset}/Contents.json | 4 + .../Back.imagestacklayer/Contents.json | 0 .../App Icon.imagestack/Contents.json | 0 .../Content.imageset/Contents.json | 4 + .../Front.imagestacklayer/Contents.json | 0 .../Content.imageset/Contents.json | 4 + .../Middle.imagestacklayer/Contents.json | 0 .../Contents.json | 0 .../Contents.json | 4 + .../Top Shelf Image.imageset/Contents.json | 16 + Demo/{Demo => }/Assets.xcassets/Contents.json | 0 .../LaunchImage.launchimage/Contents.json | 7 + Demo/{Demo => }/Base.lproj/Main.storyboard | 6 +- Demo/Demo.xcodeproj/project.pbxproj | 77 --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../Demo.xcworkspace/contents.xcworkspacedata | 10 - .../Top Shelf Image.imageset/Contents.json | 12 - Demo/{Demo => }/Info.plist | 0 Demo/Podfile | 11 - Demo/Podfile.lock | 19 - Demo/{Demo => }/ViewController.swift | 1 + Modules/module.modulemap | 6 + Sources/RemoteActionPositionController.swift | 9 +- Sources/ScrubbingPositionController.swift | 1 + Sources/TVVLCPlayer-Bridging-Header.h | 2 +- Sources/VLC+addition.swift | 1 + Sources/VLCPlayerViewController.swift | 1 + TVVLCPlayer.xcodeproj/project.pbxproj | 631 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcschemes/TVVLCPlayer.xcscheme | 80 +++ TVVLCPlayer/Info.plist | 22 + TVVLCPlayer/TVVLCPlayer.h | 20 + 43 files changed, 832 insertions(+), 141 deletions(-) create mode 100644 Cartfile create mode 100644 Cartfile.resolved rename Demo/{Demo => }/AppDelegate.swift (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json (100%) rename Demo/{Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset => Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset}/Contents.json (70%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json (100%) rename Demo/{Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer => Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer}/Content.imageset/Contents.json (70%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json (100%) rename Demo/{Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer => Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer}/Content.imageset/Contents.json (70%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json (100%) rename Demo/{Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset => Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset}/Contents.json (70%) create mode 100644 Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json rename Demo/{Demo => }/Assets.xcassets/Contents.json (100%) rename Demo/{Demo => }/Assets.xcassets/LaunchImage.launchimage/Contents.json (59%) rename Demo/{Demo => }/Base.lproj/Main.storyboard (94%) create mode 100644 Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Demo/Demo.xcworkspace/contents.xcworkspacedata delete mode 100644 Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json rename Demo/{Demo => }/Info.plist (100%) delete mode 100644 Demo/Podfile delete mode 100644 Demo/Podfile.lock rename Demo/{Demo => }/ViewController.swift (98%) create mode 100644 Modules/module.modulemap create mode 100644 TVVLCPlayer.xcodeproj/project.pbxproj create mode 100644 TVVLCPlayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 TVVLCPlayer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 TVVLCPlayer.xcodeproj/xcshareddata/xcschemes/TVVLCPlayer.xcscheme create mode 100644 TVVLCPlayer/Info.plist create mode 100644 TVVLCPlayer/TVVLCPlayer.h diff --git a/Cartfile b/Cartfile new file mode 100644 index 0000000..b241ae0 --- /dev/null +++ b/Cartfile @@ -0,0 +1 @@ +binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/TVVLCKit.json" \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved new file mode 100644 index 0000000..cc6342d --- /dev/null +++ b/Cartfile.resolved @@ -0,0 +1 @@ +binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/TVVLCKit.json" "3.2.0" diff --git a/Demo/Demo/AppDelegate.swift b/Demo/AppDelegate.swift similarity index 100% rename from Demo/Demo/AppDelegate.swift rename to Demo/AppDelegate.swift diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json similarity index 70% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json index 0564959..16a370d 100644 --- a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +++ b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -3,6 +3,10 @@ { "idiom" : "tv", "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" } ], "info" : { diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json similarity index 70% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json index 0564959..16a370d 100644 --- a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +++ b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -3,6 +3,10 @@ { "idiom" : "tv", "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" } ], "info" : { diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json similarity index 70% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json index 0564959..16a370d 100644 --- a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +++ b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -3,6 +3,10 @@ { "idiom" : "tv", "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" } ], "info" : { diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json similarity index 70% rename from Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json rename to Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json index 0564959..16a370d 100644 --- a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +++ b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -3,6 +3,10 @@ { "idiom" : "tv", "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" } ], "info" : { diff --git a/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 0000000..16a370d --- /dev/null +++ b/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Demo/Demo/Assets.xcassets/Contents.json b/Demo/Assets.xcassets/Contents.json similarity index 100% rename from Demo/Demo/Assets.xcassets/Contents.json rename to Demo/Assets.xcassets/Contents.json diff --git a/Demo/Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json similarity index 59% rename from Demo/Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json rename to Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json index 29d94c7..d746a60 100644 --- a/Demo/Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json +++ b/Demo/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -1,5 +1,12 @@ { "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, { "orientation" : "landscape", "idiom" : "tv", diff --git a/Demo/Demo/Base.lproj/Main.storyboard b/Demo/Base.lproj/Main.storyboard similarity index 94% rename from Demo/Demo/Base.lproj/Main.storyboard rename to Demo/Base.lproj/Main.storyboard index 4e80bf5..b7f6b95 100644 --- a/Demo/Demo/Base.lproj/Main.storyboard +++ b/Demo/Base.lproj/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -43,7 +43,7 @@ - + diff --git a/Demo/Demo.xcodeproj/project.pbxproj b/Demo/Demo.xcodeproj/project.pbxproj index 41859c6..085e82c 100644 --- a/Demo/Demo.xcodeproj/project.pbxproj +++ b/Demo/Demo.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ 3F36E1D8204AA89500478CE2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36E1D7204AA89500478CE2 /* ViewController.swift */; }; 3F36E1DB204AA89500478CE2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3F36E1D9204AA89500478CE2 /* Main.storyboard */; }; 3F36E1DD204AA89500478CE2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3F36E1DC204AA89500478CE2 /* Assets.xcassets */; }; - 532D87B9F0EADDBB98505A13 /* Pods_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99F4585E029E55F99C3190D6 /* Pods_Demo.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -21,9 +20,6 @@ 3F36E1DA204AA89500478CE2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 3F36E1DC204AA89500478CE2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 3F36E1DE204AA89500478CE2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8F2F64E83996329C3B3FF1B5 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig"; sourceTree = ""; }; - 99F4585E029E55F99C3190D6 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC243AEB308A4486980E5F82 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.release.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -31,7 +27,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 532D87B9F0EADDBB98505A13 /* Pods_Demo.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -43,7 +38,6 @@ children = ( 3F36E1D4204AA89500478CE2 /* Demo */, 3F36E1D3204AA89500478CE2 /* Products */, - F863C5489DC7D6F5AD7B356E /* Pods */, 4E90FFDA0864BCC620E176FA /* Frameworks */, ); sourceTree = ""; @@ -71,20 +65,10 @@ 4E90FFDA0864BCC620E176FA /* Frameworks */ = { isa = PBXGroup; children = ( - 99F4585E029E55F99C3190D6 /* Pods_Demo.framework */, ); name = Frameworks; sourceTree = ""; }; - F863C5489DC7D6F5AD7B356E /* Pods */ = { - isa = PBXGroup; - children = ( - 8F2F64E83996329C3B3FF1B5 /* Pods-Demo.debug.xcconfig */, - CC243AEB308A4486980E5F82 /* Pods-Demo.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -92,12 +76,9 @@ isa = PBXNativeTarget; buildConfigurationList = 3F36E1E1204AA89500478CE2 /* Build configuration list for PBXNativeTarget "Demo" */; buildPhases = ( - 9C3CD9F39E23A182CB75328C /* [CP] Check Pods Manifest.lock */, 3F36E1CE204AA89500478CE2 /* Sources */, 3F36E1CF204AA89500478CE2 /* Frameworks */, 3F36E1D0204AA89500478CE2 /* Resources */, - E4E1DE44DD5557986A83E9B9 /* [CP] Embed Pods Frameworks */, - 77263F5BB7AFDDFE40A29109 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -154,62 +135,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 77263F5BB7AFDDFE40A29109 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh", - "${PODS_ROOT}/../../Resources/TVVLCPlayer.storyboard", - "${PODS_CONFIGURATION_BUILD_DIR}/TVVLCPlayer/TVVLCPlayer.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TVVLCPlayer.storyboardc", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TVVLCPlayer.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9C3CD9F39E23A182CB75328C /* [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-Demo-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; - }; - E4E1DE44DD5557986A83E9B9 /* [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-Demo/Pods-Demo-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 3F36E1CE204AA89500478CE2 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -341,7 +266,6 @@ }; 3F36E1E2204AA89500478CE2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8F2F64E83996329C3B3FF1B5 /* Pods-Demo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -358,7 +282,6 @@ }; 3F36E1E3204AA89500478CE2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC243AEB308A4486980E5F82 /* Pods-Demo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; diff --git a/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Demo/Demo.xcworkspace/contents.xcworkspacedata b/Demo/Demo.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1f14019..0000000 --- a/Demo/Demo.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json deleted file mode 100644 index 0564959..0000000 --- a/Demo/Demo/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Demo/Demo/Info.plist b/Demo/Info.plist similarity index 100% rename from Demo/Demo/Info.plist rename to Demo/Info.plist diff --git a/Demo/Podfile b/Demo/Podfile deleted file mode 100644 index 470d5e6..0000000 --- a/Demo/Podfile +++ /dev/null @@ -1,11 +0,0 @@ -platform :tvos, '11.0' - -source 'https://github.com/CocoaPods/Specs' - -target 'Demo' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for TVVLCPlayer - pod 'TVVLCPlayer', :path => "../TVVLCPlayer.podspec" -end diff --git a/Demo/Podfile.lock b/Demo/Podfile.lock deleted file mode 100644 index 39e8131..0000000 --- a/Demo/Podfile.lock +++ /dev/null @@ -1,19 +0,0 @@ -PODS: - - TVVLCKit (3.0.2) - - TVVLCPlayer (1.0.2): - - TVVLCKit - -DEPENDENCIES: - - TVVLCPlayer (from `../TVVLCPlayer.podspec`) - -EXTERNAL SOURCES: - TVVLCPlayer: - :path: ../TVVLCPlayer.podspec - -SPEC CHECKSUMS: - TVVLCKit: 178e4f82f8b57320774821384e42eaac403d2faa - TVVLCPlayer: 3dcc9155c54cf70817b412094c8ae61ccb9e2280 - -PODFILE CHECKSUM: cd6e85a71192aae3fb091156c8a3ed38ed34c6f4 - -COCOAPODS: 1.4.0 diff --git a/Demo/Demo/ViewController.swift b/Demo/ViewController.swift similarity index 98% rename from Demo/Demo/ViewController.swift rename to Demo/ViewController.swift index 8453d52..21605a6 100644 --- a/Demo/Demo/ViewController.swift +++ b/Demo/ViewController.swift @@ -8,6 +8,7 @@ import UIKit import TVVLCPlayer +import TVVLCKit class ViewController: UIViewController { let demoVideoURL = URL(string: "https://upload.wikimedia.org/wikipedia/commons/8/88/Big_Buck_Bunny_alt.webm")! diff --git a/Modules/module.modulemap b/Modules/module.modulemap new file mode 100644 index 0000000..62d1fa3 --- /dev/null +++ b/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module TVVLCKit { + umbrella header "TVVLCKit.h" + + export * + module * { export * } +} diff --git a/Sources/RemoteActionPositionController.swift b/Sources/RemoteActionPositionController.swift index 84ecfa6..5514ab4 100644 --- a/Sources/RemoteActionPositionController.swift +++ b/Sources/RemoteActionPositionController.swift @@ -17,23 +17,16 @@ protocol RemoteActionPositionControllerDelegate { // MARK: - SurfaceRemotePositionController class RemoteActionPositionController: NSObject, PositionController { - - enum Location { case left, center, right } - - @objc enum Action: Int { case fastForward, rewind, jumpForward, jumpBackward, reset, pause var images: (left: UIImage?, right: UIImage?) { - guard let url = Bundle.main.url(forResource: "TVVLCPlayer", withExtension: "bundle"), - let bundle = Bundle(url: url) else { - fatalError() - } + let bundle = Bundle(for: RemoteActionPositionController.self) switch self { case .fastForward: diff --git a/Sources/ScrubbingPositionController.swift b/Sources/ScrubbingPositionController.swift index 47cdecf..edf99a8 100644 --- a/Sources/ScrubbingPositionController.swift +++ b/Sources/ScrubbingPositionController.swift @@ -6,6 +6,7 @@ // import Foundation +import TVVLCKit // MARK: Delegate @objc diff --git a/Sources/TVVLCPlayer-Bridging-Header.h b/Sources/TVVLCPlayer-Bridging-Header.h index b94def5..53386ad 100644 --- a/Sources/TVVLCPlayer-Bridging-Header.h +++ b/Sources/TVVLCPlayer-Bridging-Header.h @@ -6,4 +6,4 @@ // Copyright © 2018 Jérémy Marchand. All rights reserved. // -#import +//#import diff --git a/Sources/VLC+addition.swift b/Sources/VLC+addition.swift index 22f0a2d..40dbe02 100644 --- a/Sources/VLC+addition.swift +++ b/Sources/VLC+addition.swift @@ -7,6 +7,7 @@ // import Foundation +import TVVLCKit extension VLCMediaPlayer { var totalTime: VLCTime? { diff --git a/Sources/VLCPlayerViewController.swift b/Sources/VLCPlayerViewController.swift index 34474e5..307dc50 100644 --- a/Sources/VLCPlayerViewController.swift +++ b/Sources/VLCPlayerViewController.swift @@ -8,6 +8,7 @@ import UIKit import GameController +import TVVLCKit public class VLCPlayerViewController: UIViewController { public static func instantiate(media: VLCMedia) -> VLCPlayerViewController { diff --git a/TVVLCPlayer.xcodeproj/project.pbxproj b/TVVLCPlayer.xcodeproj/project.pbxproj new file mode 100644 index 0000000..f798297 --- /dev/null +++ b/TVVLCPlayer.xcodeproj/project.pbxproj @@ -0,0 +1,631 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 3F7CC77021D698320094B074 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC76F21D698320094B074 /* AVFoundation.framework */; }; + 3F7CC77221D6985C0094B074 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC77121D6985C0094B074 /* VideoToolbox.framework */; }; + 3F7CC77421D698C20094B074 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC77321D698C20094B074 /* AudioToolbox.framework */; }; + 3F7CC77C21D698E10094B074 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC77B21D698E00094B074 /* CoreMedia.framework */; }; + 3F7CC78221D699020094B074 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC78121D699020094B074 /* libiconv.tbd */; }; + 3F7CC78A21D6992E0094B074 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC78921D6992E0094B074 /* libz.tbd */; }; + 3F7CC78E21D699830094B074 /* libbz2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC78D21D699830094B074 /* libbz2.tbd */; }; + 3F7CC79021D699980094B074 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC78F21D699980094B074 /* libc++.tbd */; }; + 3F7CC79221D699AF0094B074 /* TVVLCKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F7CC79121D699AF0094B074 /* TVVLCKit.framework */; }; + 3F7CC7A421D6A9550094B074 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F7CC7A321D6A9550094B074 /* ViewController.swift */; }; + 3F7CC7A721D6A9550094B074 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3F7CC7A521D6A9550094B074 /* Main.storyboard */; }; + 3F7CC7A921D6A9570094B074 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3F7CC7A821D6A9570094B074 /* Assets.xcassets */; }; + 3F7CC7B121D6A9A10094B074 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F7CC7B021D6A9A10094B074 /* AppDelegate.swift */; }; + 3F7CC7B421D6A9E90094B074 /* TVVLCPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F19D41F21288C4C009E68AF /* TVVLCPlayer.framework */; }; + 3F7CC7B821D6AA680094B074 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3F7CC7B621D6AA680094B074 /* Images.xcassets */; }; + 3F7CC7B921D6AA680094B074 /* TVVLCPlayer.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3F7CC7B721D6AA680094B074 /* TVVLCPlayer.storyboard */; }; + 3F8FF6E721D63C7500A86CDF /* VLCPlayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6DE21D63C6F00A86CDF /* VLCPlayerViewController.swift */; }; + 3F8FF6E921D63C7500A86CDF /* ProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E021D63C6F00A86CDF /* ProgressBar.swift */; }; + 3F8FF6EA21D63C7500A86CDF /* RemoteActionPositionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E121D63C6F00A86CDF /* RemoteActionPositionController.swift */; }; + 3F8FF6EB21D63C7500A86CDF /* ScrubbingPositionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E221D63C6F00A86CDF /* ScrubbingPositionController.swift */; }; + 3F8FF6EC21D63C7500A86CDF /* LongPressGestureRecogniser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E321D63C6F00A86CDF /* LongPressGestureRecogniser.swift */; }; + 3F8FF6ED21D63C7500A86CDF /* VLC+addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E421D63C6F00A86CDF /* VLC+addition.swift */; }; + 3F8FF6EE21D63C7500A86CDF /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E521D63C6F00A86CDF /* GradientView.swift */; }; + 3F8FF6EF21D63C7500A86CDF /* PositionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8FF6E621D63C6F00A86CDF /* PositionController.swift */; }; + 3F8FF70D21D63EF400A86CDF /* TVVLCPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F8FF6F121D63C8100A86CDF /* TVVLCPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3F8FF70F21D6404C00A86CDF /* TVVLCPlayer-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F8FF6DF21D63C6F00A86CDF /* TVVLCPlayer-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3F8FF71121D6438C00A86CDF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F8FF71021D6438C00A86CDF /* Foundation.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3F7CC7B221D6A9E70094B074 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3F19D41621288C4C009E68AF /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3F19D41E21288C4C009E68AF; + remoteInfo = TVVLCPlayer; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 3F19D41F21288C4C009E68AF /* TVVLCPlayer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TVVLCPlayer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F7CC76F21D698320094B074 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 3F7CC77121D6985C0094B074 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; }; + 3F7CC77321D698C20094B074 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 3F7CC77B21D698E00094B074 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; + 3F7CC78121D699020094B074 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; + 3F7CC78321D699090094B074 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 3F7CC78721D6991A0094B074 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 3F7CC78921D6992E0094B074 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 3F7CC78B21D699380094B074 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 3F7CC78D21D699830094B074 /* libbz2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libbz2.tbd; path = usr/lib/libbz2.tbd; sourceTree = SDKROOT; }; + 3F7CC78F21D699980094B074 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 3F7CC79121D699AF0094B074 /* TVVLCKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TVVLCKit.framework; path = Carthage/Build/tvOS/TVVLCKit.framework; sourceTree = ""; }; + 3F7CC79F21D6A9550094B074 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F7CC7A321D6A9550094B074 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 3F7CC7A621D6A9550094B074 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 3F7CC7A821D6A9570094B074 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 3F7CC7AA21D6A9570094B074 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3F7CC7B021D6A9A10094B074 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 3F7CC7B621D6AA680094B074 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 3F7CC7B721D6AA680094B074 /* TVVLCPlayer.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = TVVLCPlayer.storyboard; sourceTree = ""; }; + 3F7CC7BD21D6B1310094B074 /* Modules */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Modules; sourceTree = ""; }; + 3F8FF6DE21D63C6F00A86CDF /* VLCPlayerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VLCPlayerViewController.swift; sourceTree = ""; }; + 3F8FF6DF21D63C6F00A86CDF /* TVVLCPlayer-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TVVLCPlayer-Bridging-Header.h"; sourceTree = ""; }; + 3F8FF6E021D63C6F00A86CDF /* ProgressBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressBar.swift; sourceTree = ""; }; + 3F8FF6E121D63C6F00A86CDF /* RemoteActionPositionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteActionPositionController.swift; sourceTree = ""; }; + 3F8FF6E221D63C6F00A86CDF /* ScrubbingPositionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrubbingPositionController.swift; sourceTree = ""; }; + 3F8FF6E321D63C6F00A86CDF /* LongPressGestureRecogniser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LongPressGestureRecogniser.swift; sourceTree = ""; }; + 3F8FF6E421D63C6F00A86CDF /* VLC+addition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "VLC+addition.swift"; sourceTree = ""; }; + 3F8FF6E521D63C6F00A86CDF /* GradientView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = ""; }; + 3F8FF6E621D63C6F00A86CDF /* PositionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PositionController.swift; sourceTree = ""; }; + 3F8FF6F121D63C8100A86CDF /* TVVLCPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TVVLCPlayer.h; sourceTree = ""; }; + 3F8FF6F221D63C8100A86CDF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3F8FF71021D6438C00A86CDF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3F19D41C21288C4C009E68AF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F7CC79221D699AF0094B074 /* TVVLCKit.framework in Frameworks */, + 3F7CC77421D698C20094B074 /* AudioToolbox.framework in Frameworks */, + 3F7CC77021D698320094B074 /* AVFoundation.framework in Frameworks */, + 3F7CC77221D6985C0094B074 /* VideoToolbox.framework in Frameworks */, + 3F7CC77C21D698E10094B074 /* CoreMedia.framework in Frameworks */, + 3F8FF71121D6438C00A86CDF /* Foundation.framework in Frameworks */, + 3F7CC78A21D6992E0094B074 /* libz.tbd in Frameworks */, + 3F7CC78E21D699830094B074 /* libbz2.tbd in Frameworks */, + 3F7CC79021D699980094B074 /* libc++.tbd in Frameworks */, + 3F7CC78221D699020094B074 /* libiconv.tbd in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3F7CC79C21D6A9550094B074 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F7CC7B421D6A9E90094B074 /* TVVLCPlayer.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3F19D41521288C4C009E68AF = { + isa = PBXGroup; + children = ( + 3F8FF6F021D63C8100A86CDF /* TVVLCPlayer */, + 3F8FF6DD21D63C6F00A86CDF /* Sources */, + 3F7CC7B521D6AA680094B074 /* Resources */, + 3F7CC7A021D6A9550094B074 /* Demo */, + 3F19D42021288C4C009E68AF /* Products */, + 3F8FF6F521D63DBC00A86CDF /* Frameworks */, + ); + sourceTree = ""; + }; + 3F19D42021288C4C009E68AF /* Products */ = { + isa = PBXGroup; + children = ( + 3F19D41F21288C4C009E68AF /* TVVLCPlayer.framework */, + 3F7CC79F21D6A9550094B074 /* Demo.app */, + ); + name = Products; + sourceTree = ""; + }; + 3F7CC7A021D6A9550094B074 /* Demo */ = { + isa = PBXGroup; + children = ( + 3F7CC7B021D6A9A10094B074 /* AppDelegate.swift */, + 3F7CC7A321D6A9550094B074 /* ViewController.swift */, + 3F7CC7A521D6A9550094B074 /* Main.storyboard */, + 3F7CC7A821D6A9570094B074 /* Assets.xcassets */, + 3F7CC7AA21D6A9570094B074 /* Info.plist */, + ); + path = Demo; + sourceTree = ""; + }; + 3F7CC7B521D6AA680094B074 /* Resources */ = { + isa = PBXGroup; + children = ( + 3F7CC7B621D6AA680094B074 /* Images.xcassets */, + 3F7CC7B721D6AA680094B074 /* TVVLCPlayer.storyboard */, + ); + path = Resources; + sourceTree = ""; + }; + 3F8FF6DD21D63C6F00A86CDF /* Sources */ = { + isa = PBXGroup; + children = ( + 3F8FF6DE21D63C6F00A86CDF /* VLCPlayerViewController.swift */, + 3F8FF6DF21D63C6F00A86CDF /* TVVLCPlayer-Bridging-Header.h */, + 3F8FF6E021D63C6F00A86CDF /* ProgressBar.swift */, + 3F8FF6E121D63C6F00A86CDF /* RemoteActionPositionController.swift */, + 3F8FF6E221D63C6F00A86CDF /* ScrubbingPositionController.swift */, + 3F8FF6E321D63C6F00A86CDF /* LongPressGestureRecogniser.swift */, + 3F8FF6E421D63C6F00A86CDF /* VLC+addition.swift */, + 3F8FF6E521D63C6F00A86CDF /* GradientView.swift */, + 3F8FF6E621D63C6F00A86CDF /* PositionController.swift */, + ); + path = Sources; + sourceTree = ""; + }; + 3F8FF6F021D63C8100A86CDF /* TVVLCPlayer */ = { + isa = PBXGroup; + children = ( + 3F8FF6F121D63C8100A86CDF /* TVVLCPlayer.h */, + 3F8FF6F221D63C8100A86CDF /* Info.plist */, + ); + path = TVVLCPlayer; + sourceTree = ""; + }; + 3F8FF6F521D63DBC00A86CDF /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3F7CC7BD21D6B1310094B074 /* Modules */, + 3F7CC79121D699AF0094B074 /* TVVLCKit.framework */, + 3F7CC78F21D699980094B074 /* libc++.tbd */, + 3F7CC78D21D699830094B074 /* libbz2.tbd */, + 3F7CC78B21D699380094B074 /* UIKit.framework */, + 3F7CC78921D6992E0094B074 /* libz.tbd */, + 3F7CC78721D6991A0094B074 /* QuartzCore.framework */, + 3F7CC78321D699090094B074 /* OpenGLES.framework */, + 3F7CC78121D699020094B074 /* libiconv.tbd */, + 3F7CC77B21D698E00094B074 /* CoreMedia.framework */, + 3F7CC77321D698C20094B074 /* AudioToolbox.framework */, + 3F7CC77121D6985C0094B074 /* VideoToolbox.framework */, + 3F7CC76F21D698320094B074 /* AVFoundation.framework */, + 3F8FF71021D6438C00A86CDF /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 3F19D41A21288C4C009E68AF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F8FF70F21D6404C00A86CDF /* TVVLCPlayer-Bridging-Header.h in Headers */, + 3F8FF70D21D63EF400A86CDF /* TVVLCPlayer.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 3F19D41E21288C4C009E68AF /* TVVLCPlayer */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3F19D42721288C4C009E68AF /* Build configuration list for PBXNativeTarget "TVVLCPlayer" */; + buildPhases = ( + 3F7CC7BF21D6B1420094B074 /* Copy modulemap in VLC Kit framework */, + 3F19D41A21288C4C009E68AF /* Headers */, + 3F19D41B21288C4C009E68AF /* Sources */, + 3F19D41C21288C4C009E68AF /* Frameworks */, + 3F19D41D21288C4C009E68AF /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TVVLCPlayer; + productName = TVVLCPlayer; + productReference = 3F19D41F21288C4C009E68AF /* TVVLCPlayer.framework */; + productType = "com.apple.product-type.framework"; + }; + 3F7CC79E21D6A9550094B074 /* Demo */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3F7CC7AB21D6A9570094B074 /* Build configuration list for PBXNativeTarget "Demo" */; + buildPhases = ( + 3F7CC79B21D6A9550094B074 /* Sources */, + 3F7CC79C21D6A9550094B074 /* Frameworks */, + 3F7CC79D21D6A9550094B074 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3F7CC7B321D6A9E70094B074 /* PBXTargetDependency */, + ); + name = Demo; + productName = Demo; + productReference = 3F7CC79F21D6A9550094B074 /* Demo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3F19D41621288C4C009E68AF /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0940; + LastUpgradeCheck = 1000; + ORGANIZATIONNAME = "Jérémy Marchand"; + TargetAttributes = { + 3F19D41E21288C4C009E68AF = { + CreatedOnToolsVersion = 10.0; + }; + 3F7CC79E21D6A9550094B074 = { + CreatedOnToolsVersion = 9.4.1; + }; + }; + }; + buildConfigurationList = 3F19D41921288C4C009E68AF /* Build configuration list for PBXProject "TVVLCPlayer" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3F19D41521288C4C009E68AF; + productRefGroup = 3F19D42021288C4C009E68AF /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3F19D41E21288C4C009E68AF /* TVVLCPlayer */, + 3F7CC79E21D6A9550094B074 /* Demo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3F19D41D21288C4C009E68AF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F7CC7B821D6AA680094B074 /* Images.xcassets in Resources */, + 3F7CC7B921D6AA680094B074 /* TVVLCPlayer.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3F7CC79D21D6A9550094B074 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F7CC7A921D6A9570094B074 /* Assets.xcassets in Resources */, + 3F7CC7A721D6A9550094B074 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3F7CC7BF21D6B1420094B074 /* Copy modulemap in VLC Kit framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Modules", + ); + name = "Copy modulemap in VLC Kit framework"; + outputPaths = ( + "$(SRCROOT)/Carthage/Build/tvOS/TVVLCKit.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cp -pr $SCRIPT_INPUT_FILE_0 $SCRIPT_OUTPUT_FILE_0/Modules"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3F19D41B21288C4C009E68AF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F8FF6EC21D63C7500A86CDF /* LongPressGestureRecogniser.swift in Sources */, + 3F8FF6EB21D63C7500A86CDF /* ScrubbingPositionController.swift in Sources */, + 3F8FF6E921D63C7500A86CDF /* ProgressBar.swift in Sources */, + 3F8FF6ED21D63C7500A86CDF /* VLC+addition.swift in Sources */, + 3F8FF6EF21D63C7500A86CDF /* PositionController.swift in Sources */, + 3F8FF6EE21D63C7500A86CDF /* GradientView.swift in Sources */, + 3F8FF6E721D63C7500A86CDF /* VLCPlayerViewController.swift in Sources */, + 3F8FF6EA21D63C7500A86CDF /* RemoteActionPositionController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3F7CC79B21D6A9550094B074 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F7CC7B121D6A9A10094B074 /* AppDelegate.swift in Sources */, + 3F7CC7A421D6A9550094B074 /* ViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3F7CC7B321D6A9E70094B074 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3F19D41E21288C4C009E68AF /* TVVLCPlayer */; + targetProxy = 3F7CC7B221D6A9E70094B074 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 3F7CC7A521D6A9550094B074 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3F7CC7A621D6A9550094B074 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3F19D42521288C4C009E68AF /* 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; + CURRENT_PROJECT_VERSION = 1; + 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 = ( + "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; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TVOS_DEPLOYMENT_TARGET = 12.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 3F19D42621288C4C009E68AF /* 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; + CURRENT_PROJECT_VERSION = 1; + 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_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; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TVOS_DEPLOYMENT_TARGET = 12.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 3F19D42821288C4C009E68AF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 9DQT98LJ77; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = TVVLCPlayer/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.kodlian.TVVLCPlayer; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + }; + name = Debug; + }; + 3F19D42921288C4C009E68AF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 9DQT98LJ77; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = TVVLCPlayer/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.kodlian.TVVLCPlayer; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + }; + name = Release; + }; + 3F7CC7AC21D6A9570094B074 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 9DQT98LJ77; + INFOPLIST_FILE = Demo/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.kodlian.Demo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.4; + }; + name = Debug; + }; + 3F7CC7AD21D6A9570094B074 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 9DQT98LJ77; + INFOPLIST_FILE = Demo/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.kodlian.Demo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.4; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3F19D41921288C4C009E68AF /* Build configuration list for PBXProject "TVVLCPlayer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3F19D42521288C4C009E68AF /* Debug */, + 3F19D42621288C4C009E68AF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3F19D42721288C4C009E68AF /* Build configuration list for PBXNativeTarget "TVVLCPlayer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3F19D42821288C4C009E68AF /* Debug */, + 3F19D42921288C4C009E68AF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3F7CC7AB21D6A9570094B074 /* Build configuration list for PBXNativeTarget "Demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3F7CC7AC21D6A9570094B074 /* Debug */, + 3F7CC7AD21D6A9570094B074 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3F19D41621288C4C009E68AF /* Project object */; +} diff --git a/TVVLCPlayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TVVLCPlayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..32dfd49 --- /dev/null +++ b/TVVLCPlayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/TVVLCPlayer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TVVLCPlayer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/TVVLCPlayer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/TVVLCPlayer.xcodeproj/xcshareddata/xcschemes/TVVLCPlayer.xcscheme b/TVVLCPlayer.xcodeproj/xcshareddata/xcschemes/TVVLCPlayer.xcscheme new file mode 100644 index 0000000..22274d8 --- /dev/null +++ b/TVVLCPlayer.xcodeproj/xcshareddata/xcschemes/TVVLCPlayer.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TVVLCPlayer/Info.plist b/TVVLCPlayer/Info.plist new file mode 100644 index 0000000..e1fe4cf --- /dev/null +++ b/TVVLCPlayer/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/TVVLCPlayer/TVVLCPlayer.h b/TVVLCPlayer/TVVLCPlayer.h new file mode 100644 index 0000000..a84b907 --- /dev/null +++ b/TVVLCPlayer/TVVLCPlayer.h @@ -0,0 +1,20 @@ +// +// TVVLCPlayer.h +// TVVLCPlayer +// +// Created by Jérémy Marchand on 18/08/2018. +// Copyright © 2018 Jérémy Marchand. All rights reserved. +// + +#import + +//! Project version number for TVVLCPlayer. +FOUNDATION_EXPORT double TVVLCPlayerVersionNumber; + +//! Project version string for TVVLCPlayer. +FOUNDATION_EXPORT const unsigned char TVVLCPlayerVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import "TVVLCPlayer-Bridging-Header.h" +//#import From c05be57b574ac79b1de0a3d2620d53a463191652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81re=CC=81my=20Marchand?= Date: Fri, 28 Dec 2018 21:44:24 +0100 Subject: [PATCH 2/2] Readd Cocoapods compatibility with a workaround --- .../Demo.xcodeproj/project.pbxproj | 113 ++++++++++++++---- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../Demo/Base.lproj/Main.storyboard | 52 ++++++++ Demo Cocoapods/Demo/Info.plist | 32 +++++ Demo Cocoapods/Podfile | 17 +++ Demo Cocoapods/Podfile.lock | 23 ++++ Readme.md | 12 +- TVVLCPlayer.podspec | 12 +- 9 files changed, 231 insertions(+), 30 deletions(-) rename {Demo => Demo Cocoapods}/Demo.xcodeproj/project.pbxproj (64%) rename {Demo => Demo Cocoapods}/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {Demo => Demo Cocoapods}/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 Demo Cocoapods/Demo/Base.lproj/Main.storyboard create mode 100644 Demo Cocoapods/Demo/Info.plist create mode 100644 Demo Cocoapods/Podfile create mode 100644 Demo Cocoapods/Podfile.lock diff --git a/Demo/Demo.xcodeproj/project.pbxproj b/Demo Cocoapods/Demo.xcodeproj/project.pbxproj similarity index 64% rename from Demo/Demo.xcodeproj/project.pbxproj rename to Demo Cocoapods/Demo.xcodeproj/project.pbxproj index 085e82c..49a3922 100644 --- a/Demo/Demo.xcodeproj/project.pbxproj +++ b/Demo Cocoapods/Demo.xcodeproj/project.pbxproj @@ -7,19 +7,23 @@ objects = { /* Begin PBXBuildFile section */ - 3F36E1D6204AA89500478CE2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36E1D5204AA89500478CE2 /* AppDelegate.swift */; }; - 3F36E1D8204AA89500478CE2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36E1D7204AA89500478CE2 /* ViewController.swift */; }; - 3F36E1DB204AA89500478CE2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3F36E1D9204AA89500478CE2 /* Main.storyboard */; }; - 3F36E1DD204AA89500478CE2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3F36E1DC204AA89500478CE2 /* Assets.xcassets */; }; + 3F90150F21D6B4F9001EC588 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3F90150921D6B4F8001EC588 /* Assets.xcassets */; }; + 3F90151021D6B4F9001EC588 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F90150A21D6B4F8001EC588 /* ViewController.swift */; }; + 3F90151121D6B4F9001EC588 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F90150B21D6B4F8001EC588 /* AppDelegate.swift */; }; + 3F90151721D6C155001EC588 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3F90151521D6C155001EC588 /* Main.storyboard */; }; + E6CEF29B0B527B8DBBC7F748 /* Pods_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2B8E2B4C490901BB76207D8 /* Pods_Demo.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 1AA7152B8C21EA0ABEC8792A /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.release.xcconfig"; path = "Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig"; sourceTree = ""; }; 3F36E1D2204AA89500478CE2 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F36E1D5204AA89500478CE2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 3F36E1D7204AA89500478CE2 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 3F36E1DA204AA89500478CE2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 3F36E1DC204AA89500478CE2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 3F36E1DE204AA89500478CE2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3F90150921D6B4F8001EC588 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = ../../Demo/Assets.xcassets; sourceTree = ""; }; + 3F90150A21D6B4F8001EC588 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewController.swift; path = ../../Demo/ViewController.swift; sourceTree = ""; }; + 3F90150B21D6B4F8001EC588 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = ../../Demo/AppDelegate.swift; sourceTree = ""; }; + 3F90151621D6C155001EC588 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 81DD855FFE971717B27DEC4F /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.debug.xcconfig"; path = "Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig"; sourceTree = ""; }; + A2B8E2B4C490901BB76207D8 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -27,18 +31,28 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E6CEF29B0B527B8DBBC7F748 /* Pods_Demo.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 12EA71010139816FC7C24056 /* Frameworks */ = { + isa = PBXGroup; + children = ( + A2B8E2B4C490901BB76207D8 /* Pods_Demo.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; 3F36E1C9204AA89500478CE2 = { isa = PBXGroup; children = ( 3F36E1D4204AA89500478CE2 /* Demo */, 3F36E1D3204AA89500478CE2 /* Products */, - 4E90FFDA0864BCC620E176FA /* Frameworks */, + 5A5E39488DBA482D21C23AB8 /* Pods */, + 12EA71010139816FC7C24056 /* Frameworks */, ); sourceTree = ""; }; @@ -53,20 +67,22 @@ 3F36E1D4204AA89500478CE2 /* Demo */ = { isa = PBXGroup; children = ( - 3F36E1D5204AA89500478CE2 /* AppDelegate.swift */, - 3F36E1D7204AA89500478CE2 /* ViewController.swift */, - 3F36E1D9204AA89500478CE2 /* Main.storyboard */, - 3F36E1DC204AA89500478CE2 /* Assets.xcassets */, + 3F90150B21D6B4F8001EC588 /* AppDelegate.swift */, + 3F90150A21D6B4F8001EC588 /* ViewController.swift */, + 3F90151521D6C155001EC588 /* Main.storyboard */, + 3F90150921D6B4F8001EC588 /* Assets.xcassets */, 3F36E1DE204AA89500478CE2 /* Info.plist */, ); path = Demo; sourceTree = ""; }; - 4E90FFDA0864BCC620E176FA /* Frameworks */ = { + 5A5E39488DBA482D21C23AB8 /* Pods */ = { isa = PBXGroup; children = ( + 81DD855FFE971717B27DEC4F /* Pods-Demo.debug.xcconfig */, + 1AA7152B8C21EA0ABEC8792A /* Pods-Demo.release.xcconfig */, ); - name = Frameworks; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -76,9 +92,11 @@ isa = PBXNativeTarget; buildConfigurationList = 3F36E1E1204AA89500478CE2 /* Build configuration list for PBXNativeTarget "Demo" */; buildPhases = ( + 66D833490B4D1A944C733EFC /* [CP] Check Pods Manifest.lock */, 3F36E1CE204AA89500478CE2 /* Sources */, 3F36E1CF204AA89500478CE2 /* Frameworks */, 3F36E1D0204AA89500478CE2 /* Resources */, + A0ED8E062F41304D58BB64D7 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -101,6 +119,7 @@ TargetAttributes = { 3F36E1D1204AA89500478CE2 = { CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1010; ProvisioningStyle = Automatic; }; }; @@ -128,30 +147,77 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3F36E1DD204AA89500478CE2 /* Assets.xcassets in Resources */, - 3F36E1DB204AA89500478CE2 /* Main.storyboard in Resources */, + 3F90150F21D6B4F9001EC588 /* Assets.xcassets in Resources */, + 3F90151721D6C155001EC588 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 66D833490B4D1A944C733EFC /* [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-Demo-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; + }; + A0ED8E062F41304D58BB64D7 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/TVVLCPlayer/TVVLCPlayer.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TVVLCPlayer.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 3F36E1CE204AA89500478CE2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3F36E1D8204AA89500478CE2 /* ViewController.swift in Sources */, - 3F36E1D6204AA89500478CE2 /* AppDelegate.swift in Sources */, + 3F90151121D6B4F9001EC588 /* AppDelegate.swift in Sources */, + 3F90151021D6B4F9001EC588 /* ViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 3F36E1D9204AA89500478CE2 /* Main.storyboard */ = { + 3F90151521D6C155001EC588 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 3F36E1DA204AA89500478CE2 /* Base */, + 3F90151621D6C155001EC588 /* Base */, ); name = Main.storyboard; sourceTree = ""; @@ -266,15 +332,18 @@ }; 3F36E1E2204AA89500478CE2 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 81DD855FFE971717B27DEC4F /* Pods-Demo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 9DQT98LJ77; INFOPLIST_FILE = Demo/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.kodlian.Demo; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 3; }; @@ -282,9 +351,11 @@ }; 3F36E1E3204AA89500478CE2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1AA7152B8C21EA0ABEC8792A /* Pods-Demo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 9DQT98LJ77; INFOPLIST_FILE = Demo/Info.plist; diff --git a/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Demo Cocoapods/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Demo Cocoapods/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo Cocoapods/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Demo Cocoapods/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Demo Cocoapods/Demo/Base.lproj/Main.storyboard b/Demo Cocoapods/Demo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..fe516e9 --- /dev/null +++ b/Demo Cocoapods/Demo/Base.lproj/Main.storyboard @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo Cocoapods/Demo/Info.plist b/Demo Cocoapods/Demo/Info.plist new file mode 100644 index 0000000..02942a3 --- /dev/null +++ b/Demo Cocoapods/Demo/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Demo Cocoapods/Podfile b/Demo Cocoapods/Podfile new file mode 100644 index 0000000..ca0491c --- /dev/null +++ b/Demo Cocoapods/Podfile @@ -0,0 +1,17 @@ +platform :tvos, '11.0' +inhibit_all_warnings! + +source 'https://github.com/CocoaPods/Specs' + +target 'Demo' do + # Comment the next line if you're not using Swift and don't want to use dynamic frameworks + use_frameworks! + + # Pods for TVVLCPlayer + pod 'TVVLCPlayer', :path => "../TVVLCPlayer.podspec" +end + +pre_install do |installer| + # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289 + Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} +end \ No newline at end of file diff --git a/Demo Cocoapods/Podfile.lock b/Demo Cocoapods/Podfile.lock new file mode 100644 index 0000000..582cddf --- /dev/null +++ b/Demo Cocoapods/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - TVVLCKit (3.2.0) + - TVVLCPlayer (1.1.0): + - TVVLCKit + +DEPENDENCIES: + - TVVLCPlayer (from `../TVVLCPlayer.podspec`) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - TVVLCKit + +EXTERNAL SOURCES: + TVVLCPlayer: + :path: "../TVVLCPlayer.podspec" + +SPEC CHECKSUMS: + TVVLCKit: 8dbd6e0b9cc4dc40676128981823c25dbc1b5afa + TVVLCPlayer: 215eb10d6b7518baa3291ff15c84581bddae28a1 + +PODFILE CHECKSUM: fd7c0a6c90fad1107927bef955e16087beecd16e + +COCOAPODS: 1.6.0.beta.2 diff --git a/Readme.md b/Readme.md index 38246d4..f29df1e 100644 --- a/Readme.md +++ b/Readme.md @@ -10,9 +10,19 @@ TVVLCPlayer lets you integrate easily a powerfull video player with playback con - Jump, fast forward and rewind ## Installation +``` +# Carthage +github "kodlian/TVVLCPlayer", "~> 1.1.0" +``` + ```ruby # CocoaPods -pod "TVVLCPlayer", "~> 1.0.2" +pod "TVVLCPlayer", "~> 1.1.0" + +pre_install do |installer| + # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289 + Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} +end ``` ## Usage diff --git a/TVVLCPlayer.podspec b/TVVLCPlayer.podspec index 80ef2b7..fec1640 100755 --- a/TVVLCPlayer.podspec +++ b/TVVLCPlayer.podspec @@ -1,13 +1,12 @@ Pod::Spec.new do |s| s.name = "TVVLCPlayer" - s.version = "1.0.2" + s.version = "1.1.0" s.summary = "A powerfull video player" s.description = <<-DESC TVVLCPlayer lets you integrate easylily a powerfull video player with playback control views to your tv apps. Based on TVVLCKit, it aims to replace AVPlayerViewController that can read only a limited number of formats. DESC - s.static_framework = true s.homepage = "https://github.com/kodlian/TVVLCPlayer" s.screenshots = "https://raw.githubusercontent.com/kodlian/TVVLCPlayer/master/screenshot.jpg" s.license = 'MIT' @@ -21,10 +20,7 @@ Pod::Spec.new do |s| s.frameworks = 'UIKit' s.dependency 'TVVLCKit' - s.pod_target_xcconfig = { - 'SWIFT_OBJC_BRIDGING_HEADER' => "${PODS_TARGET_SRCROOT}/Sources/TVVLCPlayer-Bridging-Header.h" - } - s.resources = ["Resources/*.storyboard"] - s.resource_bundle = { 'TVVLCPlayer' => [ 'Resources/*.xcassets' ] } - + s.resources = ['Resources/*.storyboard','Resources/*.xcassets'] + s.script_phase = { :name => 'Add modulemaps in VLCKit', :script => 'cp -rf "${PODS_TARGET_SRCROOT}/Modules" "${PODS_ROOT}/TVVLCKit/TVVLCKit.framework/Modules"', :execution_position => :before_compile } + s.preserve_path = "Modules" end