iOS - 应用间直接跳转至微博主页

四个柠檬给你吃

1.首先添加应用白名单- 例如微博

  • 进入 info.plist 文件编辑白名单
info.plist
将下面代码粘贴
<key>LSApplicationQueriesSchemes</key>
<array>
    <!-- 新浪微博 URL Scheme 白名单-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>sinaweibosso</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>
</array>

2.获取微博主页的 UID :点击指定微博主页后面的一串数字为 UID

http://weibo.com/1*****6874/profile?topnav=1&wvr=6&is_all=1

3.跳转方法

    NSURL *url = [NSURL URLWithString:@"sinaweibo://userinfo?uid=601*****39"];
    // 如果已经安装了这个应用,就跳转
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }

演示视频 http://www.17sysj.com/video/lpds_a6ffbee27882a

白名单

iOS 9系统策略更新,限制了 http 协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用
这个URL Scheme机制的改变主要影响了两个api:canOpenURL和openURL。在iOS9以前,如果要判断系统中有没有APP能够处理相应的URL,直接调用canOpenURL就可以了,openURL同理。而在iOS9之后,若要访问某个URL,则必须在程序的info.plist中把访问的URL提前设置好,将其加入白名单中,才能够顺利使用canOpenURL和openURL,否则,系统会拒绝访问,直接返回NO。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容