微博分享iOS实现

微博授权登录和分享 授权登录必须签名,签名和appid匹配,APPID可以写自己的 立即下载

SDK版本3.3.2 测试时间20220329

1.首先要有APPKey,这个不归我管,没有要自行申请

2.代码实现:

授权代码:假设类名是 WeiBoShare


+(void)WeiBoAuth
{
#ifdef DEBUG
    [WeiboSDK enableDebugMode:YES];
#endif
  
  if ([WeiboSDK isWeiboAppInstalled]) {
    NSLog(@"weibo installed");
  }
  else
  {
    NSLog(@"weibo not installed");
  }
  
  [WeiboSDK banGetIdfa:NO];  //不要获取IDFA
  
  [WeiboSDK registerApp:WeiBoAPPID universalLink:WeiBoUlink];  //UniversalLink跟申请微信的配置差不多,微博这边压根就没啥指导,可以去微信开放平台参考一下。
  
#ifdef DEBUG
//下面这行是测试是否已经连接成功。在打开app的时候可以看到连接图标,调用微博的。调通后不需要这句。
  [WeiboSDK checkUniversalLink:^(WBULCheckStep step, NSError * _Nullable error) {
    NSLog(@"111step=%ld error=%@",step,error);
  }];
#endif
    
}

在AppDelegate.m里面的didFinishLaunchingWithOptions函数调用:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   //----
    [WeiBoShare WeiBoAuth];
    //-----
}

需要实现的反馈函数(可以放AppDelegate.m,也可以指定Delegate):


- (void)didReceiveWeiboRequest:(WBBaseRequest *)request
{
  NSLog(@"return:%@",request);
}

- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
//从微博返回的一些信息,对于分享没多大意义
}

//回调需要考虑2种情况,例子简单,我都丢AppDeletege.m,注意 #import "WeiBoSDK.h"

//设置Universal Links系统回调
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
   return [WeiboSDK handleOpenUniversalLink:userActivity delegate:(id)self];
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{

   return [WeiboSDK handleOpenURL:url delegate:self];
}

分享网页:

-(void)shareWeiBo:(NSDictionary *)info
 {
    if (![WeiboSDK isWeiboAppInstalled]) {
        return;
    }
    if (![WeiboSDK isCanShareInWeiboAPP]) {
        return;
    }
    
    WBMessageObject *message = [WBMessageObject message];
    NSString *title = info[@"title"];
      NSString *desc = info[@"desc"];
      NSString *link = info[@"link"];
  
//听说WBWebpageObject没法用,到时候只能用这个text接口了,3.3.2版本还能用WBWebpageObject,只不过样式很挫。
  message.text = @""; //这里不填写,貌似跳不到微博编辑界面;
  
    NSString *thumb_str = info[@"thumb"];
    NSURL *thumb_url = [NSURL URLWithString:thumb_str];
    NSData *orgData = nil;
    if (thumb_url) {
        orgData = [NSData dataWithContentsOfURL:thumb_url];
    }
  WBWebpageObject *pageObj = [[WBWebpageObject alloc] init];
  pageObj.objectID = [NSString stringWithFormat:@"%lld",(long long)[NSDate date].timeIntervalSince1970*1000];
  pageObj.scheme = link;   //说是回调的网页,但是不知道啥用
  pageObj.title = title;
  pageObj.description = desc;
  pageObj.webpageUrl = link;  //这里很坑,说是弃用了,但是如果不传递参数就会报错。
  
  NSData *resData = orgData;   //32k限制,这里没写缩放图片的代码
  
  pageObj.thumbnailData = resData;
  
  // 图片分享
  //WBImageObject *imageObj = [WBImageObject object];
  //imageObj.imageData = resData;
  //message.imageObject = imageObj;
  
  message.mediaObject = pageObj;

    //分享多媒体,数据对象类为WBBaseMediaObject (已经弃用,不必实现这段代码)
  WBSendMessageToWeiboRequest *request =[WBSendMessageToWeiboRequest requestWithMessage:message];
  [WeiboSDK sendRequest:request completion:^(BOOL success) {
    NSLog(@"success=%@",success?@"true":@"false");
  }];
 }

