uni-app ios使用wx-open-launch-app组件在微信浏览器中唤醒APP获取extinfo参数不正确,安卓没有问题

uni-app ios使用wx-open-launch-app组件在微信浏览器中唤醒APP获取extinfo参数不正确,安卓没有问题

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

iOS机型 app 在app.vue 里通过 plus.runtime.arguments 获得到<wx-open-launch-app> 标签配置的extinfo参数不正确,在后台的时候参数正常,app杀死唤醒的时候参数不正常 类似 ¥¥¥¥¥¥¥://platformId=wechatxxxxxxxxxxxxxxxxxxxxxxxx 这种格式

预期结果:

iOS机型 app 在app.vue 里通过 plus.runtime.arguments 获得到<wx-open-launch-app> 标签配置的extinfo参数,app杀死唤醒的时候参数正常

实际结果:

iOS机型 app 在app.vue 里通过 plus.runtime.arguments 获得到<wx-open-launch-app> 标签配置的extinfo参数不正确,在后台的时候参数正常,app杀死唤醒的时候参数不正常 类似 ¥¥¥¥¥¥¥://platformId=wechatxxxxxxxxxxxxxxxxxxxxxxxx 这种格式

bug描述:

ios使用wx-open-launch-app组件在微信浏览器中唤醒APP获取extinfo参数不正确,安卓没有问题


更多关于uni-app ios使用wx-open-launch-app组件在微信浏览器中唤醒APP获取extinfo参数不正确,安卓没有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

有没有大佬给看看啊,急急急!!!

更多关于uni-app ios使用wx-open-launch-app组件在微信浏览器中唤醒APP获取extinfo参数不正确,安卓没有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


把正确的extinfo发一下 还有appid 私信我吧

私信你了

你好 我也遇到同样的问题了 extinfo和appid私发你了

请问解决了吗楼主

请问解决了吗楼主

同样的情况,怎么解决这个问题呀

请问解决了吗楼主

在使用 wx-open-launch-app 组件在微信浏览器中唤醒 iOS 应用时,遇到 extinfo 参数不正确的问题,可能是由于 iOS 和 Android 在微信浏览器中的行为差异导致的。以下是一些可能的原因和解决方案:

1. iOS 对 extinfo 参数的处理不同

iOS 和 Android 在微信浏览器中处理 extinfo 参数的方式可能不同,导致在 iOS 上获取到的 extinfo 参数不正确。你可以尝试以下方法来解决这个问题:

  • 检查 extinfo 的编码格式:确保 extinfo 参数在传递时是经过正确的编码的,尤其是在 iOS 上,可能需要使用 encodeURIComponent 对参数进行编码。
  • 检查 extinfo 的长度:iOS 可能对 extinfo 参数的长度有限制,如果参数过长,可能会导致截断或解析错误。可以尝试缩短 extinfo 参数的长度,看看问题是否依然存在。

2. iOS 的 URL Scheme 限制

iOS 对 URL Scheme 的支持可能不如 Android 完善,尤其是在微信浏览器中。你可以尝试以下方法:

  • 确保 URL Scheme 正确:在 iOS 上,确保你的应用已经正确配置了 URL Scheme,并且在 info.plist 文件中声明了相应的 CFBundleURLTypes
  • 使用 Universal Links:如果 URL Scheme 在 iOS 上不可靠,可以考虑使用 Universal Links 来唤醒应用。Universal Links 是苹果推荐的方式,可以在 iOS 上更可靠地唤醒应用。

3. 微信浏览器的兼容性问题

微信浏览器在 iOS 和 Android 上的实现可能存在差异,导致 wx-open-launch-app 组件在 iOS 上表现不正常。你可以尝试以下方法:

  • 使用最新的微信 SDK:确保你使用的微信 SDK 是最新版本,因为微信可能会修复一些已知的兼容性问题。
  • 检查微信浏览器的版本:不同版本的微信浏览器可能会有不同的行为,确保你的测试环境使用的是最新的微信版本。

4. 调试和日志记录

如果以上方法都无法解决问题,可以尝试在应用中增加调试日志,记录 extinfo 参数的传递过程,看看在哪个环节出现了问题。

  • 在应用中记录日志:在应用启动时,记录 extinfo 参数的值,看看是否与预期一致。
  • 在微信浏览器中调试:使用微信开发者工具或 Safari 的远程调试功能,查看微信浏览器中的网络请求和参数传递情况。

5. 联系微信支持

如果问题依然存在,可能需要联系微信的官方支持团队,提供详细的复现步骤和日志信息,寻求他们的帮助。

示例代码

以下是一个简单的示例,展示如何在 wx-open-launch-app 组件中传递 extinfo 参数:

<wx-open-launch-app
  id="launch-btn"
  appid="your_appid"
  extinfo="your_extinfo"
>
  <template>
    <button>打开App</button>
  </template>
</wx-open-launch-app>
document.getElementById('launch-btn').addEventListener('launch', function (e) {
  console.log('launch success', e.detail);
});

document.getElementById('launch-btn').addEventListener('error', function (e) {
  console.error('launch failed', e.detail);
});
回到顶部