IOS新浪微博开发--分享、授权登录
2014-07-19 11:40
399 查看
一、准被工作
1.注册成为开发者,创建应用项目,获取APPkey
2.添加 SDK 文件到工程
将从 GitHub 上下载的 libWeiboSDK 文件夹添加至工程,其中包含 WeiboSDK.h libWeiboSDK.a 和 WeiboSDK.bundle 三个文件。
在工程中引入静态库之后,需要在编译时添加 –objC 编译选项,避免静态库 中类加载 不全造成程序崩溃。方法:程序 Target->Buid Settings->Linking 下 Other Linker Flags 项添加-ObjC。
3.设置工程回调 URL Scheme
修改 info.plist 文件 URL types 项为自己的 sso 回调地址,”WB[你的应用程序的 Appkey]”,例如:wb204543436852
如图所示:
到此可进行分享的开发了
一、分享到新浪客户端开发
1. 在应用启动时注册新浪微博
代码如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode: YES];
[WeiboSDK registerApp:申请的AppKey];
return YES;
}
处理新浪返回时的回调来启动应用,并设置新浪微博sdk的代理方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
发送信息到微博即分享到微博,将如下代码放到你自己的发送信息的方法中
WBMessageObject *message = [WBMessageObject message];
if (content != nil){
message.text = content;
}
// 注意:图片和多媒体不能同时分享
// 图片分享
WBImageObject *image = [WBImageObject object];
UIImage *img = [UIImage imageNamed:@"你的图片名称"]
image.imageData = UIImagePNGRepresentation(img);
message.imageObject = imageObj;
//分享多媒体,数据对象类为WBBaseMediaObject
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
[WeiboSDK sendRequest:request];
新浪微博的代理方法
#pragma ----------------------- WeiboSDKDelegate -------------------
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request
{
if ([request isKindOfClass:WBProvideMessageForWeiboRequest.class]){
// 这个代理方法好像是在新浪微博的客户端来启用的应用,然后你的应用在提供分享信息 没有升入研究,有兴趣的可以试试
}
}
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
NSString *message = nil;
if ([response isKindOfClass:WBSendMessageToWeiboResponse.class]){
if (WeiboSDKResponseStatusCodeSuccess == response.statusCode) {
// 执行分享后的回调代理,就是分享后从新浪的客户端回到自己的应用会执行
}
}else if ([response isKindOfClass:WBAuthorizeResponse.class]){
WBAuthorizeResponse *authorizeResponse = (WBAuthorizeResponse *)response;
if (WeiboSDKResponseStatusCodeSuccess == authorizeResponse.statusCode) {
// 使用授权会调用 授权的开发情况下面
}
}
if (message != nil && ![@"" isEqualToString:message]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
message:message
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
}
}
二、sso授权登录开发
接下来我们说说授权登录的开发,首先,我们先要对开发进行一些设定。在 新浪的开发平台应用管理中心的设置
1. 设定授权回调页 (对应在客户端使用授权登录时,授权回调页时不需要设置的,默认时http://,它对应WBAuthorizeRequest类中的redirectURI,这个属性的值是不能为空的,如果设置了授权回调页,redirectURI必须也要一致,也就是说:在你的开发者中心设置授权回调页为http://www.xxxx.com,那么redirectURI的值也要是http://www.xxxx.com)
请在“我的应用 - 应用信息 - 高级信息”中填写您的应用回调页,这样才 能使 OAuth2.0 授权正常进行。如果您的 APPSECRET 发生泄露,您也可以通过 该页面中的重置按钮对其重置,
如下图所示:
2. 设定 Apple ID 和 Bundle ID (这个很重要,如果没有设置进行在授权时就时-100号的错误,Apple ID:就是你的当前的应用在AppStore上面的id号,可以找到)
请在“我的应用 - 应用信息 - 基本信息”中填写您的 Apple ID 和 Bundle ID,这样您的应用才能正常使用微博 IOS SDK 授权和回调。(更改设置有延时, 建议退出账号重新登录后再测试)
Apple ID查找 截图如下:
Bundle ID 需要和工程设置保证一致,在 XCODE5 下 Bundle 的截图如下:
1.注册成为开发者,创建应用项目,获取APPkey
2.添加 SDK 文件到工程
将从 GitHub 上下载的 libWeiboSDK 文件夹添加至工程,其中包含 WeiboSDK.h libWeiboSDK.a 和 WeiboSDK.bundle 三个文件。
在工程中引入静态库之后,需要在编译时添加 –objC 编译选项,避免静态库 中类加载 不全造成程序崩溃。方法:程序 Target->Buid Settings->Linking 下 Other Linker Flags 项添加-ObjC。
3.设置工程回调 URL Scheme
修改 info.plist 文件 URL types 项为自己的 sso 回调地址,”WB[你的应用程序的 Appkey]”,例如:wb204543436852
如图所示:
到此可进行分享的开发了
一、分享到新浪客户端开发
1. 在应用启动时注册新浪微博
代码如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode: YES];
[WeiboSDK registerApp:申请的AppKey];
return YES;
}
处理新浪返回时的回调来启动应用,并设置新浪微博sdk的代理方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
发送信息到微博即分享到微博,将如下代码放到你自己的发送信息的方法中
WBMessageObject *message = [WBMessageObject message];
if (content != nil){
message.text = content;
}
// 注意:图片和多媒体不能同时分享
// 图片分享
WBImageObject *image = [WBImageObject object];
UIImage *img = [UIImage imageNamed:@"你的图片名称"]
image.imageData = UIImagePNGRepresentation(img);
message.imageObject = imageObj;
//分享多媒体,数据对象类为WBBaseMediaObject
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
[WeiboSDK sendRequest:request];
新浪微博的代理方法
#pragma ----------------------- WeiboSDKDelegate -------------------
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request
{
if ([request isKindOfClass:WBProvideMessageForWeiboRequest.class]){
// 这个代理方法好像是在新浪微博的客户端来启用的应用,然后你的应用在提供分享信息 没有升入研究,有兴趣的可以试试
}
}
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
NSString *message = nil;
if ([response isKindOfClass:WBSendMessageToWeiboResponse.class]){
if (WeiboSDKResponseStatusCodeSuccess == response.statusCode) {
// 执行分享后的回调代理,就是分享后从新浪的客户端回到自己的应用会执行
}
}else if ([response isKindOfClass:WBAuthorizeResponse.class]){
WBAuthorizeResponse *authorizeResponse = (WBAuthorizeResponse *)response;
if (WeiboSDKResponseStatusCodeSuccess == authorizeResponse.statusCode) {
// 使用授权会调用 授权的开发情况下面
}
}
if (message != nil && ![@"" isEqualToString:message]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
message:message
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
}
}
二、sso授权登录开发
接下来我们说说授权登录的开发,首先,我们先要对开发进行一些设定。在 新浪的开发平台应用管理中心的设置
1. 设定授权回调页 (对应在客户端使用授权登录时,授权回调页时不需要设置的,默认时http://,它对应WBAuthorizeRequest类中的redirectURI,这个属性的值是不能为空的,如果设置了授权回调页,redirectURI必须也要一致,也就是说:在你的开发者中心设置授权回调页为http://www.xxxx.com,那么redirectURI的值也要是http://www.xxxx.com)
请在“我的应用 - 应用信息 - 高级信息”中填写您的应用回调页,这样才 能使 OAuth2.0 授权正常进行。如果您的 APPSECRET 发生泄露,您也可以通过 该页面中的重置按钮对其重置,
如下图所示:
2. 设定 Apple ID 和 Bundle ID (这个很重要,如果没有设置进行在授权时就时-100号的错误,Apple ID:就是你的当前的应用在AppStore上面的id号,可以找到)
请在“我的应用 - 应用信息 - 基本信息”中填写您的 Apple ID 和 Bundle ID,这样您的应用才能正常使用微博 IOS SDK 授权和回调。(更改设置有延时, 建议退出账号重新登录后再测试)
Apple ID查找 截图如下:
Bundle ID 需要和工程设置保证一致,在 XCODE5 下 Bundle 的截图如下:
相关文章推荐
- IOS新浪微博开发--分享、授权登录
- iOS开发集成友盟,新浪微博登录授权失败,responseCode等于5051
- Android开发全程记录(十)——使用新浪微博授权登录和分享注意事项
- 新浪微博开发接口_第三方登录(授权)/分享(发帖)
- IOS 分享新浪微博开发通知
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- 使用share SDK实现新浪微博授权登录分享(1.x版本)
- 【Android开发日记】 新浪微博API SSO授权 分享
- (droid分享)新浪微博开发系列【二】之授权
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- iOS 新浪微博分享授权失败的问题
- IOS开发——使用shareSDK授权新浪微博、腾讯微博、微信并获取用户资料
- iOS 分享新浪微博开发通知
- 【Android应用开发详解】实现第三方授权登录、分享以及获取用户资料
- iphone开发我的新浪微博客户端-用户登录OAuth授权认证篇(1.3)
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- Android实现新浪微博SSO授权登录分享文字图片等功能(WEIBO_ANDROID_SDK V2.3.0 )
- ShareSDK(iOS版)开发实践:自定义授权视图和分享视图导航栏