iOS接入微信登錄可能遇到的問題


前言:記錄一下接入微信登錄的過程中可能遇到的問題

  如果是出現明明已經安裝了微信但是顯示出來的是沒有安裝微信,可能出現的問題的地方有:

  1.TARGETS->Info->URL Types處申請的appid是否填寫對了;

  2.檢查Info.plist文件中是否添加了LSApplicationQueriesSchemes 子項的weixin;

如果沒有配置,這種一般都是會有相應的日志文件的提示 -canOpenURL: failed for URL: "weixin://app/wxd930ea5d5a258f4f/" - error: "This app is not allowed to query for scheme weixin"

  3.在AppDelegate.m或者是你的項目的啟動的代理.m文件中,注冊微信的appid的地方盡量寫在比較靠前的位置(這個在測試Demo的過程中,真的可能導致檢測是否安裝微信有誤);[WXApi registerApp:@"wxd930ea5d5a258f4f"]; 這句話盡量寫得靠前些。  這里我用的appid是官方提供的做的展示。其實這種初始化第三方SDK需要時間的情況,以前接入直播相關的SDK的時候也有遇到過類似的問題。當時還導致過播放的內容只有聲音沒有畫面的問題

  后續的內容可能遇到的問題

1.注意代理設置 協議遵守 實現代理方法等等這些可能也會有所忽略點

2.注意相應的接口的使用,要理解清楚所需傳入的參數,請求的地址,請求的方法等等

  比如說:這個grant_type的填寫authorization_code 指的是讓你填寫這個字符串在Get請求的urlString那里,而不是平台給你的某些變量信息

grant_type

填authorization_code

舉例子這部分授權的Get請求的URLString是這樣的:

 NSString *wechatAuthStr = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code",kWechatAuthOpenID,wechatAuthCodeString,kWechatAppSecretStr];

 

3.還有在進行Get請求的時候如果是使用的AFNetWorking中的AFHTTPSessionManager的話,manager的默認的是這樣的

manager.responseSerializer.acceptableContentTypes

{(

    "application/json",

    "text/json",

    "text/javascript"

)}

在做相應的請求的時候需要添加上"text/plain"否則報錯如下:

Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/plain.....

 

 

參考網址:

iOS微信接入指南

移動應用微信登錄開發指南

授權后接口調用(UnionID)

http://blog.csdn.net/zhonggaorong/article/details/51719050

 

iOS交流群歡迎你的加入!

群二維碼:

先寫到這么多

如有問題,敬請指正;

如需轉載,請注明出處,謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM