1. 程式人生 > >IOS 使用ShareSDK進行QQ,微信,新浪微博分享失敗經驗

IOS 使用ShareSDK進行QQ,微信,新浪微博分享失敗經驗

  該文章轉自  http://blog.csdn.net/iosbird/article/details/50420547    非常感謝提供解決思路

問題描述:在iOS9下,系統預設會攔截對http協議介面的訪問,因此無法獲取http協議介面的資料。對ShareSDK來說,具體表現可能是,無法授權、分享、獲取使用者資訊等。

還可能造成我們的編輯介面裡傳http之類的網路圖片的時候,我們的編輯介面不會顯示圖片截圖,解決的辦法或者全面關閉https,允許使用http請求;或者把圖片的域新增;又或者選擇使用https的圖片

解決方案(以下方法2選1):

(1)、暫時退回到http協議。

具體方法:

在專案的info.plist中新增一個Key:NSAppTransportSecurity,型別為字典型別。

然後給它新增一個Key:NSAllowsArbitraryLoads,型別為Boolean型別,值為YES;

751FEFB8-86A2-45EC-8F61-A1A5081C5465

(2)、設定域。可以簡單理解成,把不支援https協議的介面設定成http的介面。

具體方法:

1)、在專案的info.plist中新增一個Key:NSAppTransportSecurity,型別為字典型別。

2)、然後給它新增一個NSExceptionDomains,型別為字典型別;

3)、把需要的支援的域新增給NSExceptionDomains。其中域作為Key,型別為字典型別。

4)、每個域下面需要設定3個屬性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。

均為Boolean型別,值分別為YES、NO、YES。

B4CB0038-520E-4E1A-BDD1-C5AB8627F770

細節提示:在iOS9中如果使用到網路圖片,也要注意網路圖片是否是HTTP的哦,如果是,也要把圖片的域設定哦!

各平臺設定域

新浪微博

  • weibo.com
  • weibo.cn
  • sina.com.cn

騰訊微博

  • qq.com

微信

  • qq.com

QQ/QZone

  • qq.com

易信

  • 無需配置

豆瓣

  • 無需配置

人人

  • renren.com

開心網

  • kaixin001.com
  • kaixin001.com.cn

有道

  • youdao.com

Facebook

facebook.com

fbcdn.NET

akamaihd.Net

Twitter

  • twitter.com

Google+

  • 無需配置

Instagram

  • instagram.com
  • instagramstatic-a.akamaihd.net

Tumblr

  • tumblr.com

Instapaper

  • instapaper.com

Pinterest

  • 無需配置

明道

  • 無需配置

Evernote印象筆記

  • 無需配置

VK

  • 無需配置

pocket

  • 無需配置

LinkedIn

  • 無需配置

Dropbox

  • 無需配置

Flickr

         Kakao

2、大部分社交平臺SDK不支援bitcode。

問題描述:iOS 9新建專案預設需要支援bitcode,而不支援bitcode的SDK會導致無法編譯執行。

解決方案:

(1)、暫時關閉對bitcode的支援(建議),方法如下圖

(2)、移除不支援bitcode的平臺SDK。

3148F4FF-C428-4DF7-81DE-01BCCF44FF63

3、新增Scheme白名單。

問題描述:在iOS 9下涉及到平臺客戶端跳轉,系統會自動到專案info.plist下檢測是否設定平臺Scheme。對於需要配置的平臺,如果沒有配置,就無法正常跳轉平臺客戶端。因此要支援客戶端的分享和授權等,需要配置Scheme名單。

具體方法:

1)、在專案的info.plist中新增一LSApplicationQueriesSchemes,型別為Array。

2)、然後給它新增一個需要支援的專案,型別為字串型別;

FBEF076A-611A-4B43-B8A9-F1825CC08FDA

各平臺OpenURL白名單說明

新浪微博

  • sinaweibo,
  • sinaweibohd,
  • sinaweibosso,
  • sinaweibohdsso,
  • weibosdk,
  • weibosdk2.5
  • [後兩個若匯入新浪SDK則需要]

騰訊微博

  • TencentWeibo,
  • tencentweiboSdkv2
  • [控制檯會提示這兩個,但是騰訊微博SDK已經棄用,可以忽略不配置]

豆瓣

  • 無需配置

開心網

  • 無需配置

微信

  • wechat,
  • weixin

易信

  • yixin,
  • yixinopenapi

支付寶

  • alipay,
  • alipayshare

QQ

  • mqqOpensdkSSoLogin,
  • mqqopensdkapiV2,
  • mqqopensdkapiV3,
  • wtloginmqq2,
  • mqq,
  • mqqapi

