https://github.com/libobjc/sgdownload
A delightful big files download framework for iOS, OS X, watchOS, and tvOS.
https://github.com/libobjc/sgdownload
Last synced: 5 months ago
JSON representation
A delightful big files download framework for iOS, OS X, watchOS, and tvOS.
- Host: GitHub
- URL: https://github.com/libobjc/sgdownload
- Owner: libobjc
- License: mit
- Created: 2017-03-17T11:44:19.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-06-15T07:22:11.000Z (over 6 years ago)
- Last Synced: 2025-05-06T02:39:20.113Z (9 months ago)
- Language: Objective-C
- Homepage:
- Size: 139 KB
- Stars: 164
- Watchers: 8
- Forks: 26
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SGDownload
SGDownload 是一个文件下载器。非常适合用于视频下载,支持后台,锁屏下载。同时支持 iOS、macOS、tvOS 三个平台。
## 功能特点
- 使用 NSCondition 条件变量控制并发数、调度下载任务。
- 封装任务队列(block queue)来管理下载任务。
- 如下载过程中 App 崩溃,已唤醒的任务继续下载,并在下次启动 App 时同步状态。
## 使用示例
```obj-c
// 在 AppDelegate 中添加如下代码。
- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler
{
[SGDownload handleEventsForBackgroundURLSession:identifier completionHandler:completionHandler];
}
// 启动下载
self.download = [SGDownload download];
[self.download run];
SGDownloadTask * task = [self.download taskWithContentURL:contentURL];
if (!task)
{
task = [SGDownloadTask taskWithTitle:@“title”
contentURL:contentURL
fileURL:fileURL];
}
[self.download addDownloadTask:task];
```
## 效果演示
### iOS

### macOS
