私のアプリでは、次のものを使用しました。これは、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
。