AF의 사용
- (AFSecurityPolicy *)securityPolicy{
[NSMutableArray arrayWithCapacity:1];
// .crt --->.cer
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"https" ofType:@"cer"];
NSData *data = [NSData dataWithContentsOfFile:cerPath];
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);//
NSSet *cerSet = [NSSet setWithObject:data];
AFSecurityPolicy *security = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:cerSet];
[AFSecurityPolicy defaultPolicy];
security.allowInvalidCertificates = YES;
security.validatesDomainName = NO;
return security;
}
2. 처음 앱을 다운로드하여 설치할 때 네트워크가 없는 버그를 해결한다.
if (__IPHONE_10_0) {
[self cellularData];
}else{
[self startMonitoringNetwork];
}
#pragma mark -
- (void)cellularData{
CTCellularData *cellularData = [[CTCellularData alloc] init];
cellularData.cellularDataRestrictionDidUpdateNotifier = ^(CTCellularDataRestrictedState state) {
switch (state) {
case kCTCellularDataRestrictedStateUnknown:
NSLog(@" .....");
break;
case kCTCellularDataRestricted:
NSLog(@" ....");
[self testBD]; // ...
break;
case kCTCellularDataNotRestricted:
NSLog(@" ////");
[self startMonitoringNetwork];//
break;
default:
break;
}
};
}
#pragma mark - startMonitoringNetwork
- (void)startMonitoringNetwork{
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
NSLog(@" , ");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@" , ");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@" ");
[self testBD];
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WiFi ");
[self testBD];
break;
default:
break;
}
}];
[manager startMonitoring];
}
#pragma mark -
- (void)testBD{
NSString *urlString = @"http://api.douban.com/v2/movie/top250";
NSDictionary *dic = @{@"start":@(1),
@"count":@(5)
};
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:urlString parameters:dic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@" :%@---%@",task,responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@" :%@---%@",task,error);
}];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.