私のアプリで普及しているReachabilityフレームワーク(https://github.com/tonymillion/Reachability)を使用していて、実際のデバイスで到達可能性をテストしています(シミュレータと全く同じ動作ですが)。 (もう一度、強く参照)どこか別の場所ではiOSの到達可能性がありません
@implementation AppDelegate{
Reachability *reachability;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[...]
//this code is reached and called with no issues.
reachability = [Reachability reachabilityWithAddress:@"myreachabledomain.com"];
[reachability startNotifier];
return YES;
}
:ここ
は私のコード(私は強く私のアプリデリゲートでインスタンス変数としてReachability
インスタンスを参照しています)です
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityDidChange:)
name:kReachabilityChangedNotification object:nil];
[...]
-(void)reachabilityDidChange:(NSNotification*)note{
NSLog(@"hello");
}
しかし、私は "hello"(またはブレークポイントにヒットする)を見ることはありません。私のドメインは完全にアクセス可能です。携帯電話のデータを永久にオフにしてから、アプリを起動してWiFiを切り替えることで、携帯電話のインターネット接続を切り替えることができます(問題なくWiFiに接続し、インターネットを閲覧できます)。
私は間違っていますか?
UPDATE(私はiPhone 7プラス、iOSの10.3.1によ):私は代わりに私のカスタムドメイン、無駄のgoogle.com
を試してみた
- 。
- 私はリスニングを開始する前に通知を登録しようとしましたが、無駄です。
- 私は、通知センターの代わりにブロックベースの方法を使用しようとしましたが、無駄です。
'startNotifier'を呼び出す前にオブザーバを追加してください。 Btw:ブロックベースのAPIが好きです。 – vadian
@vadianは、(開始前に登録し、ブロックベースのAPIの両方)を試しました。どちらもうまくいかない。 –