iPhone で簡単なピンガーが必要です。そこで、SimplePing の例 を iPhone で実行してみます。しかし、例のようにピンガーを初期化すると、メインの実行ループは SimplePing によって生成されたイベントを処理しません。ここに初期コードがあります:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
_pinger = [SimplePing simplePingWithHostName:@"192.168.210.1"];
_pinger.delegate = self;
[_pinger start];
NSLog(@"Pinger started");
[self.window makeKeyAndVisible];
return YES; }
この関数で runloop を直接トリガーすると、次のようになります。
do {
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
} while (_pinger != nil);
できます。私の質問は、イベントが のメイン実行ループで処理されないのはなぜですか? また、メイン実行ループでUIApplicationMain
これを実行するにはどうすればよいですか?