ios集成友盟第三方分享

前言

开发环境:xcode7+ios9
SDK:友盟社会化组件5.2版本,只选取新浪SDK做测试。
工程目录截图:

ios集成友盟第三方分享_第1张图片
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 ()

- (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就可以了

你可能感兴趣的:(ios集成友盟第三方分享)