我有一个应用程序,只需启动带有链接的浏览器并自行关闭。 这是代码:
#import "ViewController.h"
@implementation ViewController
-(void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor= [UIColor cyanColor];
mLinkview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[mLinkview setDelegate:self];
NSURL *url = [NSURL URLWithString:@"http://www.mediklean.com"];
[[UIApplication sharedApplication] openURL:url];
exit(0);
[self.view addSubview:mLinkview];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
问题是,启动浏览器之前需要花费很长时间,例如10 seconds
。如果这是由代码或其他原因引起的问题,任何人都可以提供帮助吗?
答案 0 :(得分:2)
不要使用
[[UIApplication sharedApplication] openURL:url];
而是做这样的事情:
NSURL *url = [NSURL URLWithString:@"http://www.mediklean.com"];];
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:30];
[webView loadRequest:request];
使用webView加载请求。
Apple明确禁止您在自己的应用程序上调用exit。终止由iOS处理。
答案 1 :(得分:1)
打开浏览器需要这么长时间的原因很可能是因为指定的网站速度很慢。使用我的电脑加载需要10秒钟。尝试将其更改为使用google.com,看看它是否仍然很慢。
另一个不是你应该在为iOS开发时调用exit
,请参阅this问题以获取更多信息。
答案 2 :(得分:-1)
在viewDidAppear方法中启动浏览器。它会减少你的延迟。
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSURL *url = [NSURL URLWithString:@"http://www.mediklean.com"];
[[UIApplication sharedApplication] openURL:url];
exit(0);
}