友盟集成(九) —— UShare模塊之UShare常見(jiàn)問(wèn)題 (六)

版本記錄

版本號(hào) 時(shí)間
V1.0 2018.04.05

前言

相信很多人用過(guò)友盟,包括友盟的第三方登錄、分享以及統(tǒng)計(jì)。這里我們就分幾個(gè)模塊進(jìn)行詳細(xì)的說(shuō)明 —— 移動(dòng)統(tǒng)計(jì)(U - App)陈醒、網(wǎng)站統(tǒng)計(jì)(U - Web)、消息推送(U - Push)瞧甩、社會(huì)化分享(U - Share)钉跷、游戲統(tǒng)計(jì)(U - Game)、互聯(lián)網(wǎng)運(yùn)營(yíng)數(shù)據(jù)服務(wù)(Dplus) - 多維度肚逸、一站式爷辙、精細(xì)化數(shù)據(jù)管理服務(wù)。感興趣的可以看上面幾篇朦促。
1. 友盟集成(一) —— UShare模塊之快速集成(一)
2. 友盟集成(二) —— UShare模塊之快速集成(二)
3. 友盟集成(三) —— UShare模塊之第三方登錄(一)
4. 友盟集成(四) —— UShare模塊之進(jìn)階說(shuō)明之第三方平臺(tái)SDK說(shuō)明(一)
5. 友盟集成(五) —— UShare模塊之進(jìn)階說(shuō)明之分享到第三方平臺(tái)(二)
6. 友盟集成(六) —— UShare模塊之進(jìn)階說(shuō)明之分享面板UI(三)
7. 友盟集成(七) —— UShare模塊之進(jìn)階說(shuō)明之自定義平臺(tái)(四)
8. 友盟集成(八) —— UShare模塊之進(jìn)階說(shuō)明之U-Share API說(shuō)明(五)

UShare常見(jiàn)問(wèn)題

1. U-Share返回錯(cuò)誤碼

//平臺(tái)的失敗錯(cuò)誤碼
/**
 *  U-Share返回錯(cuò)誤類型
 */
typedef NS_ENUM(NSInteger, UMSocialPlatformErrorType) {
    UMSocialPlatformErrorType_Unknow            = 2000,            // 未知錯(cuò)誤
    UMSocialPlatformErrorType_NotSupport        = 2001,            // 不支持(url scheme 沒(méi)配置膝晾,或者沒(méi)有配置-ObjC, 或則SDK版本不支持或則客戶端版本不支持)
    UMSocialPlatformErrorType_AuthorizeFailed   = 2002,            // 授權(quán)失敗
    UMSocialPlatformErrorType_ShareFailed       = 2003,            // 分享失敗
    UMSocialPlatformErrorType_RequestForUserProfileFailed = 2004,  // 請(qǐng)求用戶信息失敗
    UMSocialPlatformErrorType_ShareDataNil      = 2005,             // 分享內(nèi)容為空
    UMSocialPlatformErrorType_ShareDataTypeIllegal = 2006,          // 分享內(nèi)容不支持
    UMSocialPlatformErrorType_CheckUrlSchemaFail = 2007,            // schemaurl fail
    UMSocialPlatformErrorType_NotInstall        = 2008,             // 應(yīng)用未安裝
    UMSocialPlatformErrorType_Cancel            = 2009,             // 取消操作
    UMSocialPlatformErrorType_NotNetWork        = 2010,             // 網(wǎng)絡(luò)異常
    UMSocialPlatformErrorType_SourceError       = 2011,             // 第三方錯(cuò)誤

    UMSocialPlatformErrorType_ProtocolNotOverride = 2013,   // 對(duì)應(yīng)的    UMSocialPlatformProvider的方法沒(méi)有實(shí)現(xiàn)
    UMSocialPlatformErrorType_NotUsingHttps      = 2014,   // 沒(méi)有用https的請(qǐng)求,@see UMSocialGlobal isUsingHttpsWhenShareContent

};

2. 集成SDK問(wèn)題

用了U-Share v5.x版本务冕,現(xiàn)在加入6.x編譯鏈接報(bào)錯(cuò)

U-Share SDK 5.x和6.x版本不相兼容血当,v6.x是完全重構(gòu)的一個(gè)版本,升級(jí)到6.x時(shí)請(qǐng)完全移除v5.x或更早版本禀忆。

分享面板很多平臺(tái)沒(méi)顯示

這是U-Share SDK內(nèi)部處理臊旭,對(duì)于模擬器以及在設(shè)備上未安裝或不支持授權(quán)/分享的平臺(tái)應(yīng)用進(jìn)行了隱藏,以增強(qiáng)分享體驗(yàn)及解決審核App時(shí)可能被拒的問(wèn)題箩退。