QZONE

  • mqzoneopensdk,
  • mqzoneopensdkapi,
  • mqzoneopensdkapi19,
  • mqzoneopensdkapiV2,
  • mqqOpensdkSSoLogin,
  • mqqopensdkapiV2,
  • mqqopensdkapiV3,
  • wtloginmqq2,
  • mqqapi,
  • mqqwpa
  • mqzone,
  • mqq

[:若同時使用QQQZONE,則直接新增本格即可]

Google+

  • googlechrome,
  • googlechrome-x-callback,
  • hasgplus4,
  • com.google.gppconsent,
  • com.google.gppconsent.2.2.0,
  • com.google.gppconsent.2.3.0,
  • com.google.gppconsent.2.4.0,
  • com.google.gppconsent.2.4.1

人人網

  • renrenapi,
  • renrenios,
  • renreniphone,
  • renren,
  • 以及在使用人人SDK時所需配置的URL Scheme,例如:rm226427com.mob.demoShareSDK

Facebook

  • fbauth2

Twitter

  • 無需配置

Pocket

  • pocket-oauth-v1

Pinterest

  • pinit

Instagram

  • instagram

WhatsApp

  • whatsapp

Line

  • line

KakaoTalk

  • kakaolink

KaokaoStory

  • storylink

LinkedIn

  • 無需配置

Tumblr

  • 無需配置

非平臺類,如簡訊,複製,郵件等

  • 無需配置
必看注意:
1.iOS9中,如果沒有新增上述白名單,系統會列印類似如下提示: 

.-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “This app is not allowed to query for scheme sinaweibohdsso”(如下圖)

如沒有新增相關白名單,有可能導致分享失敗,例如不會跳轉微信,不會跳轉QQ

2.新增完上述所需的名單,系統依然會列印類似資訊: 

.-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “null”

這是系統列印的資訊,目前是無法阻止其列印,即無法消除的

3.上述白名單,是技術人員通過不斷的測試收集整理所得,如果各位開發者朋友發現上表格有所遺漏,請根據系統資訊新增相關白名單即可。

如果沒有設定白名單的話,系統的列印資訊如圖所示:

螢幕快照 2015-09-17 下午7.03.30

新增完後,系統是依然會列印的,不過error會變成null:

螢幕快照 2015-09-17 下午7.03.36


相關推薦

unity3d利用sharesdk分享內容至qq空間等國內主流社交平臺(ios篇)

大家在玩遊戲時,通常都會看到分享的功能,最常見的是分享到微信朋友圈、qq空間或者新浪微博,產品經理通常稱這個功能模組為社會化。那這個功能在unity3d製作的遊戲中怎麼做到的呢?以前的老做法是按照對應的ios、安卓平臺、在微信or新浪微博上下載對應的sdk、按照其說明文件

用友盟社會化元件分享

最近做的APP,需要分享功能,於是試了一下友盟的社會化元件。總的感覺還不錯,雖然沒有比直接整合官方SDK簡便多少,但是後臺統計的功能不錯,所以最後還是用了。官網的文件說明已經挺詳細了,不過章節組織得有點亂,本文總結一下 獲取友盟app key 首先去友盟註冊一個app ke

實現QQ和百度第三方登錄(Android Studio)

wiki protocol super cli 路徑 參考 syn jar包 all 前言: 對於大多數的APP都有第三方登錄這個功能,自己也做過幾次,最近又有一個新項目用到了第三方登錄,所以特意總結了一下關於第三方登錄的實現,並拿出來與大家一同分享; 各大開放平臺註冊

獲取等apk簽名的方法

1、Eclipse開發工具中獲取: 匯出簽名包時的最後一步(將該MD5值複製出來,按照“ 去掉冒號(:),大寫轉小寫 ”的規則裝換,此時字串就是簽名): 2、使用微信或者新浪微博開放平臺上的MD

IOS 使用ShareSDK進行QQ分享失敗經驗

  該文章轉自  http://blog.csdn.net/iosbird/article/details/50420547    非常感謝提供解決思路 問題描述:在iOS9下,系統預設會攔截對http協議介面的訪問,因此無法獲取http協議介面的資料。對ShareS

SDK 在iphone 6plus上分享失敗ios自學筆記)

最近在做微信分享,出現了一個非常奇怪的實情 點選進入微信分享後除了 6plus以外的所有機型都可以分享 但是6plus點選微信分享圖示沒有反應(對於同一個牌子不同型號效果不一樣的問題一貫是比較麻煩的)

分享到空間或的程式碼

<div class="bdsharebuttonbox"> <a href="#" class="bds_more" data-cmd="more"></a> <a title="分享到QQ空間" href="#" class="

