ios 从微信返回自己的app
有这样一个需求。从我们自己的app分享内容到微信。点击分享内容返回到我们自己的app。(新浪微博的内容分享到微信就是这样的)
前面一直百度,谷歌都没用。可能我用的方法跟他们不一样吧。而且他们的方法都比较老了。2012、13年左右
方法就是用url sheames 然后告诉微信我这个openurl是注册了协议的。你点击之后跳转来我的app。 我不知道我这样理解对还是不对。
但意思大概就是这样的。
结果看了这些帖子。问题之后,我越做越没有头绪。怎么弄都没有返回到我自己的app。
后来直接不看了,到微信开发官网看文档去。结果收获满满。(微信接入指南)
我下载了微信开发官网的demo。然后打开试了各种类型的发送消息给微信
最后锁定了一个发送app消息给微信。这就是我要的效果和新浪微博一样的效果。
#define BUFFER_SIZE 1024 * 100
- (void) sendAppContent
{
WXMediaMessage *message = [WXMediaMessage message];
message.title = @"App消息";
message.description = @"这种消息只有App自己才能理解,由App指定打开方式!";
[message setThumbImage:[UIImage imageNamed:@"res2.jpg"]]; WXAppExtendObject *ext = [WXAppExtendObject object];
ext.extInfo = @"<xml>extend info</xml>";
ext.url = @"http://www.qq.com"; Byte* pBuffer = (Byte *)malloc(BUFFER_SIZE);
memset(pBuffer, 0, BUFFER_SIZE);
NSData* data = [NSData dataWithBytes:pBuffer length:BUFFER_SIZE];
free(pBuffer); ext.fileData = data; message.mediaObject = ext; SendMessageToWXReq* req = [[[SendMessageToWXReq alloc] init]autorelease];
req.bText = NO;
req.message = message;
req.scene = _scene; [WXApi sendReq:req]; }
这些类都有注释,有介绍的
/*! @brief 多媒体消息结构体
*
* 用于微信终端和第三方程序之间传递消息的多媒体消息内容
*/
@interface WXMediaMessage : NSObject
+(WXMediaMessage *) message; /** 标题
* @note 长度不能超过512字节
*/
@property (nonatomic, retain) NSString *title;
/** 描述内容
* @note 长度不能超过1K
*/
@property (nonatomic, retain) NSString *description;
/** 缩略图数据
* @note 大小不能超过32K
*/
@property (nonatomic, retain) NSData *thumbData;
/** todo
* @note 长度不能超过64字节
*/
@property (nonatomic, retain) NSString *mediaTagName;
/**
*
*/
@property (nonatomic, retain) NSString *messageExt;
@property (nonatomic, retain) NSString *messageAction;
/** 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。 */
@property (nonatomic, retain) id mediaObject;
/*! @brief 多媒体消息中包含的App扩展数据对象
*
* 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息,
* 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
* @note url,extInfo和fileData不能同时为空
* @see WXMediaMessage
*/
@interface WXAppExtendObject : NSObject
/*! @brief 返回一个WXAppExtendObject对象
*
* @note 返回的WXAppExtendObject对象是自动释放的
*/
+(WXAppExtendObject *) object; /** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
* @note 长度不能超过10K
*/
@property (nonatomic, retain) NSString *url;
/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
* @note 长度不能超过2K
*/
@property (nonatomic, retain) NSString *extInfo;
/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
* @note 大小不能超过10M
*/
@property (nonatomic, retain) NSData *fileData; @end
/*! @brief 第三方程序发送消息至微信终端程序的消息结构体
*
* 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息,
* 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。
* @see SendMessageToWXResp
*/
@interface SendMessageToWXReq : BaseReq
/** 发送消息的文本内容
* @note 文本长度必须大于0且小于10K
*/
@property (nonatomic, retain) NSString* text;
/** 发送消息的多媒体内容
* @see WXMediaMessage
*/
@property (nonatomic, retain) WXMediaMessage* message;
/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
@property (nonatomic, assign) BOOL bText; /** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。
* @see WXScene
*/
@property (nonatomic, assign) int scene; @end
从上到下的类介绍
WXMediaMessage,
WXAppExtendObject,
SendMessageToWXReq
最后调用微信的发生方法。发生消息给微信。
在微信聊天界面是这样的。 如果是自己发生的,在消息的左上角有一个箭头(对方发的在右上角)
这样的消息叫应用消息。是不是跟分享一样啊,点击就可以返回到自己的app了。
ios 从微信返回自己的app的更多相关文章
- ios下微信浏览器如何唤醒app?app已上架应用宝
android下可以通过在应用宝微下载地址后面加参数&android_schema='应用schema'来实现,ios下如何实现? ios下微信浏览器如何唤醒app?app已上架应用宝 > ...
- iOS/Android 浏览器(h5)及微信中唤起本地APP
在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题: ...
- 微信团队分享:iOS版微信是如何防止特殊字符导致的炸群、APP崩溃的?
本文来自微信开发团队yanyang的技术分享. 1.引言 相信大家都遇到过一段特殊文本可以让iOS设备所有app闪退的经历.前段时间大年初一,又出现某个印度语字符引起iOS11系统奔溃,所幸iOS版微 ...
- 合肥 专业做APP(安卓,ios) 微信公共平台
合肥 专业做APP(安卓,ios) 微信公共平台 电话:15715696592
- IOS 微信返回按钮事件控制弹层关闭还是返回上一页
在微信公共号内绑定域名后或微信内打开第三方链接跳转非单页面网站时,经常会有弹层Modal的需求,此时如果用户习惯性点击微信自带的返回“<”按钮,就会跳转回上一页或退出网站,而为了避免这种不好的误 ...
- iOS - WXPay 微信支付
1.微信支付申请 微信支付官方集成指引 微信支付官方集成指导视频 微信 APP 支付开发者文档 微信公众平台 微信开放平台 微信商户平台 1.1 微信 APP 支付申请步骤 APP 支付:APP 支付 ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
- 微信团队分享:极致优化,iOS版微信编译速度3倍提升的实践总结
1.引言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了. 记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶 ...
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
随机推荐
- Java笔记(三十)……正则表达式
概述 符合一定规则的表达式 专门用于操作字符串 特点: 用于一些特定的符号来表示一些代码操作,这样就可以简化书写 所以学习正则表达式,就是在学习一些特殊符号的使用 好处: 可以简化对字符串的复杂操作 ...
- cs编写php字符显示问题
1. mysql中有mysql字符,数据库字符(各个数据库字符可不同),数据库下的表字符,表的字段字符,这些字符应保持一致具体查询命令可见网上,如不同要设置成相同才行. 2. 因为浏览器版本不同所 ...
- https原理:证书传递、验证和数据加密、解密过程解析
写的太好了,就是我一直想找的内容,看了这个对https立马明白多了 http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html 我们都知 ...
- 高效Linux用户需要了解的命令行技能
最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips. 将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具 ...
- PC-IIS因为端口问题报错的解决方法
1.我的电脑-管理-服务和应用程序-Internet信息服务 情况:这时发现“默认 SMTP 虚拟服务器”停止 解决方法:右击启动 情况:发现网页还是打不开.2.Internet信息服务-网站- ...
- rcp(插件开发)The type XXX cannot be resolved. It is indirectly referenced from required .class files解决办法
如果你在使用插件开发时遇到这个问题: The type org.eclipse.core.resources.IFile cannot be resolved. It is indirectly re ...
- Asp.net 管道事件
在处理该请求时将由 HttpApplication 类执行以下事件. 希望扩展 HttpApplication 类的开发人员尤其需要注意这些事件. 1. 对请求进行验证,将检查浏览器发送的信息,并确定 ...
- iOS从生成证书到打包上架-01(详细2016-10最新)
今天项目上架成功,在此小结一下这个过程,希望对这个流程有疑惑的小伙伴少走弯路(大神请忽略此文) 关于证书是什么,请自行百度,Google,这里直接上流程. 1.首先打开苹果开发者网站,Apple De ...
- 判断URL是否能链接成功
判断网络文件 存在 3秒之内返回结果 方法2: /// <summary> /// 判断网络文件是否存在 1.5秒得到出结果 如这样的格式 http:// ...
- Redis学习手册(虚拟内存)
一.简介: 和大多NoSQL数据库一样,Redis同样遵循了Key/Value数据存储模型.在有些情况下,Redis会将Keys/Values保存在内存中以提高数据查询和数据修改的效率,然而这样的做法 ...