前言:記錄一下接入微信登錄的過程中可能遇到的問題
如果是出現明明已經安裝了微信但是顯示出來的是沒有安裝微信,可能出現的問題的地方有:
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.....
參考網址:
http://blog.csdn.net/zhonggaorong/article/details/51719050
iOS交流群歡迎你的加入!
群二維碼:
先寫到這么多
如有問題,敬請指正;
如需轉載,請注明出處,謝謝!