├── .github ├── FUNDING.yml └── workflows │ ├── ci.yml │ └── main.yml ├── .gitignore ├── .swiftpm └── xcode │ ├── package.xcworkspace │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ └── xcschemes │ └── ZPlayerCacher.xcscheme ├── LICENSE ├── Package.swift ├── README.md ├── Sources └── ZPlayerCacher │ ├── CacheableAVURLAssetFactory.swift │ ├── DataFetcherStrategy │ ├── Cacher │ │ ├── Cacher.swift │ │ └── PINCacher.md │ ├── ComposeDataFetcherStrategy.swift │ ├── DataFetcherStrategy.swift │ ├── LocalDataFetcherStrategy.swift │ ├── Network │ │ ├── Network.swift │ │ └── URLSessionNetwork.swift │ └── RemoteDataFetcherStrategy.swift │ ├── Models │ ├── AssetMetaData.swift │ ├── CacheableAVURLAsset.swift │ └── PlayerCacherError.swift │ ├── PlayerCacherLogger.swift │ └── ResourceLoader.swift ├── Tests └── ZPlayerCacherTests │ ├── CacheableAVURLAssetFacotry_Tests.swift │ ├── ComposeDataFetcherStrategy_Tests.swift │ ├── FakeCacher.swift │ ├── LocalDataFetcherStrategy_Tests.swift │ └── RemoteDataFetcherStrategy_Tests.swift ├── ZPlayerCacherExample ├── ZPlayerCacherExample.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved └── ZPlayerCacherExample │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── SceneDelegate.swift │ ├── ViewController.swift │ └── ZPlayerCacher │ ├── DefaultPlayerCacherLogger.swift │ └── PINCacher.swift ├── codecov.yml └── scripts └── ZPlayerCacher.podspec /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/ZPlayerCacher.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/ZPlayerCacher.xcscheme -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/README.md -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/CacheableAVURLAssetFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/CacheableAVURLAssetFactory.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/Cacher/Cacher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/Cacher/Cacher.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/Cacher/PINCacher.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/Cacher/PINCacher.md -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/ComposeDataFetcherStrategy.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/ComposeDataFetcherStrategy.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/DataFetcherStrategy.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/DataFetcherStrategy.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/LocalDataFetcherStrategy.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/LocalDataFetcherStrategy.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/Network/Network.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/Network/Network.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/Network/URLSessionNetwork.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/Network/URLSessionNetwork.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/DataFetcherStrategy/RemoteDataFetcherStrategy.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/DataFetcherStrategy/RemoteDataFetcherStrategy.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/Models/AssetMetaData.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/Models/AssetMetaData.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/Models/CacheableAVURLAsset.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/Models/CacheableAVURLAsset.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/Models/PlayerCacherError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/Models/PlayerCacherError.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/PlayerCacherLogger.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/PlayerCacherLogger.swift -------------------------------------------------------------------------------- /Sources/ZPlayerCacher/ResourceLoader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Sources/ZPlayerCacher/ResourceLoader.swift -------------------------------------------------------------------------------- /Tests/ZPlayerCacherTests/CacheableAVURLAssetFacotry_Tests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Tests/ZPlayerCacherTests/CacheableAVURLAssetFacotry_Tests.swift -------------------------------------------------------------------------------- /Tests/ZPlayerCacherTests/ComposeDataFetcherStrategy_Tests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Tests/ZPlayerCacherTests/ComposeDataFetcherStrategy_Tests.swift -------------------------------------------------------------------------------- /Tests/ZPlayerCacherTests/FakeCacher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Tests/ZPlayerCacherTests/FakeCacher.swift -------------------------------------------------------------------------------- /Tests/ZPlayerCacherTests/LocalDataFetcherStrategy_Tests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Tests/ZPlayerCacherTests/LocalDataFetcherStrategy_Tests.swift -------------------------------------------------------------------------------- /Tests/ZPlayerCacherTests/RemoteDataFetcherStrategy_Tests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/Tests/ZPlayerCacherTests/RemoteDataFetcherStrategy_Tests.swift -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/AppDelegate.swift -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/Info.plist -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/SceneDelegate.swift -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/ViewController.swift -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/ZPlayerCacher/DefaultPlayerCacherLogger.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/ZPlayerCacher/DefaultPlayerCacherLogger.swift -------------------------------------------------------------------------------- /ZPlayerCacherExample/ZPlayerCacherExample/ZPlayerCacher/PINCacher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/ZPlayerCacherExample/ZPlayerCacherExample/ZPlayerCacher/PINCacher.swift -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/codecov.yml -------------------------------------------------------------------------------- /scripts/ZPlayerCacher.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZhgChgLi/ZPlayerCacher/HEAD/scripts/ZPlayerCacher.podspec --------------------------------------------------------------------------------