openlockPPP 5aa7e16e9f up 优化 1 year ago
..
KTVHTTPCache 5aa7e16e9f up 优化 1 year ago
LICENSE 5aa7e16e9f up 优化 1 year ago
README.md 5aa7e16e9f up 优化 1 year ago

README.md

KTVHTTPCache

KTVHTTPCache is a powerful media cache framework. It can cache HTTP request, and very suitable for media resources.

Flow Chart

KTVHTTPCache Flow Chart

Features

  • Thread safety.
  • Logging system, Support for console and file output.
  • Accurate view caching information.
  • Provide different levels of interface.
  • Adjust the download configuration.

Installation

Installation with CocoaPods

To integrate KTVHTTPCache into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'KTVHTTPCache', '~> 2.0.0'

Run pod install

Installation with Carthage

To integrate KTVHTTPCache into your Xcode project using Carthage, specify it in your Cartfile:

github "ChangbaDevs/KTVHTTPCache" ~> 2.0.0

Run carthage update to build the framework and drag the built KTVHTTPCache.framework and KTVCocoaHTTPServer.framework into your Xcode project.

Usage

  • Start proxy.

    [KTVHTTPCache proxyStart:&error];
    
  • Generated proxy URL.

    NSURL *proxyURL = [KTVHTTPCache proxyURLWithOriginalURL:originalURL];
    AVPlayer *player = [AVPlayer playerWithURL:proxyURL];
    
  • Get the complete cache file URL if existed.

    NSURL *completeCacheFileURL= [KTVHTTPCache cacheCompleteFileURLWithURL:originalURL];
    
  • Set the URL filter processing mapping relationship.

    [KTVHTTPCache encodeSetURLConverter:^NSURL *(NSURL *URL) {
    return URL;
    }];
    
  • Download Configuration

    // Timeout interval.
    [KTVHTTPCache downloadSetTimeoutInterval:30];
    
    // Accept Content-Type.
    [KTVHTTPCache downloadSetAcceptableContentTypes:contentTypes];
    
    // Set unsupport Content-Type filter.
    [KTVHTTPCache downloadSetUnacceptableContentTypeDisposer:^BOOL(NSURL *URL, NSString *contentType) {
    return NO;
    }];
    
    // Additional headers.
    [KTVHTTPCache downloadSetAdditionalHeaders:headers];
    
    // Whitelist headers.
    [KTVHTTPCache downloadSetWhitelistHeaderKeys:headers];
    
  • Log.

    // Console.
    [KTVHTTPCache logSetConsoleLogEnable:YES];
    
    // File.
    [KTVHTTPCache logSetRecordLogEnable:YES];
    NSString *logFilePath = [KTVHTTPCache logRecordLogFilePath];
    

License

KTVHTTPCache is released under the MIT license.

Feedback

  • GitHub : Single
  • Email : libobjc@gmail.com

Developed by Single

  • SGPlayer - A powerful media player framework for iOS, macOS, and tvOS.
  • KTVVideoProcess - A High-Performance video effects processing framework.