Android 使用shareSDK進行第三方登入失敗解決方法(qq

這幾天在搞第三方登入,由於ios版本的要早於android版,所以各大平臺上的賬號都是註冊稽核好的。 登入到平臺,新增android版本,加入shareSDK,原本想著很輕鬆,誰知道一測試全部失敗,都不能登入。 驗證了新增流程,驗證了各大平臺的key  都沒有問題。 於是去

iOS 判斷手機上是否安裝了QQ應用

做三方登入時,有些有機上可能沒有安裝三方登入需要的應用,如QQ。我們這時可以將三方登入的按鈕進行處理。話不多說,直接上程式碼。 這是我匯入的標頭檔案。 我用的是shareSDK,找到QQ,微信對應的類,直接掉當前SDK中,判斷是逗安裝應用的方法即可,版本不同可能會使呼叫的方

sharesdk第三方等陸或分享QQ空間qq好友朋友圈騰訊

   公司最近不景氣,辭職後的日子剛開始還挺嗨皮,過兩天閒的蛋都碎了,都四月份了,還是領到畢業證在找吧。。。。。。     不扯淡了,專案中經常有第三方等陸或者分享的功能,以下是我用sharesdk實現的步驟。。   1 使用第三方前,匯入MainLibs/libs中相應

通過js sdk 來進行第三方登入及授權(qq)

微博第三方登入及授權註冊申請appkey1.開啟微博開發者平臺http://open.weibo.com/development2.點選建立微連結3.選擇型別(選擇網站接入)4.填寫各項資訊,並把對應的

SwipeListView 具體解釋 實現QQ等滑動刪除效果

span 點擊 tor 支持 position pad edi find htm QQ或者微信出現過滑動,近期聯系人列表,能夠刪去當前選中的聯系人,這個功能玩起來非常爽 , 就是試著做了下。事實上是使用了開源框架SwipeListView 。

QQ內置瀏覽器的判斷

get ack navigator agen posit lower avi color fix /** * 判斷是否在微信裏打開 */function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCa

Python爬蟲開源項目代碼爬取、淘寶、豆瓣、知乎、QQ、去哪網等 代碼整理

http server 以及 pro 模擬登錄 取數 存在 漏洞 搜狗 作者:SFLYQ 今天為大家整理了32個Python爬蟲項目。 整理的原因是,爬蟲入門簡單快速,也非常適合新入門的小夥伴培養信心。所有鏈接指向GitHub,祝大家玩的愉快~ 1、WechatSogou

關於js實現QQ分享的總結

直接 默認 總結 不可 功能 網頁分享 默認瀏覽器 跳轉 百度 2018年5月16日,今天搜索了有關js分享的功能,做個總結。 微信內瀏覽器 App(hybrid) UC,QQ瀏覽器 其他瀏覽器 微信 1 調用內置API可一鍵分享 2 引導使用自帶分享功

關於ios 11.X後wifi認證無法打開無法重定向到weixin:開頭網址等問題的處理

width 問題 aos 開頭 優化 重定向 bubuko gin indexof 環境:   認證路由ROS ,認證後臺python django ios11系統 更新以來先後出現微信wifi認證,無法打開微信,無法重定向到weixin:開頭網址等相關問題。 經

關於ios 11.X後wifi認證無法開啟無法重定向到weixin:開頭網址等問題的處理

環境:   認證路由ROS ,認證後臺python django ios11系統 更新以來先後出現微信wifi認證,無法開啟微信,無法重定向到weixin:開頭網址等相關問題。     經過問題的收集,查詢到網路上此類問題普遍存在 收集到的有如下網址,市面上大多數廠商在使用

電腦能登入QQ但是打不開網頁瀏覽器

工具:電腦管家 分析:電腦不能上網的原因有很多,而電腦管家可以診斷電腦網頁打不開的原因,並進行修復,這中傻瓜式的操作,為我們省去很多時間去找原因。 步驟:  開啟電腦管家——工具箱——網路修復——立即修復——“提示:修復此項可能會關閉IE”點選確定 立即修復:

使用TCP協議完成Xposed hook個人免籤支付系統支援qq支付寶二維碼實時生成

由於之前思路使用natapp對映,但是個人是個比較愛折騰的人,覺得配置域名比較麻煩,於是就大致對整個系統思考了下,準備把APP承擔的服務端職責抽離出來,大致以下倆個思路 1、APP和服務端不進行TCP連結,而是使用一種比較迂迴的方法,作為使用者端不再去請求APP拿二維碼資料

Android 實現QQ的程式前後臺切換 back鍵切換後臺 點選通知欄恢復前臺

                實現類似微信,QQ的前後臺切換:back鍵切換後臺;點選通知欄恢復前臺。1、back鍵切換後臺的實現:這個實現需要在主activity重寫onbackpressed()方法。程式碼如下:@Override    public void onBackPressed() {