编辑:我弄清楚出了什么问题,但由于我是新用户,因此无法发布答案。我会尽可能地发布我的解决方案。
我正在使用此代码在iPhone的网络浏览器中打开一个链接:
NSString *url;
NSLog(@"%d", [sender tag]);
if([sender tag] == 0)
url = [approvedDict objectForKey:@"ig"];
else if([sender tag] == 1)
url = [approvedDict objectForKey:@"yt"];
else if([sender tag] == 2)
url = [approvedDict objectForKey:@"tw"];
else if([sender tag] == 3)
url = [approvedDict objectForKey:@"pt"];
else if([sender tag] == 4)
url = [approvedDict objectForKey:@"fb"];
NSLog(@"%@", url);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
使用此代码时(按下按钮的目标操作),没有任何反应。但是,如果我使用 NSLog(@“%@”,url)给出的EXACT字符串,并将其放在“url”位于最后一行的位置。我对发生的事感到难过;有谁有任何线索?感谢。
答案 0 :(得分:0)
如果网址有任何特殊字符,则需要百分比转义它们。
而不是像这样打开网址:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
添加
NSString *encodedString = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *urlToOpen = [NSURL URLWithString: encodedString];
[[UIApplication sharedApplication] openURL:urlToOpen];