簡単そうに見えますが、解決できずに倒れてしまった問題です。実際、私はiOSアプリ、主にWebサイトをロードするWebビューを持っており、通知を受信したときに別のwenページをロードする必要があります。私はプッシュ通知を実装していて、それらを機能させることができました。それらはAppDelegateのアプリによって受信され、問題が発生したときに受信されます。特定のURLでWebビューを起動したいのですが、その方法がわかりません。Webviewインスタンスを取得して、それにURLを渡そうとしました。
「SomeAppDelegate.h」
#import <UIKit/UIKit.h>
@class BrowserViewController;
@interface SomeAppDelegate : UIResponder <UIApplicationDelegate>
@property(nonatomic, retain) IBOutlet BrowserViewController *viewController;
@property (strong, nonatomic) UIWindow *window;
@end
「SomeAppDelegate.m」
#import "SomeAppDelegate.h"
#import "BrowserViewController.h"
@implementation SomeAppDelegate
@synthesize window = _window;
@synthesize viewController;
.........
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
[viewController.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20]];
[self.window addSubview:viewController.webView];
[self.window makeKeyAndVisible];
もう1つのテストは、BrowserViewContrller内にインスタンスメソッドを作成して、そこからリロードしようとすることでした。ストーリーボードをプログラムでロードしようとしましたが、ストーリーボードで[Is Initial View Controller]をオフにすると、起動直前にアプリがクラッシュします。
私はたくさんのグーグルをしましたが、このライフサイクルがどのように機能するのかよくわかりません。私はどんな助けにも感謝します。