私のアプリでは、次のものを使用しました。これは、UIWebViewが既に画面に表示されている場合です。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSString *urlString = [userInfo objectForKey:@"url"];
if( [self.window.rootViewController isKindOfClass:[UINavigationController class]] ){
UINavigationController *currentNavigationController = (UINavigationController*)self.window.rootViewController;
if( [currentNavigationController.visibleViewController isKindOfClass:[NHCallVC class]] ){
SomeViewController *currentViewController = (SomeViewController*)currentNavigationController.visibleViewController;
[currentViewController.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];
}
}
}
の構造UINavigationControllerは複雑に見えますが、これはアプリをセットアップする方法に必要でした。これはアプリによって異なる場合があります。
アイデアは、開かれているビュー コントローラーを取得し、URL を にロードすることUIWebViewです。コードは、 が現在開いていると想定してUIViewControllerいUIWebViewます。UIViewControllerで URL を開く前に正しい場所に移動する場合は、コードを変更する必要がありますUIWebView。