Я проверяю, имеет ли у моего приложения доступ в Интернет. Как ни странно, на каком-то устройстве у меня есть доступ к Интернету. Но это не нормально для некоторых устройств. Правильно ли написано мое кодирование?iOS Невозможно получить доступ к интернету
Если да, то это из-за сотовых данных? Это происходит только для моего приложения, и все остальные приложения выглядят нормально. В сотовой сети он также позволяет использовать мое приложение с сотовыми данными.
+ (BOOL)isHostReachable:(NSString *)host {
if (!host || ![host length]) {
return NO;
}
SCNetworkReachabilityFlags flags;
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [host UTF8String]);
BOOL gotFlags = SCNetworkReachabilityGetFlags(reachability, &flags);
CFRelease(reachability);
if (!gotFlags) {
return NO;
}
return [self isReachableWithoutRequiringConnection:flags];
}
+ (BOOL)isReachableWithoutRequiringConnection:(SCNetworkReachabilityFlags)flags
{
// kSCNetworkReachabilityFlagsReachable indicates that the specified nodename or address can
// be reached using the current network configuration.
BOOL isReachable = flags & kSCNetworkReachabilityFlagsReachable;
// This flag indicates that the specified nodename or address can
// be reached using the current network configuration, but a
// connection must first be established.
//
// If the flag is false, we don't have a connection. But because CFNetwork
// automatically attempts to bring up a WWAN connection, if the WWAN reachability
// flag is present, a connection is not required.
BOOL noConnectionRequired = !(flags & kSCNetworkReachabilityFlagsConnectionRequired);
if ((flags & kSCNetworkReachabilityFlagsIsWWAN)) {
noConnectionRequired = YES;
}
return (isReachable && noConnectionRequired) ? YES : NO;
}
App Transport Безопасность связана? Какие устройства не могут получить доступ к Интернету? В таком случае? Сужение устройств может быть полезным. 3G? Доступ отключен пользователем в Settings.app? – Larme
Да. Это на 3G, ios 9+, iphone 6 и App Transport Security должно быть хорошо, потому что я уже это допускаю. –
App Transport Security не имеет ничего общего с достижимостью. Это может быть возможно только после того, как вы подключитесь к Интернету. – gnasher729