Diplomat
1.0.0
統一第三方SDKs 的登入和分享介面。目前支援微信、 QQ 、微博。
PS: 其中除微博支援OAuth ,其它第三方只支援SSO ,需安裝對應的客戶端才能使用。
透過CocoaPods 安裝。
pod 'Diplomat'
選擇性安裝pod 'Diplomat/Wechat'
pod 'Diplomat/QQ'
導入需要使用的第三方SDK。
#import <Diplomat/WechatProxy.h>
#import <Diplomat/QQProxy.h>
使用
// 在 application:didFinishLaunchingWithOptions: 添加
[[Diplomat sharedInstance ] registerWithConfigurations: @{ kDiplomatTypeWechat : @{ kDiplomatAppIdKey : @" wxd930ea5d5a258f4f " ,
kDiplomatAppSecretKey : @" db426a9829e4b49a0dcac7b4162da6b6 " },
kDiplomatTypeQQ : @{ kDiplomatAppIdKey : @" 222222 " }}];
// 授权登录。
[[Diplomat sharedInstance ] authWithName: thirdPartyName
completed: ^( id result, NSError *error) {
// ...
}];
// 分享。
// Create DTMessage message ...
[[Diplomat sharedInstance ] share: message
name: thirdPartyName
completed: ^( id result, NSError *error) {
// ...
}];
userInfo 是用來攜帶額外的資訊。
微信分享場景的選擇:
DTMessage *message = DTMessage()
// ...
message.userInfo = @{ kWechatSceneTypeKey : @(WXSceneTimeline)}
// WXSceneTimeline: 朋友圈(默认)、WXSceneSession: 好友、WXSceneFavorite: 收藏。
透過Safari 分享到QZone (感謝@hi-guy 貢獻):
DTMessage *message = DTMessage()
// ...
message.userInfo = @{ kTencentQQSceneTypeKey : @(TencentSceneZone)}
// TencentSceneQQ: 通过 QQ 客户端分享(默认,包含了分享到 QZone 选项),
// TencentSceneZone: 通过 Safari 只分享到 QZone (有 QQ 客户端时不推荐使用)。