见过微信SDK恨的牙痒痒,但是调通后用的还可以,但是微博分享SDK做的很差,这个啥功能都砍了,啥都要💰,另外让我对微博观感差的就是随意关联了个恶心的号到我手机号,还是被封杀了的,弄的我调试还得换新号,吐血三升。。。

最后关于info.plist设置:

这个版本不需要太多,只需要下面两个key上填点就搞定,NSAppTransportSecurity已经不需要配置。

	<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>sinaweibo</string>
		<string>sinaweibohd</string>
		<string>sinaweibosso</string>
		<string>sinaweibohdsso</string>
		<string>weibosdk</string>
		<string>weibosdk2.5</string>
		<string>weibosdk3.3</string>
	</array>
	
	
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLName</key>
			<string>weibo</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>wb{微博APPID}</string>
			</array>
		</dict>
	</array>

20220330更新:

WBWebpageObject目测太挫了,还是用文字+图片的形式更帅气。

//.....      前省略。。。
      message.text = [NSString stringWithFormat:@"%@\n%@\n%@",title,desc,link];
      WBImageObject *imageObj = [WBImageObject object];
      imageObj.imageData = orgData;
      imageObj.delegate = (id)self;
      message.imageObject = imageObj;
//.....

iOS 新浪微博分享 对于新浪微博分享,里面有详细的文档介绍 立即下载

相关推荐

完整的iOS新浪微博分享功能开发

主要为大家详细介绍了较为完整的iOS新浪微博分享功能开发的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

android打不开ios分享微博,iOS 新浪微博方法[WeiboSDK registerApp:K_SINA_APP_KEY]; 崩溃解决办法...

今天适配iOS9一些显示问题,给测试同事打的第一个没问题安装成功了,同事测出来一Bug我改了一下,再打包就安装不上了,于是真机了一下,发现崩溃如下:* thread #1: tid = 0xe03ea, 0x00000001002751e4UBoxOnline`wbsdkjk_encode_add_atom_to_buffer(encodeState=0x00000001030c4000,obje...

weixin_30516835的博客 430

51雾化器实现

1. 雾化器简介 雾化器是将试液雾化的一种器械。雾化器是原子化系统的重要部件,其性能对测定的精密度和化学干扰等产生显著影响。因此要求雾化器喷雾稳定、雾滴细小、均匀和雾化效率高。雾化器的类型有超声雾化器,空气压缩式雾化器,网式雾化器。超声雾化器因其价格合适,适合家用,被广泛应用于加湿器,香薰机等各种小家电,也在医疗领域有很多的应用。家用雾化器的主要器件是一枚雾化片。 家用雾化器分为两种不同类别雾化片,实孔雾化片和微孔雾化片,这两种的喷雾方法和工作原理是有所不同的。不同的雾化片需要特定的频率才能工作。 实孔雾

qq_42415953的博客 2万+

iOS ShareSDK 分享到新浪微博

第一步:在targets->info->url types中添加一项,命名为wb+appid(到官网开放平台去申请) 第二步:写一个分享功能类 // 省略头文件 @interface HYBShareSDKHelper : NSObject + (void)registerShareSDK; + (BOOL)handleOpenURL...

weixin_34297300的博客 179

从零配置EtherCAT IGH主站:手把手教你处理内核版本与实时性优化的那些坑

本文详细指导如何从零配置EtherCAT IGH主站,涵盖内核版本适配、实时性优化及常见问题解决方案。通过精确匹配内核头文件、应用实时补丁和优化网卡驱动,帮助开发者实现微秒级响应,适用于工业自动化、机器人控制等高精度场景。

weixin_30790841的博客 382

Argoverse数据集可视化/Argoverse-api

argoverse可视化,argoverse-api配制方法

learning_man的博客 9560

IOS Universal Link (通用链接)配置和使用

Universal Link 是 iOS9 推出的一项功能,使你的应用(微信,微博等)可以通过传统的HTTPS链接来启动APP,而不是使用 scheme 的方式。 如何理解Universal Link(通用链接) Universal Link(通用链接):看起来就是一条普通的https链接,当然是我们在该链接域名根目录配置过的一个链接,也可以在该链接中放置对应的H5页面。当用户的点击该链接,只要手机中安装了支持该链接的APP就会直接进入到APP中。如果没有安装APP...