3. 授權(quán)/分享跳轉(zhuǎn)與回調(diào)問(wèn)題

授權(quán)或分享未跳到目標(biāo)App

可能在工程中配置iOS9以上白名單缺少對(duì)應(yīng)平臺(tái)參數(shù)离熏,參考配置SSO白名單

failed for URL: ""weibosdk://"" - error:

類似還有微信戴涝、QQ等需要打開(kāi)相應(yīng)app的都會(huì)有這樣的log撤奸,在模擬器上可能出現(xiàn)此log,因?yàn)闆](méi)安裝對(duì)應(yīng)app喊括,此條日志可以忽略胧瓜。 而如果出現(xiàn)error: "This app is not allowed to query for scheme xxx",說(shuō)明白名單沒(méi)有配置郑什,參考上一個(gè)問(wèn)題府喳。

在目標(biāo)App授權(quán)或分享后未跳轉(zhuǎn)回原App

未配置URL Types,參考添加URL Types蘑拯。

授權(quán)或分享結(jié)束后未回調(diào)數(shù)據(jù)

檢查系統(tǒng)回調(diào)函數(shù)钝满,參考設(shè)置系統(tǒng)回調(diào)

跳轉(zhuǎn)收到UIKeyboardWillShow消息

在分享到第三方平臺(tái)申窘,如QQ弯蚜、微信,在某些情況下可能會(huì)收到UIKeyboardWillShowNotification消息剃法,U-Share SDK內(nèi)部并無(wú)此消息發(fā)出碎捺。 發(fā)生的情況可能在跳轉(zhuǎn)到第三方平臺(tái)編輯頁(yè)面彈出鍵盤后或跳回App后收到,可參考以下兩種方式解決:

  • viewDidDisappear中移除此消息的注冊(cè)。
  • 用下列代碼過(guò)濾非本控件觸發(fā)的消息收厨。
- (void)keyboardWillShowNotification:(NSNotification *)note
{
    if (!myTextField.isFirstResponder) {
        return;
    }
    // code
}

4. 蘋果審核(ATS)及HTTPS

HTTP圖片發(fā)送失敗

由于ATS的原因晋柱,所有HTTP鏈接在SDK內(nèi)都被禁止,并提示錯(cuò)誤告知非https圖片不可分享诵叁,請(qǐng)使用https圖片雁竞,保證ATS環(huán)境下可以順暢的進(jìn)行分享操作。分享圖片方式如下: 1. 分享圖片僅適用本地圖片加載拧额,如UIImage或NSData數(shù)據(jù)傳輸碑诉。 2. 如需使用網(wǎng)絡(luò)圖片,確保URL為HTTPS圖片鏈接侥锦,以便于U-Share SDK下載并進(jìn)行分享联贩,否則會(huì)分享失敗。

關(guān)于ATS(審核時(shí)強(qiáng)制應(yīng)用支持HTTPS)的問(wèn)答

問(wèn):友盟分享和第三方登錄的SDK捎拯,現(xiàn)在要升級(jí)HTTPS泪幌,是否所有的都需要必須換成最新的sdk才可以?如果不升級(jí)而用原來(lái)的SDK署照,可以設(shè)置嗎祸泪?HTTPS協(xié)議與SDK的版本號(hào)有沒(méi)有關(guān)系? 答:這可能是多數(shù)開(kāi)發(fā)者的疑惑建芙,ATS的支持需要本地SDK將訪問(wèn)地址由http調(diào)整為https前綴的鏈接才可以没隘,無(wú)法設(shè)置,所以從U-Share 6.1開(kāi)始已經(jīng)支持全部HTTPS訪問(wèn)禁荸。 但目前有一個(gè)例外新浪微博的官方SDK還未全部支持ATS右蒲,在通過(guò)網(wǎng)頁(yè)進(jìn)行授權(quán)依然是HTTP請(qǐng)求導(dǎo)致頁(yè)面加載失敗,請(qǐng)關(guān)注官方U-Share iOS SDK后續(xù)會(huì)保持跟進(jìn)赶熟。

  • 上線的應(yīng)用是否有影響
    在AppStore的應(yīng)用不會(huì)有影響瑰妄,也不會(huì)下架。這個(gè)變化是針對(duì)新提交審核的映砖,也就是說(shuō)间坐,只要更新應(yīng)用,就需要支持ATS邑退。

  • 在蘋果執(zhí)行ATS后友盟分享SDK4.x版和5.x版本分享是否可用
    跟上面的問(wèn)題一樣竹宋,只要在線上的應(yīng)用均不會(huì)受到影響。但如果需要更新應(yīng)用提交審核地技,則需要更新SDK到6.1以上版本蜈七,即現(xiàn)在全新的U-Share SDK已支持ATS。

  • 微博SDK設(shè)置redirectURL為HTTP的莫矗,是否影響審核飒硅,以及安卓是否需要同步修改
    官方建議修改為前綴是https的redirectURL砂缩,并且http和https前綴的redirectURL互相兼容,不會(huì)導(dǎo)致不匹配而授權(quán)失敗的問(wèn)題狡相。由于微博后臺(tái)的設(shè)置無(wú)需修改梯轻,安卓客戶端也不會(huì)有影響食磕。

  • 微信尽棕、新浪微博和QQ頭像是HTTP URL
    目前第三方平臺(tái)返回的頭像鏈接依然是HTTP地址,不過(guò)U-Share SDK已經(jīng)做了兼容處理彬伦,升級(jí)到6.1.2以上版本SDK使用滔悉,開(kāi)發(fā)者無(wú)需擔(dān)心獲取頭像因?yàn)锳TS的原因而失敗。

