扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID。如图所示。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的工农网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
2.导入微信支付SDK
将官方demo中的这个文件夹拷贝到项目里
在APPdelegate里设置APPID
导入依赖库
项目中点击支付的按钮写上如下方法
别忘了导入头文件和遵循代理和注册代理
info.plist里添加如下字段LSApplicationQueriesSchemes,为Array类型,然后在里面添加两个小选项,分别为weixin和wechat
注意!!!下面这三处 一定要对应上 少一不可
如果不回调,APPdelegate里写上这个
//被废弃的方法如下
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
//替换的新方法
- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary*)options {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
//调起微信支付
PayReq* req = [[PayReq alloc] init];
req.partnerId = @"1220277201";
req.prepayId = @"9201039000160315ab9324b87b451223";
req.nonceStr = @"83DB7tk21akNRSFs";
req.timeStamp = 1458027344;
req.package = @"Sign=WXPay";
req.sign = @"db6919dbd8ccb3f8a25108bebcd87f7a02c52e39";
[WXApi sendReq:req];
// 获取当前时间
time_t now;
time(now);
// 时间戳
//NSString *timestamp = [NSString stringWithFormat:@"%ld", now];
// 随机字符串
//NSString *nonceStr = [[self md5:timestamp] uppercaseString];
//订单id
NSString *prepayid = _prepayid;
PayReq *request = [[PayReq alloc] init];
/** 商家向财付通申请的商家id */
request.partnerId = WXPartnerid;
/** 预支付订单 */
request.prepayId= prepayid;
/** 商家根据财付通文档填写的数据和签名 */
request.package = @"Sign=WXPay";
/** 随机串,防重发 */
request.nonceStr= _noncestr;
/** 时间戳,防重发 */
request.timeStamp = [_timestamp intValue];
/** 商家根据微信开放平台文档对数据做的签名 */
request.sign= _sign;
/*! @brief 发送请求到微信,等待微信返回onResp
*
* 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
* SendAuthReq、SendMessageToWXReq、PayReq等。
* @param req 具体的发送请求,在调用函数后,请自己释放。
* @return 成功返回YES,失败返回NO。
*/
[WXApi sendReq: request];
V信开放平台:提供移动应用和网站接入(使用V信登陆)、使用V信支付及建立公众号第三方平台。
使用场景:APP使用V信登陆
从APP中分享内容到V信中
要求:在接入某云平台时需要准备一个开放平台账号,申请移动应用,提供应用的APPID和APPSECRET;
申请移动应用需要填写bundle id与安卓包名,如还未接入某云,没有bundle id与安卓包名,可先申请账号,待接入后再申请应用。
开放平台的账号以及APPID 、APPSECRET请不要随意修改,否则后果自负;
如果app需要V信登录,请认证开放平台开发者资质。
V信开放平台申请流程如下:
步骤一:登陆V信开放平台
网址,申请移动应用
填写基本信息
步骤二:完善资料
填写平台信息,勾选ios应用和android应用
步骤三:完善资料
填写bundle id,参照指南查找或询问对接小编;如还未接入千帆,没有bundle id,可等到接入后再填写。
在Apple的文档中,scheme在URL相关的内容中出现过,比如:
紧接着这一段,有如下说明:
详情点击 这里 。可以看出,scheme是URL中 : 之前的部分。
在iOS/macOS/WatchOS 2中,可以利用scheme来标记APP并且通过它进行一些简单的通信。
微信、支付宝、微博等应用的第三方登录、支付、分享功能,都是通过scheme来实现的。下面我们用微信的登录为例,来讲解一下scheme的使用过程。
要使用微信的授权登录功能,首先要去微信开放平台创建一个应用,需要我们填写应用名称、icon和Bundle Identifier,之后微信会把应用的AppId和AppSecret给我们。然后根据AppID集成微信的SDK,并且在URL types里面添加一个以appid为scheme的item。到这里,微信的分享功能就集成完成了。那么,每一步都在做什么呢?
其中,第3步中是否到服务器验证应该可以通过抓包来看到,但是我懒了,没有做。也不影响整体的流程。
因为本人并不是微信的开发人员,以上内容可能会有出入,微信在安全方面做的应该更好。但是,大致的流程应该就是这样。其他平台、功能应该差别也不大。如有错误或者疑问可以在下面留言。
PS: 玩王者荣耀遇到的坑货太多,弄的很郁闷,又无处发泄,我就自己做了一个《举报坑货》的APP,目前只有iOS版本的基本功能,欢迎试玩吐槽。(QQ群:280597764)
微信的开放平台怎么扫码登录游戏?那就是说微信都有扫一扫的功能啊,那你可以打开扫一扫的功能,这样不就可以打开扫一扫的功能扫游戏码,这样不就可以登录,你想要登录的游戏了吗?那你把那个扫一扫的功能打开扫,登录码
微信内部原因。你要用老版本的微信扫码。
如果是新版本的微信扫手机相册或者长按识别的二维码会跳到开放中心。
目前版本的微信就只能通过APP扫的码才能生效,扫手机内部的不可以哟。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流