iOS 微信支付SDK与微信友盟分享两者同时集成时,出现的问题与解决之路。

这两天改版一个旧的APP,要旧貌换新颜,拿到app后进行编译,一直报下面的错误。

报不认识的符号名PayReq错误。奇怪,啥也没动就这样,真不知道给的包是不是本来就是个报错的工程。

不管怎样,要对它修改就先要跑起来啊。

根据错误提示,判断是libwechatsdk.a里面没有这个方法。顺藤摸瓜按照下面的步骤开始了解决旅途。

阶段一

1. 手动添加了微信支付SDK源码到工程

2. pod ‘UMengUShare/Social/WeChat’添加了微信分享,

编译时报错如下:

说明导入的微信支付SDK中并没有微信支付调用接口的实现。这可能是复制的微信支付SDK有问题(老项目中带的,不知道来源是哪里)。那用pod方式就换成最新的吧。

阶段二

1. pod ‘WechatOpenSDK‘ 添加最新的微信支付sdk

2. pod ‘UMengUShare/Social/WeChat’添加了微信分享

Pod时报错如下:

提示libwechatsdk.a已经存储。

于是在工程搜一下:

果然libwechatsdk.a已经被友盟分享下载过了,可不是要报这个错吗。

步骤走到这里,看上去基本无解了,两者都包含,肯定无法都下载啊,这可咋办呢,喝杯水冷静下。

我可以搜一下“如何用pod集成微信支付与友盟分享”啊.

在网上搜了一下,果然发现了有相似问题的文章。

发现友盟微信分享是分完整版和精简版的,感情我现在下的是完整版啊,所以才产生了冲突,那要找不包含libwechatsdk.a的版本,其实就是找精简版的了。

那就在网上找找友盟微信分享精简版的pod地址,贴上去就好了。

赶紧google一下

果然,看到了胜利的曙光。

于是迫不及待的替换掉pod ‘UMengUShare/Social/WeChat’试一下。

阶段三

1. pod ‘WechatOpenSDK‘ 添加最新的微信支付sdk

2. pod ‘UMengUShare/Social/ReducedWeChat‘ 添加友盟精简版微信分享

Pod install 结果如下:

OK了

builde一下,success通过。

通过查看WXApiObject.h文件声明发现

‘WechatOpenSDK‘ 库其实 和‘UMengUShare/Social/WeChat’这个库很类似,里面暴露的接口几乎一样。

说明两种重复定义实现了大部分内容。

两者的区别是‘WechatOpenSDK‘库中的WXApiObject类多了一个第三方向微信终端发起支付的消息结构体,

在这个类中声明了个 @interface PayReq : BaseReq

来唤起微信的支付功能。

所以要同时实现微信支付和友盟微信分享

需要用友盟微信分享的精简版pod ‘UMengUShare/Social/ReducedWeChat’与微信支付SDK pod ‘WechatOpenSDK’。

原文地址:https://www.cnblogs.com/zhou--fei/p/10257730.html

时间: 01-11

iOS 微信支付SDK与微信友盟分享两者同时集成时,出现的问题与解决之路。的相关文章

友盟分享到微信的几点备忘(IOS)

1.下载最新的友盟分享版本,参考友盟官方的demo 2.注册微信开放平台用户,不是公众平台,注册应用 3.参考文档和demo,加入sdk包和相应的lib 4.在plist加入URL types.URL types,可以从demo功能复制过来,同时把相应的参数修改成自己申请的第三方应用的参数,否则不能正常回调 5.在 info-custom ios target properties 加入LSApplicationQueriesSchemes,可以从demo工程复制,否则不能弹出分享窗口 6.在i

当微信和支付宝遇上友盟

前言: 支付,分享,第三方登录,即时通讯这些在现在的APP当中慢慢的变成了最基本,当这些技术已经慢慢的融入到人们的生活中的时候,这些也就成了APP最基本的需求,以前这部分的内容也是经常做,但就是没有好好的总结过,首先说说这几个点,支付的话我们就说说支付宝和微信吧,把我看到的收藏的好点的文章也全都分享出来,第三方登录和分享我用的一直都是友盟的,不为别的,只是友盟的统计和第三方登录分享这些都是一套SDK,就直接用友盟,友盟和微信的回调这里也有一些我们注意的,下面也会和大家说. 微信和支付宝: 其实这

友盟分享(微信分享,微博分享,Facebook分享)

最近写了友盟分享,已经完全实现了,从最一开始的申请APPID到最后分享成功,跟大家细致的分享一下,希望对读者有帮住 一.  分享流程介绍 1.下载友盟分享的SDK并导入 需要注意的是要导入很多头文件:(具体步骤移步:http://dev.umeng.com/social/ios/quick-integration) Security.framework libiconv.dylib SystemConfiguration.framework CoreGraphics.Framework libs

请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果。

============问题描述============ 请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果.弹出来图片大小超过32kb,然后分享中 就没反应了 ============解决方案1============ 引用 楼主 zpq19870824 的回复: 请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果.弹出来图片大小超过32kb,然后分享中 就没反应了 我也不知道,帮你顶一下吧...

iOS 友盟分享

博文一 1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就行 3.整合完之后就开始上代码了 ShareManage.h [objc] view plaincopy // //  ShareManage.h //  KONKA_MARKET // //  Created by wxxu on 14/12/18. //  Copyright (c) 2

iOS之友盟分享

http://dev.umeng.com/social/ios/share/quick-integration 注意:苹果审核政策需求,建议对未安装的客户端平台进行隐藏,在设置QQ.微信Appid之后调用方法: [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享平面平台有隐藏功能,

WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题

今晚在尝试使用友盟最新的社交分享SDK时,按照官方Demo,并未做多少多少改动,就是去除了对微信.脸书和推特的分享.然后运行之后就一直报错 : {System.IO.FileLoadException: Could not load file or assembly 'System.Xml.XPath, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Th

IOS百度地图使用基础指南+原生分享&友盟分享

1.地图 1.获取用户的经纬度(CLLocationManager) 创建属性:CLLocationManager *mgr; 遵守协议:<CLLocationManagerDelegate> a>创建定位管理器 self.mgr = [[CLLocationManager alloc] init]; b>设置代理 self.mgr.delegate = self; c>开始定位 [self.mgr startUpdatingLocation]; 代理方法: -(void)l

IOS 集成友盟分享

#import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWithRedirectURL:(NSString *)redirectURL; @end #import "AppDelegate.h" #import "UMSocial.h" #import "UMSocialSinaHandler.h" @inter

微信支付开发1 微信支付URL配置

本文介绍微信支付申请时如何设置授权目录及URL. 一.选择支付类型 目前有两种支付类型 JS API网页支付 Native原生支付 如果没有特殊要求,两种都勾选. 二.支付授权目录 目前可以选择http还是https协议,没有特别要求,选择http.对安全要求比较高的企业,请选择https. 支付授权目录填写自己公司的域名加上目录,目录可以是不存在的目录,例如wxpay. 一个完整的目录参考如下: http://www.doucube.com/wxpay/ 蓝色部分表示要选择的. 红色部分表示要