5. 分享參數(shù)問(wèn)題

網(wǎng)頁(yè)類型發(fā)送失敗

發(fā)送網(wǎng)頁(yè)link card形式的分享单绑,需要設(shè)置縮略圖回官,如demo中的示例:

UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享標(biāo)題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];

其中需要設(shè)定thumImage。

6. 分享面板UI

更新6.1后UI編譯錯(cuò)誤

由于6.1版開(kāi)始更新了全新的分享面板搂橙,所以導(dǎo)入形式也略有改變

  • 導(dǎo)入文件
##import "UMSocialUIManager.h"

改為

##import <UShareUI/UShareUI.h>
  • 回調(diào)block
 [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMShareMenuSelectionView *shareSelectionView, UMSocialPlatformType platformType) {

    }];

接口沒(méi)變歉提,回調(diào)參數(shù)調(diào)整為

    [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
    }];

分享面板無(wú)法彈出

由于 1. 創(chuàng)建Xcode項(xiàng)目會(huì)默認(rèn)添加Main.storyboard作為Main Interface(General - Deployment Info),也就是項(xiàng)目的主Window区转。 2. 如果沒(méi)使用Main.storyboard而又另外在AppDelegate中創(chuàng)建了UIWindow對(duì)象苔巨,如

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]

如果項(xiàng)目中同時(shí)出現(xiàn)Main Interface以及代碼創(chuàng)建UIWindow會(huì)導(dǎo)致分享面板無(wú)法正常彈出,解決方法是移除其一即可废离。如果移除了Main.storyboard侄泽,需要clean工程后再重新運(yùn)行。

7. 更新Cocoapods問(wèn)題

找不到UMengUShare

如果通過(guò)Cocoapods集成U-Share SDK(Cocoapods集成)出現(xiàn)更新失敗或查找失敗蜻韭,如:

Unable to find a pod with name matching 'UMengUShare/Social/Wechat'

原因可能是未更新Cocoapods庫(kù)悼尾,使用pod update進(jìn)行更新遠(yuǎn)端數(shù)據(jù)庫(kù),切記不要使用--no-repo-update參數(shù)肖方,更新Cocoapods庫(kù)時(shí)間較長(zhǎng)闺魏,請(qǐng)耐心等待。

從4.x或5.x版本升級(jí)U-Share 6.0報(bào)錯(cuò)library not found for xxx

由于老版本通過(guò)cocoapods集成下載接入全量的平臺(tái)俯画,包括APOpenSDK舷胜、facebook、twitter等活翩。在新版U-Share通過(guò)cocoapods集成可以靈活的單選平臺(tái)烹骨,沒(méi)有加入Podfile配置文件的不會(huì)下載。 可以到項(xiàng)目 - Build Setting - Other linker flag 查看是否有多余的庫(kù)依賴材泄,確認(rèn)后刪除即可沮焕。

cocoapods library not found for -lPods

新版cocoapods1.0鏈接庫(kù)名稱為libPods-[target_name].a除秀,不再是libPods.a瘸羡,刪除libPods.a即可。

報(bào)錯(cuò)"not used in any concrete target"

Cocoapods1.0版本語(yǔ)法問(wèn)題,需改為

target '工程target名稱' do
    pod ‘cocoapods庫(kù)名'
end

以上工程target名稱需改為開(kāi)發(fā)者工程內(nèi)對(duì)應(yīng)的target名魁巩。

