前言
开发环境:xcode7+ios9
SDK:友盟社会化组件5.2版本,只选取新浪SDK做测试。
工程目录截图:
1A0FD519-9911-4149-9C19-84347DBF74EC.png
恢复友盟的工程
1.新建工程,适配ios9
需要在Build Setting中将Enable bitcode关闭,或设置编译标识ENABLE_BITCODE=NO。
在右键info.plist用source code打开,info.plist中复制粘贴以下链接中的代码
三段代码参考,http://dev.umeng.com/social/ios/ios9
2.导入依赖库
3.导入SDK
4.修改路径
392608FF-1100-43D5-AA8F-F5B617F5A904.png
不然会出现找不到头文件的错误。
5.完整工程代码:
AppDelegate.m文件
#import "AppDelegate.h"
#import "UMSocial.h"
#import "UMSocialSinaSSOHandler.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[UMSocialData setAppKey:@"507fcab25270157b37000010"];
//打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"3921700954"
secret:@"04b48b094faeb16683c32669824ebdad"
RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
[UMSocialData openLog:YES];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
}
return result;
}
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
{
//得到分享到的平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
}
}
@end
ViewController.m文件
#import "ViewController.h"
#import "UMSocial.h"
@interface ViewController ()<UMSocialUIDelegate>
- (IBAction)shareClick:(id)sender;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)shareClick:(id)sender {
[UMSocialData defaultData].extConfig.title = @"分享的title";
[UMSocialData defaultData].extConfig.qqData.url = @"http://baidu.com";
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"507fcab25270157b37000010"
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,http://umeng.com/social"
shareImage:[UIImage imageNamed:@"icon"]
shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToSina]
delegate:self];
}
@end
注:添加一个按钮,并且关联以上代码中的按钮事件。
遇到问题:
1.NSConcreteMutableData wbsdk_base64EncodedString错误
解决:在Other Linker Flags 中添加-ObjC就可以了