我收到服务器请求的网址,我按了一个按钮,按下后,必须打开safari并转到链接, 我的代码如下:
- (IBAction)openFeedbackWebViewPresser:(id)sender {
NSString *feedbackUrl = self.getConfig.feedbackURL;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: feedbackUrl]];
}
如果我打印反馈网址,则如下所示:
https://xxx.xxxxx.com/CRM/feedback#/1715171559ae979371687#/10306
我试图用另一种方式:
NSURL *url = [NSURL URLWithString:feedbackUrl];
[[UIApplication sharedApplication] openURL: url];
url返回nil,知道feedbackUrl包含url。 有什么想法错了吗? 感谢
答案 0 :(得分:1)
您的字符串url可能包含任何空格或必须编码的任何其他特殊字符。如下所示
NSString *feedbackUrl = [self.getConfig.feedbackURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: feedbackUrl]];
希望它有所帮助。!!!
答案 1 :(得分:1)
由于必须编码的特殊字符,可能会发生这种情况。以下编码适用于我 -
NSString *feedbackUrl = [self.getConfig.feedbackURL stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: feedbackUrl]];
答案 2 :(得分:-1)
这是在浏览器中打开链接的代码,希望这个帮助
- (IBAction)emailButton:(id)sender {
[[UIApplication sharedApplication]
openURL:[NSURL URLWithString:self.emailLabel.text]];
}