通過(guò)cocoapods集成Linkedin領(lǐng)英

linkedin會(huì)和Cocoapods產(chǎn)生鏈接時(shí)沖突

duplicate symbol _OBJC_CLASS_$_PodsDummy_Pods

可將Pod中的PodsDummy_Pods類名修改為_PodsDummy_Podsxx

8. QQ

分享網(wǎng)頁(yè)類型失敗source code 5

檢查url中是否含有中文字符急灭,將中文部分進(jìn)行url轉(zhuǎn)碼后可正常分享。

9. 微博

微博授權(quán)頁(yè)顯示sso package error

微博SSO錯(cuò)誤是項(xiàng)目的bundle id和在微博平臺(tái)bundle id設(shè)置的不一致導(dǎo)致的谷遂,必須保證字符完全匹配葬馋。

提示redirect_uri_mismatch

項(xiàng)目中設(shè)置的redirectURL和授權(quán)Request傳遞的回調(diào)地址(WBAuthorizeRequest.redirectURI-微博后臺(tái)設(shè)置)不一致導(dǎo)致的,必須保證字符完全匹配肾扰。 如

[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:@"3921700954"  appSecret:@"04b48b094faeb16683c32669824ebdad" redirectURL:@"http://sns.whalecloud.com/sina2/callback"];

以上redirectURL必須和微博后臺(tái)設(shè)置一致畴嘶。

彈出授權(quán)窗口后瞬間消失

兩個(gè)可能 1. bundle id不一致導(dǎo)致 2. 檢查info.plist文件里有沒(méi)添加加URL Types,在URL Schemes里填上wb+APPKEY集晚。

授權(quán)后沒(méi)有返回應(yīng)用

檢查info.plist里設(shè)置的URL Scheme是否正確窗悯,需要是wb+appkey的形式。

未安裝微博客戶端分享音樂(lè)偷拔、視頻的顯示問(wèn)題

目前微博分享不支持在未安裝微博客戶端時(shí)分享音樂(lè)蒋院、視頻類型的內(nèi)容。已安裝客戶端可在微博客戶端編輯頁(yè)正常顯示莲绰,發(fā)送后顯示狀態(tài)可參考上面的微博 LinkCard問(wèn)題欺旧。

微博(完整版)webview回調(diào)的崩潰

未安裝新浪微博客戶端時(shí)會(huì)彈出Webview進(jìn)行登錄和分享,之后會(huì)回調(diào)至以下函數(shù):

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

如果用戶沒(méi)有重載此函數(shù)的話钉蒲,會(huì)導(dǎo)致微博SDK通過(guò)Webview的回調(diào)而崩潰切端。 開(kāi)發(fā)者需重載此方法接受系統(tǒng)回調(diào)。

10. 支付寶

支付寶返回“-4”“鑒權(quán)失敗”

檢查bundle id是否和支付寶后臺(tái)配置的bundle id一致顷啼。

后記

本篇主要講述了UShare模塊之UShare常見(jiàn)問(wèn)題踏枣,感興趣的給個(gè)贊或者關(guān)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钙蒙,隨后出現(xiàn)的幾起案子茵瀑,更是在濱河造成了極大的恐慌,老刑警劉巖躬厌,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件马昨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡扛施,警方通過(guò)查閱死者的電腦和手機(jī)鸿捧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疙渣,“玉大人匙奴,你說(shuō)我怎么就攤上這事⊥螅” “怎么了泼菌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵谍肤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我哗伯,道長(zhǎng)荒揣,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任焊刹,我火速辦了婚禮系任,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伴澄。我一直安慰自己赋除,他們只是感情好阱缓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布非凌。 她就那樣靜靜地躺著,像睡著了一般荆针。 火紅的嫁衣襯著肌膚如雪敞嗡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天航背,我揣著相機(jī)與錄音喉悴,去河邊找鬼。 笑死玖媚,一個(gè)胖子當(dāng)著我的面吹牛箕肃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播今魔,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼勺像,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了错森?” 一聲冷哼從身側(cè)響起吟宦,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涩维,沒(méi)想到半個(gè)月后殃姓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓦阐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年蜗侈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睡蟋。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踏幻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出薄湿,到底是詐尸還是另有隱情叫倍,我是刑警寧澤偷卧,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站吆倦,受9級(jí)特大地震影響听诸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蚕泽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一晌梨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧须妻,春花似錦仔蝌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至绰更,卻和暖如春瞧挤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背儡湾。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工特恬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徐钠。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓癌刽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親尝丐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子显拜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容