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。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容