周为的博客 1万+

Ubuntu22.04如何安装cuDNN8.9.7

本文详细介绍了在Ubuntu 22.04系统上为CUDA 12.2安装适配cuDNN 8.9.7的完整流程,特别针对RTX A6000显卡。主要内容包括:1)选择与CUDA 12.2兼容的cuDNN版本;2)使用deb包方式的安装步骤(添加仓库、导入密钥、安装组件);3)通过MNIST示例验证安装;4)版本锁定、卸载旧版等补充说明;5)性能测试方法。文中强调了版本匹配的重要性,并提供了多卡配置建议,为搭建深度学习开发环境提供完整指导。

2501_93651177的博客 1845

iOS第三方微博分享与集成文档

注:第三方登录与第三方分享所用的SDK包是同一个 利用Mob官网下载所用SDK与其中的集成文档 Mob官网:http://www.mob.com 进入官网之后注册,注册成功并且登陆 选择到开发者服务点击ShareSDK下载SDK包 找到iOS版本的ShareSDK包选择下载 选择所用的社交平台并保存配置 这样我们就下载好了分享(登录)的SDK 再到文档中心ShareSDK选...

ZzWei_01的博客 2245

手把手教你学Simulink——基于Simulink的无迹卡尔曼滤波(UKF)控制仿真建模示例

本文详细介绍了在Simulink中实现无迹卡尔曼滤波(UKF)控制倒立单摆系统的完整过程。通过对比扩展卡尔曼滤波(EKF),重点阐述了UKF在处理强非线性系统时的优势:采用无迹变换(UT)通过确定性采样捕捉非线性特性,精度可达三阶泰勒展开且无需计算雅可比矩阵。文章分步骤讲解了状态空间定义、UKF参数设计、Simulink实现方法,以及结合LQR控制器的闭环系统搭建,并通过仿真验证UKF在大角度偏移情况下具有更优的估计精度和控制性能。最后还讨论了工程实践要点和扩展方向,为非线性系统控制提供了实用解决方案。

MHD0815的博客 96

ESP32-C3入门教程 蓝牙篇①——基于Blufi 的 WiFi 智能配网

文章目录一、前言二、WiFi配网方式三、快速运行四、运行效果五、ESP32-C3程序流程5.1 主程序5.2 回调函数5.3 SmartConfig线程5.4 流程图六、关键函数6.1 设置SmartConfig的协议类型6.2 启动SmartConfig6.3 停止SmartConfig七、其他八、参考 一、前言 本文基于VS Code IDE进行编程、编译、下载、运行等操作 基础知识点请查阅:ESP32-C3入门教程 基础篇①——基于VS Code构建Hello World 二、WiFi配网方式 W

7764

iOS开发之第三方分享微博分享、微博分享失败原因总结,史上最新最全第三方分享微博方式实现。 微博分享各种坑总结

本篇文章项目demo:点击打开链接https://github.com/zhonggaorong/weiboSDKDemo 微博环境的相关搭建,请参照我的这篇博客 : http://blog.youkuaiyun.com/zhonggaorong/article/details/51724810 1. 分享的前提也是您是微博的开发者了,有了对应的appid app,还有回调地址。

zhonggaorong的专栏 1万+

华为OD机试真题 新系统2026-04-15 Python&JS 实现【失灵的键盘】

有一个键盘有2个按键失灵了,按下这些键时会连续输出其他键对应的字符两次。具体如下: 1. 按下j键一次,屏幕上显示uu(两个连续的u);  按下b键一次,屏幕上显示t(两个连续的t) 2. u键和t键是好的,按下u键一次时,屏幕只会显示一次u(正常按键);按下t键一次时,屏幕只会显示一次t(正常按键) 3. 假定屏幕上连续显示两个t一定是按了一次b键,而不是两次t键;假定按键t之后不会紧接着按键b,即tttt转义为两个b,而不可能是tb

MISAYAONE的博客 523

