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的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
随机推荐
- JZ2440开发笔记(9)——位置无关代码设计【转】
b MAIN 和 ldr pc,=MAIN 的区别(谈到代码位置无关性) 看bootloader的时候经常看到这两种写法,不太明白区别,网上查了查.其实看了之后还是一头雾水? 其中,2和3 似乎是一个 ...
- zookeeper环境的搭建
接管条件:磁盘上原数据完全一样,而自动接管,则是由zookeeper 实现的 FailloverController:控制namenode状态:检查namenode:通过远程协议
- 怎样从官网下载Spring的jar包
第一种,简单粗暴直接http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEASE/s ...
- Hadoop工程师面试题(1)--MapReduce实现单表汇总统计
数据源格式描述: 输入t1.txt源数据,数据文件分隔符"*&*",字段说明如下: 字段序号 字段英文名称 字段中文名称 字段类型 字段长度 1 TIME_ID 时间(到时 ...
- unexpected error ConnectionError object has no attribute
unexpected error ConnectionError object has no attribute
- HDU5643-King's Game
BestCoder上的题,直接贴网站上的题目和题解了.很棒的题. 问题描述为了铭记历史,国王准备在阅兵的间隙玩约瑟夫游戏.它召来了 n(1≤n≤5000) 个士兵,逆时针围成一个圈,依次标号 1,2, ...
- jenkins持续集成配置备忘
配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...
- PC-启动慢的解决好方法!
你试试这样看行不行: 首先,打开“系统属性”(在我的电脑上点右键-属性,或者在控制面板里打开“系统”,快捷键win+pause break)点“高级”选项卡,在“启动和故障恢复”区里打开“设置”,去 ...
- 使用AFNetworking 报错提示
使用AFNetworking 框架 解析数据 报错提示数据请求失败Error Domain=NSCocoaErrorDomain Code=3840 "The operation could ...
- 安卓问题http://blog.csdn.net/xb12369/article/details/50510302