集成友盟分享
1. 如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它。
如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击**添加新应用**,填写完应用基本信息后,将进入"下载SDK并添加代码"页面,此页面即可得到Appkey。
2. 下载SDK
根据需要分享的平台,选择下载,将会得到2个文件夹“UMSocial_Sdk_4.2.3”和“UMSocial_Sdk_Extra_Frameworks”。
前者为SDK包,后者扩展包,主要用途为当你点击微信分享时会跳转到微信应用授权。
3. Xcode创建工程,将以上两个文件夹及文件拖进去,点击
4.在"AppDelegate.m"文件中添加以下两个头文件。
#import "UMSocial.h"
#import "UMSocialWechatHandler.h"
5.在didFinishLaunchingWithOptions中添加AppKey,并在URL Types中以“微信”+AppKey的方式设置Schemes,将用于程序分享后跳回原来的程序时用到。
只用微信的为举例,如果添加其他平台,同样的道理添加。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//设置友盟分享的秘钥
[UMSocialData setAppKey:@"558b65a167e58e64dc0051a1"];
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wx558b65a167e58e64dc0051a1" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
return YES;
}
并在AppDelegate.m中重写以下方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
<pre name="code" class="objc"> return [UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [UMSocialSnsService handleOpenURL:url];
}
6. 添加SDK依赖的系统库文件。
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
7.调用分享方法,传入分享内容,测试代码为当点击屏幕时弹出分享窗口
<pre name="code" class="objc">- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/**
* presentSnsIconSheetView:呈现在哪个View上
* appKey:申请的AppKey
* shareText:分享的文字信息
* shareImage:分享的图片信息
* shareToSnsNames:分享到哪些平台上
* delegate:代理
*/
[UMSocialSnsService presentSnsIconSheetView:self appKey:@"558b65a167e58e64dc0051a1" shareText:@"未来科技app好牛逼的样子" shareImage:[UIImage imageNamed:@"yifu.jpg"] shareToSnsNames:[NSArray arrayWithObjects:UMShareToWechatSession,UMShareToQQ,UMShareToWechatFavorite,UMShareToQQ,UMShareToSina, nil] delegate:nil];
}
8.运行结果