Có ai tìm thấy hướng dẫn nửa chừng phù hợp để triển khai Khả năng hiển thị trên iOS không?Hướng dẫn khả năng hiển thị cho iOS
Trả lời
Tôi đã triển khai Khả năng hiển thị như thế này. Tải xuống https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html và thêm Khả năng hiển thị.h và .m vào dự án của bạn. Thêm khung SystemConfiguration vào dự án của bạn. #import "Reachability.h" nơi bạn muốn sử dụng nó. Sử dụng mã này.
-(BOOL)reachable {
Reachability *r = [Reachability reachabilityWithHostName:@"enbr.co.cc"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if(internetStatus == NotReachable) {
return NO;
}
return YES;
}
Khi bạn muốn kiểm tra reachability ...
if ([self reachable]) {
NSLog(@"Reachable");
}
else {
NSLog(@"Not Reachable");
}
Đây là dự án ví dụ mà tôi đưa ra. http://dl.dropbox.com/u/3656129/ReachabilityExample.zip
Tôi nghĩ cách tốt nhất để kiểm tra tính khả dụng của địa chỉ máy chủ là bằng cách kiểm tra kết quả của Yêu cầu NSURL.
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
Sử dụng bit này của Bộ luật, nếu thiết bị của bạn không thể đạt URL được cung cấp, nó cung cấp một số đầu ra để biến lỗi, nếu nó có thể truy cập vào URL yêu cầu, lỗi là Nil.
Khả năng hiển thị cung cấp đầu ra tích cực ngay cả khi bạn có thể chuyển các gói URL khỏi thiết bị của mình và không bao giờ đến được máy chủ lưu trữ.
Thông thường bạn chỉ cần thực hiện yêu cầu HEAD nếu bạn chỉ muốn kiểm tra xem tài nguyên có sẵn hay không. Nếu bạn chỉ sẽ tải xuống nó bất kỳ cách nào sau đó chắc chắn, chỉ cần cố gắng để tải về nó. – hooleyhoop
Cảm ơn! Nó hoạt động rất tốt. – esqew
Xin chào, tôi đang sử dụng phiên bản của mã này và mã hoạt động tốt. Tất cả các thông tin khác tôi tìm thấy trên internet dường như sử dụng thông báo, và cho WifiReach, InternetReach, và máy chủ tiếp cận. Điều này có vẻ như một cách sạch sẽ hơn nhiều. Có một nhược điểm tôi không nhìn thấy? – averydev
Không. Không xa như tôi biết. Chỉ cần đảm bảo rằng máy chủ bạn đang kiểm tra đã hết và không bị chặn. – enbr