LTxNetwork
HTTP 服务
依赖于 AFNetworking
- GET
- POST
- PUT
- DELETE
示例
[[LTxNetworkHttpService sharedInstance] doPostWithURL:@"https://:8802/base-login/v1/api/mobile/user/authentication" param:@{ @"username":@"liangtong", @"password":@"xxxx", @"appId":@"8c41f00f-8870-469d-8180-5d9e556f0170", } complete:^(NSString * error, id retObj) {
}];
更多配置
LTxNetworkHttpService* service = [LTxNetworkHttpService sharedInstance];
AFHTTPSessionManager* session = service.sessionManager;
//Request
[session.requestSerializer setValue:@"token xxxxxx" forHTTPHeaderField:@"Authorization"];
session.requestSerializer.timeoutInterval = 4.f;
//Response
session.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", nil];
下载任务
使用 dispatch_semaphore_t 和 dispatch_queue_t 来限制下载数量。
使用 NSURLSession 和 NSOperationQueue 来下载项。
演示
NSString* url = @"https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf";
[[LTxNetworkDownloadService sharedInstance] addDownloadTaskWithURL:url pathInSandbox:@"Library/Caches" saveName:@"test_download.pdf"];
配置
主包中的LTxConfig.plist
- backgroundDownload - BOOL
- 后台下载启用
- XCode - Target - Capabilities - Background Modes
- maxDownloadingCount - Integer
- 瞬间下载数量
<key>download</key>
<dict>
<key>backgroundDownload</key>
<false/>
<key>maxDownloadingCount</key>
<integer>2</integer>
</dict>
许可证
MIT