UIApplication sharedapplication openURL 不起作用

12

我有这个方法

- (IBAction)facebookButtonPress:(id)sender {
    NSLog(@"fb hit");
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"www.facebook.com/asbreckenridge" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}

我不明白为什么Safari不能打开链接。我已经记录了“fb hit”,所以方法被调用了,但它没有在Safari中打开链接,我做错了什么?

3个回答

8

尝试不使用编码进行如下操作。

- (IBAction)facebookButtonPress:(id)sender {
    NSLog(@"fb hit");
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.facebook.com/asbreckenridge"]];
}

同时尝试将 URL 更改为 http://www.facebook.com/asbreckenridge


1
有点奇怪,代码似乎没有问题。 - Khawar Ali
1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.facebook.com/asbreckenridge" ]];未生效。 - SBM
你找到打开www.facebook.com的解决方案了吗? - AJ Sanjay

7
试试这个:
- (IBAction)facebookButtonPress:(id)sender {
NSLog(@"fb hit");
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com/asbreckenridge"]];
}

太棒了,我不知道出了什么问题,但现在它可以工作了。 - AndrewSB
7
缺少了 http://。一般来说,在编码中添加额外的括号并不是什么坏事。但是对于这个常量 URL 来说,它没有任何影响。 - Hermann Klecker

1
在我的情况下,问题出在末尾多余的斜杠“/”。
不起作用:
@"http://www.facebook.com/asbreckenridge/" 正常工作:
@"http://www.facebook.com/asbreckenridge"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接