iOS随记

“页面上有一个或多个错误。”、“支付验证签名失败”AND“Web

2017-11-16  本文已影响18人  脚踏实地的小C

1.页面上有一个或多个错误。

今天上架APP时遇到的,一开始不懂啥原因,因为之前好好打就一个5.5寸的,后面发现原来是苹果爸爸给你添加了N个截图,你不添加还不行。所以你要做的就是把那些截图按相对应的加上就好,只要你在5.5那添加后,在其他的尺寸勾上未展开的选项就好。先点击“在媒体管理中查看所有尺寸”,你会看到:
iPhone:5.8英寸(可选)、5.5英寸、4.7英寸、4英寸、3.5英寸


iPad:12.9英寸、9.7英寸

2.WebView中使用H5支付

当我在iOS APP内用WebView使用H5的微信支付时,刚开始它是不跳转,我就在WebView的代理中如下操作:

-(void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSString *urlString = [[navigationAction.request URL] absoluteString];
urlString = [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if ([urlString containsString:@"weixin://wap/pay?"]) {
decisionHandler(WKNavigationActionPolicyCancel);
//解决wkwebview weixin://无法打开微信客户端的处理
NSURL *url = [NSURL URLWithString:urlString];
[[UIApplication sharedApplication]openURL:url options:@{UIApplicationOpenURLOptionUniversalLinksOnly: @NO} completionHandler:^(BOOL success) {
}];
}
decisionHandler(WKNavigationActionPolicyAllow);
? }

不过虽然这样可以调起微信支付,可是返回时你却是回到Safari中去,而不是APP中,网上找了很多也没找到解决的,不过后面就暴力解决,在这个代理中跟后台商量好,获取相关的参数使用APP支付。这样就可以解决了,不过这种方法总觉得怪怪的,不过因为急着上线,所以就暂时先用这个,以后找到更好的解决方法在更新下。

3.支付验证签名失败

当你从后台获取微信支付的签名时,一定要让后台重新生成签名,不能用之前统一下订单时的签名,不然绝对会报这个问题。

参考文献:

iOS App内webview调用微信H5支付,支付成功不能返回APP
关于微信APP支付,提示支付验证签名失败

上一篇 下一篇

猜你喜欢

热点阅读