我正在尝试使用以下代码在 safari 中打开 url:
- (IBAction)webButton:(id)sender {
NSString *url = @"www.google.com";
url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
}
但是每次应用程序崩溃。
有人遇到过类似情况吗?
这是关闭崩溃:http ://dl.dropbox.com/u/77033905/urlInSafariCrashesUp.png
更新:
NSString *recipients = @"mailto:first@example.com?subject=Hello from Croatia!";
NSString *body = @"&body=It is sunny in Croatia!";
NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body];
email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]];
这是用于打开邮件,但与 sharedApplication 相同。它崩溃了。
更新 2: 控制台日志:argv char ** 0xbffff520 *argv char * 0xbffff658 **argv char '/' argc int 1
更新 3: 它调用 IBAction 但崩溃了。当我在根视图中尝试此代码时,它可以工作。我在 IB 按钮中添加并连接,一切正常。
在子视图中调用 UIApplication sharedApplication 有问题吗?我应该用不同的方式打电话吗?
更新 4:
我发现问题是即使我在子视图中调用空 IBAction,所以问题显然不在 UIApplication 中,而是在子视图中调用 IBAction。
- (IBAction)webButton:(id)sender {
// empty
}
更新 5: 解决方案:如何在子视图中调用 IBAction?