首页 > 编程知识 正文

iOS 微信支付开发,ios如何开通微信支付

时间:2023-05-05 11:56:10 阅读:260949 作者:3452

 

 

官方文档:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417694084&token=9e8dccd0b7280c180642a80c08f21682c73e3b77&lang=zh_CN  这是微信官方接入文档,看了下,感觉没什么叼用,就在网上查阅了众多资料,也是第一次接手ios代码,这里做下记录,方便以后查阅。

先是环境配置:

首先第一步,去官网下载微信sdk文件,SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个。下载链接:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&lang=zh_CN

     第二步:讲下载后的sdk文件libWeChatSDK.a,,WXApi.h,WXApiObject.h添加到你的工程中(注:请使用xCode4.5及以上版本),

第三步:微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在选中工程->build Phases->Link Binary With Libraries添加SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib,libc++.dylib库文件
第四步:选中工程选项->info->URL Types添加"URL scheme”为你所注册的应用程序id(如上图所示)。

第五步:在你准备使用微信终端API文件中import WXApi.h 头文件,并增加 WXApiDelegate 协议。如下:

#import <UIKit/UIKit.h>
#import "WXApi.h"

@interface AppDelegate : UIResponder<UIApplicationDelegate, WXApiDelegate>

@property (strong, nonatomic) UIWindow *window;

@end

手动集成

将SDK文件中包含的 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个文件添加到你所建的工程中(如下图所示,建立了一个名为Test 的工程,并把以上三个文件添加到Test文件夹下)。

(注:请使用xCode4.5及以上版本)

微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在工程中链接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework,CoreGraphics.framework。(注意坑一:如果不导入会报错:Undefined symbols for architecture x86_64:
"_CNCopyCurrentNetworkInfo", referenced from:
-[MTAWXOHelper fetchSSIDInfo] in libWeChatSDK.a(MTAWXOHelper.o)
"_CNCopySupportedInterfaces", referenced from:
-[MTAWXOHelper fetchSSIDInfo] in libWeChatSDK.a(MTAWXOHelper.o)
)(注意坑二:后期的版本修改了后缀,没有dylib文件;可以导入tdb后缀同名文件)

 

在你的工程文件中选择Build Setting,在"Other Linker Flags"中加入"-Objc -all_load",在Search Paths中添加 libWeChatSDK.a ,WXApi.h,WXApiObject.h,文件所在位置(如下图所示)。

(注:请使用xCode4.5及以上版本)

在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin(如下图所示)。

错误解决记录:

错误提示:----canOpenURL: failed for URL: "weixin://app/:

解决方法:

除了要在项目info URL Types中设置URL Schemes,还需要在info.plist里面增加可信任的调用app,否则回报如下错误-canOpenURL: failed for URL: "weixin://app/wx9c8771d3c07dfd30/" - error: "This app is not allowed to query for scheme weixin"-canOpenURL: failed for URL: "wtloginmqq2://qzapp" - error: "This app is not allowed to query for scheme wtloginmqq2"info.plist加入<key>LSApplicationQueriesSchemes</key><array><string>urlscheme</string><string>urlscheme2</string><string>urlscheme3</string><string>urlscheme4</string></array>

解决了,
分享到qq,需要加上

分享到微信需要加上:

<key>LSApplicationQueriesSchemes</key><array> <string>mqqOpensdkSSoLogin</string> <string>mqzone</string> <string>sinaweibo</string> <string>alipayauth</string> <string>alipay</string> <string>safepay</string> <string>mqq</string> <string>mqqapi</string> <string>mqqopensdkapiV3</string> <string>mqqopensdkapiV2</string> <string>mqqapiwallet</string> <string>mqqwpa</string> <string>mqqbrowser</string> <string>wtloginmqq2</string> <string>weixin</string> <string>wechat</string></array>加了15条

这个问题据说要用真机测试,模拟器会一直报错 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。