无法在 [UIApplication sharedApplication] 中使用 openURL 打开 url?
Posted
技术标签:
【中文标题】无法在 [UIApplication sharedApplication] 中使用 openURL 打开 url?【英文标题】:not able to open a url with openURL in [UIApplication sharedApplication]? 【发布时间】:2010-06-26 09:22:11 【问题描述】:我正在尝试打开一个网址 (http://c22.smaato.net/oapi/lp.jsp;jsessionid=E253E547A55290CA553F493659433DBF.c22) 通过以下代码在一个按钮上
NSString *strs=[[NSString alloc]initWithFormat:@"%@",[linkArry objectAtIndex:0]];
NSURL *urls = [NSURL URLWithString:strs];
[[UIApplication sharedApplication] openURL:urls];
[linkArry objectAtIndex:0] 就是上面提到的链接。
但它没有响应?如果我输入类似 "http://www.google.com" 之类的内容,它会起作用..
还有其他方法可以打开这些网址吗??
【问题讨论】:
显示定义url
的代码。
如果 RespLink 是一个字符串,为什么要这样转换成字符串呢?
更新了正确的代码
请显示定义linkArry
的代码
【参考方案1】:
检查线路
NSURL *urls = [NSURL URLWithString:strs];
NSlog("urls : %@", urls); 并在控制台打印 url,如果你发现 urls 是 nil,
然后使用 NSUTF8StringEncoding 转义 strs。
strs = [strs stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *urls = [NSURL URLWithString:strs];
【讨论】:
【参考方案2】:确保 url 是 NSURL 类型而不是 NSString
【讨论】:
以上是关于无法在 [UIApplication sharedApplication] 中使用 openURL 打开 url?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法为`UIApplication.shared`添加`if(iOSApplicationExtension)`条件
如何使用 UIApplication.shared.open 在 iOS 上选择性地打开其他应用程序
使用 UIApplication.shared.open 连续调用多个 URL - 仅先打开
在 iOS 扩展和应用程序之间使用 UIApplication.shared 共享 CocoaPod
Swift/iOS13 - UIApplication.shared.delegate.window?.rootViewController?.present() 来自自定义类
swift `UIApplication.shared.isNetworkActivityIndicatorVisible`管理クラス(延迟非対応)