1、打開友盟官網(wǎng)
http://www.umeng.com/
注冊開發(fā)者賬號
2、添加新應用
打開
http://mobile.umeng.com/apps/new
這里很簡單的,你按照要求設置然后點擊“提交并獲取AppKey”
3、我這里是通過CocoaPods來安裝友盟第三方庫的
還沒安裝的建議你安裝,github上面的很多開源庫都是基于CocoaPods的,掌握這個事半功倍。
在Pods項目下面找到Prodfile文件,打開并輸入:pod 'UMengSocial'
然后點擊Install
彈出如下提示,請點擊Yes
打開后再在AppDelegate中導入
#import"UMSocialSinaSSOHandler.h"
輸入UM可能沒有提示
在Build Settings 下面找到User Header Search Paths 輸入紅框中的內(nèi)容
并且選擇recursive,這樣就能模糊查找該目錄下面的所有.h文件了
4、登陸新浪微博開發(fā)者中心
創(chuàng)建移動應用
注意下圖的Apple ID 可以隨便填寫,因為你的app還沒有上線是沒有Apple ID的
因為你暫時這是用來測試可以不用提交審核。
然后點擊我的應用,點擊進入你剛才添加的應用對其進行管理
授權回調(diào)頁、取消授權回調(diào)頁都輸入
http://sns.whalecloud.com/sina2/callback?
添加測試賬號
5、配置相關信息
a、大部分社交平臺SDK不支持bitcode,請將bitcode修改為NO
不修改就會報這個錯誤:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
問題描述:在iOS 9下涉及到平臺客戶端跳轉,系統(tǒng)會自動到項目info.plist下檢測是否設置平臺Scheme。對于需要配置的平臺,如果沒有配置,就無法正常跳轉平臺客戶端。因此要支持客戶端的分享和授權等,需要配置Scheme名單。
下面的配置信息是給微信、微博、qq、支付寶添加白名單,請將其加入到info.plist
不知道為什么這個粘貼后格式就不對了,所以就放張圖片了,或者你們百度搜索下
c、Other Linker Flags 請?zhí)砑?all_load
不然就會報著錯誤:
[NSConcreteMutableData wbsdk_base64EncodedString]: unrecognized selector sent to instance 0x12f6f4f80
d、info.plist文件需加入如下代碼
NSAppTransportSecurity
NSAllowsArbitraryLoads
e、配置URL Schemes為:wb+AppKey
6、代碼實現(xiàn)新浪微博登陸
打開APPDelegate導入如下:
#import"UMSocialSinaSSOHandler.h"
#import"UMSocial.h"
在- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 中寫入如下代碼:
```
[UMSocialDatasetAppKey:@"友盟創(chuàng)建應用的AppKey"];
//設置新浪微博AppId、appSecret,分享url
[UMSocialSinaSSOHandler
openNewSinaSSOWithAppKey:@"微博創(chuàng)建應用的AppKey"http:// sina ID
secret:@"微博創(chuàng)建應用的secret"http:// sina
// secret
RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
```
?APPDelegate中重寫如下方法
/**
這里處理新浪微博SSO授權之后跳轉回來,和微信分享完成之后跳轉回來
*/
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url {
return[UMSocialSnsServicehandleOpenURL:url];
}
/**
這里處理新浪微博SSO授權進入新浪微博客戶端后進入后臺,再返回原來應用
*/
- (void)applicationDidBecomeActive:(UIApplication*)application
{
[UMSocialSnsServiceapplicationDidBecomeActive];
}
在按鈕事件寫入如下代碼
UMSocialSnsPlatform*snsPlatform =
[UMSocialSnsPlatformManagergetSocialPlatformWithName:UMShareToSina]; snsPlatform.loginClickHandler(self,[UMSocialControllerService
defaultControllerService],YES,^(UMSocialResponseEntity*response){
//獲取微博用戶名、uid、token等
if(response.responseCode==UMSResponseCodeSuccess) {
NSDictionary*dict = [UMSocialAccountManagersocialAccountDictionary];
UMSocialAccountEntity*snsAccount =[[UMSocialAccountManagersocialAccountDictionary]valueForKey:snsPlatform.platformName];
NSLog(@"\nusername = %@,\n usid =%@,\n token = %@ iconUrl = %@,\n unionId = %@, message =%@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL,snsAccount.unionId, response.message);
}});
ok完成了,運行起來,不能再模擬器中測試,只能真機調(diào)試
發(fā)了點時間整理的,如果對你有幫助,就點擊下面的紅色心吧,給我贊哦,多謝支持!!!!
最后祝大家成功實現(xiàn)!!!!!!!!