ï¼1ï¼å®æ¹ä¸è½½ShareSDK iOS 2.8.8
ï¼2ï¼æ ¹æ®å®é æ åµï¼å¼å ¥ç¸å ³çåºï¼åè宿¹ææ¡£ã
ï¼3ï¼å¨é¡¹ç®çAppDelegateä¸ä¸è¬æ åµä¸æä¸ä¸ªæä½ï¼ç¬¬ä¸æ¯æ³¨åShareSDKï¼ç¬¬äºæ¯æ³¨åå个平å°çè´¦å·ï¼ç¬¬ä¸æ¯å ³äºå¾®ä¿¡çåºç¨çåè°å¤çã
ï¼4ï¼ä¿¡æ¯å享ã
-(IBAction)share:(id)sender{
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"card" ofType:@"png"];
//æé å享å 容
id<ISSContent> publishContent = [ShareSDK content:@"å享å 容æµè¯"
defaultContent:@"é»è®¤å享å 容æµè¯ï¼æ²¡å å®¹æ¶æ¾ç¤º"
image:[ShareSDK imageWithPath:imagePath]
title:@"pmmq"
url:@"http://www.sharesdk.cn"
description:@"è¿æ¯ä¸æ¡æµè¯ä¿¡æ¯"
mediaType:SSPublishContentMediaTypeNews];
[ShareSDK showShareActionSheet:nil
shareList:nil
content:publishContent
statusBarTips:YES
authOptions:nil
shareOptions: nil
result:^(ShareType type, SSResponseState state, id<ISSPlatformShareInfo> statusInfo, id<ICMErrorInfo> error, BOOL end) {
if (state == SSResponseStateSuccess)
{
NSLog(@"å享æå");
}
else if (state == SSResponseStateFail)
{
NSLog(@"å享失败");
}
}];
}
ï¼5ï¼ç»å½ãç»åºãè·åææä¿¡æ¯ãå ³æ³¨å¶å®å¾®å
//
// LoginViewController.m
// ShareSDKTest
//
// Created by wangdalei on 14-6-23.
// Copyright (c) 2014å¹´ ç大é·. All rights reserved.
//
#import "LoginViewController.h"
#import <ShareSDK/ShareSDK.h>
@interface LoginViewController ()
-(IBAction)loginWithSina:(id)sender;
-(IBAction)loginWithQQ:(id)sender;
-(IBAction)loginoutWithSina:(id)sender;
-(IBAction)loginoutWithQQ:(id)sender;
-(IBAction)guanzhuUs:(id)sender;
-(void)reloadStateWithType:(ShareType)type;
@end
@implementation LoginViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (IBAction)loginWithSina:(id)sender {
[ShareSDK getUserInfoWithType:ShareTypeSinaWeibo authOptions:nil result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
NSLog(@"%d",result);
if (result) {
//æåç»å½åï¼å¤æè¯¥ç¨æ·çIDæ¯å¦å¨èªå·±çæ°æ®åºä¸ã
//妿æç´æ¥ç»å½ï¼æ²¡æå°±å°è¯¥ç¨æ·çIDåç¸å ³èµæå¨æ°æ®åºä¸å建æ°ç¨æ·ã
[self reloadStateWithType:ShareTypeSinaWeibo];
}
}];
}
-(IBAction)loginWithQQ:(id)sender{
[ShareSDK getUserInfoWithType:ShareTypeQQSpace authOptions:nil result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
NSLog(@"%d",result);
if (result) {
//æåç»å½åï¼å¤æè¯¥ç¨æ·çIDæ¯å¦å¨èªå·±çæ°æ®åºä¸ã
//妿æç´æ¥ç»å½ï¼æ²¡æå°±å°è¯¥ç¨æ·çIDåç¸å ³èµæå¨æ°æ®åºä¸å建æ°ç¨æ·ã
[self reloadStateWithType:ShareTypeQQSpace];
}
}];
}
-(IBAction)loginoutWithSina:(id)sender{
[ShareSDK cancelAuthWithType:ShareTypeSinaWeibo];
[self reloadStateWithType:ShareTypeSinaWeibo];
}
-(IBAction)loginoutWithQQ:(id)sender{
[ShareSDK cancelAuthWithType:ShareTypeQQSpace];
[self reloadStateWithType:ShareTypeQQSpace];
}
-(void)reloadStateWithType:(ShareType)type{
//ç°å®ææä¿¡æ¯ï¼å æ¬ææIDãæææææçã
//æ¤å¤å¯ä»¥å¨ç¨æ·è¿å ¥åºç¨çæ¶åç´æ¥è°ç¨ï¼å¦ææä¿¡æ¯ä¸ä¸ºç©ºä¸ä¸è¿æå¯å¸®ç¨æ·èªå¨å®ç°ç»å½ã
id<ISSPlatformCredential> credential = [ShareSDK getCredentialWithType:type];
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"TEXT_TIPS", @"æç¤º")
message:[NSString stringWithFormat:
@"uid = %@\ntoken = %@\nsecret = %@\n expired = %@\nextInfo = %@",
[credential uid],
[credential token],
[credential secret],
[credential expired],
[credential extInfo]]
delegate:nil
cancelButtonTitle:NSLocalizedString(@"TEXT_KNOW", @"ç¥éäº")
otherButtonTitles:nil];
[alertView show];
}
//å ³æ³¨ç¨æ·
-(IBAction)guanzhuUs:(id)sender{
[ShareSDK followUserWithType:ShareTypeSinaWeibo //å¹³å°ç±»å
field:@"ShareSDK" //å ³æ³¨ç¨æ·çåç§°æID
fieldType:SSUserFieldTypeName //åæ®µç±»åï¼ç¨äºæå®ç¬¬äºä¸ªåæ°æ¯åç§°è¿æ¯ID
authOptions:nil //ææé项
viewDelegate:nil //ææè§å¾å§æ
result:^(SSResponseState state, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
if (state == SSResponseStateSuccess) {
NSLog(@"å ³æ³¨æå");
} else if (state == SSResponseStateFail) {
NSLog(@"%@", [NSString stringWithFormat:@"å ³æ³¨å¤±è´¥:%@", error.errorDescription]);
}
}];
}
@end
ï¼5ï¼ä½ å¯è½ä¼çå°ä¸äºåºç¨éè¦ç¬¬ä¸æ¹ç»å½çï¼ä¸ç§æ¯å¼¹åºwebViewå è½½çæ°æµªå¾®åæè qqçç½é¡µææï¼è¿æä¸ç§æ¯è·³è½¬å°æ¬å°çå·²ç»å®è£ çæ°æµªå¾®ååºç¨æè qqåºç¨è¿è¡ææã第äºç§æææ¹å¼è¾SSOææï¼ä½éªä¼æ¯è¾å¥½ä¸äºï¼å 为ä¸éè¦ç¨æ·è¾å ¥æ°æµªå¾®åæQQçç¨æ·åä¸å¯ç ã
第äºç§æææ¹å¼éè¦å¨plistä¸é ç½®SchemeãSSOé»è®¤æ¯æå¼çä¸éè¦é ç½®ãå¨AppDelegateä¸å®ç°åè°ã