ではSettings.bundle
、識別子 のテキスト入力がありますurl_preference
。
ViewController.h
、ViewController.m
、およびストーリーボードを使用してUIWebView
、設定から URL を表示するように設定しました。
- (void) updateBrowser {
NSString *fullURL = [[NSUserDefaults standardUserDefaults] stringForKey:@"url_preference"];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_EmbeddedBrowser loadRequest:requestObj];
}
これは機能します。
ただし、[設定] の URL が変更された場合、UIWebView
は新しい URL を反映するように更新されません。
アプリをバックグラウンドで実行できないようにすることで、更新された URL が反映されないという問題が解決されます。ただし、新しい問題が発生します。[設定] の URL が変更されていない場合、セッションは保持されません。が変更されたUIWebView
場合にのみ更新する必要があります。url_preference
を使用applicationWillEnterForeground
しAppDelegate.m
て強制的UIWebView
にリロードしようとしましたが、問題が発生しています。
ViewController では、次を実行できます。
- (void)viewDidLoad {
[self updateBrowser];
}
しかし、App Delegate で同じことを実行しようとしても更新されません。
- (void)applicationWillEnterForeground:(UIApplication *)application
{
ViewController *vc = [[ViewController alloc]init];
[vc updateBrowser];
}
(私は、 、およびにも含め- (void) updateBrowser;
ましたViewController.h
#import "ViewController.h"
AppDelegate.m
ありがとうございました。