在 uni-app 的 iOS SDK 3.3.1 之后的版本中,如果遇到无法调起微信和支付宝支付的问题,可能是由于以下几个原因导致的。你可以根据这些可能的原因进行排查和解决:
1. iOS 14+ 权限问题
- 原因:从 iOS 14 开始,苹果引入了更严格的隐私权限控制,应用在访问某些功能(如打开第三方应用)时需要明确声明。
- 解决方法:
- 在
Info.plist
文件中添加以下权限声明:<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
<string>wechat</string>
<string>alipay</string>
<string>alipays</string>
</array>
- 确保在
manifest.json
中正确配置了微信和支付宝的 AppID。
2. URL Scheme 配置问题
- 原因:微信和支付宝支付需要正确配置 URL Scheme,否则无法正常调起。
- 解决方法:
- 在
Info.plist
文件中添加以下配置:<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<!-- 微信 AppID -->
<string>wxYourWeChatAppID</string>
<!-- 支付宝 AppID -->
<string>alipayYourAlipayAppID</string>
</array>
</dict>
</array>