iOS 友盟微博分享文字+图片+链接实现

iOS 友盟微博分享文字+图片+链接实现 一、问题描述: 项目中分享集成的是友盟,但是在微博分享的时候,只是出现文字+图片,链接没有分享出去。这是最近入职接手公司项目测试提交的一个bug。对于这个bug,上网找了些资料。配合自己的测试,这边也算是解决了这个“文字+图片+链接”的分享模式。 二、实现代码: 实现原理: 将要的分享链接url,拼接到分享的内容中。/* *字段说明

程序员日常记录 5655

NVIDIA Jetson之远程控制软件NoMachine安装使用

参考:https://www.bilibili.com/video/BV1cg4y1i776?t=12 0 背景

ZONGXP的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微博接入指南:使用weibo_kit进行 Flutter 中的微博集成

微博接入指南:使用weibo_kit进行 Flutter 中的微博集成 项目介绍 weibo_kit 是一个强大的 Flutter 插件,它允许开发者轻松地在他们的 Flutter 应用中实现原生的 Android 和 iOS 微博认证与分享功能。该插件确保跨平台的一致性,并且支持最新的 Null Safety 特性,使得在多版本的 Dart 和 Flutter 环境下也能稳定运行。通过这个插件,...

gitblog_00686的博客 611

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IOS如何实现分享到微博的功能

http://getsharekit.com/install ShareKit是iPhone开发的第三方接口,允许你一键分享文字,图片,网址,文件到facebook,twitter,delicious,tumblr,google reader等第三方的网站。 参考:http://www.cnblogs.com/chu888chu888/archive/2011/11/18/2254571.ht...

weixin_34380948的博客 339

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iOS UIActivityViewController 实现微信微博等等的分享功能

mark一下 https://github.com/nixzhu/dev-blog/blob/master/2014-04-22-ui-activity-viewcontroller.md

夏天然后的技术专栏 4720

ios学习:swift中实现分享到微博、facebook,twitter等

在swift中打开分享功能原来是如此的简单。 1、首先需要  import Social 2、在分享按钮事件下面 var controller:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeSinaWeibo) controller.setInitialText(

蜜友的博客 2856

iOS 微博如何实现添加多个bundle 分享

在新浪微博开放平台中 ---- 》 我的应用-- 》 应用信息--- 》 应用基本信息中 可以查看到开发者可以添加多个bundle ,在会改动项目的bundle的情况下,可以在此修改及添加达到满足开发需求 转载于:https://www.cnblogs.com/zero-zql/p/4826301.html...

weixin_30648963的博客 131

使用 iOS6 自带的 social.framework 实现分享文字图片等到新浪微博,twitter,

因为写了一个把文字转为图片的长微博工具app,准备添加新功能,使其可以方便分享到新浪和twitter等社交网站,于是就看了下那些第三方库。 首先就是ShareKit. ShareKit刚开始感觉不错,但是因为是很久前写的,用了很多deprecated的methods,而且不是ARC的。追求大而全,所以感觉很臃肿,而且原作者不再开发了,其他人写的使用这个库的demo我下载下来不知怎么都有错,就

CC的专栏 545

ios新浪微博分享

做新浪分享 需先去http://open.weibo.com/apps注册开发者app 很简单! 1 2 3设置你的应用的信息 找到自己的appkey 还需要设置自己的kAppRedirectURL 测试可以随便写个!

xiaotou1991的专栏 1139

iOS之OC使用原生控件实现分享到QQ、微信、短信、微博等的两种方法

现在任何一款APP都离不开“分享”,产品设计可能是觉得有分享能更好的推广自己的产品吧。。。 一种是使用UIActivityViewController, 另外一种是使用Social框架中的SLComposeViewController 一、UIActivityViewController 优缺点: /**  优点:使用简单、不用注册繁杂的分享平台账号、不用导入臃肿的SDK包  缺点

启程的博客 7980

iOS 微博简单分享

一、先建立Xc

itpeng523的专栏 5354
上一篇: 一句话让Ubuntu的界面消失了
下一篇: PDF之OCProperties
狼风123
博客等级 码龄19年 1058粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值