大雨大大
大雨大大
  • 发布:2020-04-25 16:19
  • 更新:2021-08-17 16:59
  • 阅读:4170

【报Bug】IOS下plus.runtime.arguments不能获取到URL Scheme协议参数【已解决】

分类:uni-app

IOS下plus.runtime.arguments不能获取到URL Scheme协议参数

在ios APP模式下,网页通过URL Scheme协议调用起uniapp写的APP,网页能成功调用APP,但是APP不能获取到参数,但是安卓正常

uniapp页面代码


onShow() {  
  console.log({args:plus.runtime.arguments});  
  console.log({来源:plus.runtime.launcher});  
}  

html页面代码

<a href='hbuilder://?product_id=test'>测试</a>

安卓下正常返回

16:09:21.695 [Object] {"args":"hbuilder://?product_id=ddd"} at pages\login\index.vue:94
16:09:21.716 [Object] {"来源":"scheme"} at pages\login\index.vue:95

但是在ios情况下,就会获取不到
16:09:03.290 [Object] {"args":""} at pages\login\index.vue:94
16:09:03.311 [Object] {"来源":"default"} at pages\login\index.vue:95

不仅获取不到参数,显示为空

启动类型显示的也是default 而不是 scheme


补充 (回复中有朋友给了以下解决方案,成功解决)

1.pages.json中删除condition这个节点(非常重要)

2.代码改为


onShow() {  
  setTimeout(function(){  
      console.log({args1:plus.runtime.arguments})  
      console.log({来源2:plus.runtime.launcher})  
  },0);   
}  

非常感谢!

2020-04-25 16:19 负责人:无 分享
已邀请:
chenli

chenli

请查看pages.json是不是有condition这个节点。这个会影响ios的启动

  • 大雨大大 (作者)

    好了。谢谢

    2020-04-25 17:17

  • 1***@qq.com

    牛逼!!!!!!!!

    2020-08-17 15:45

  • 未定义昵称

    多谢层主

    2021-02-02 11:33

  • 1***@qq.com

    我的项目不存在condition,先打开app,在扫码,就得不到url,如何处理

    2021-09-01 10:28

2***@qq.com

2***@qq.com - hjw1203

19:42:43.174 {"name":"","path":"","query":"","id":0} at App.vue:46
19:42:43.242 来源:default at App.vue:47

2.8.11 ios不行

  • chenli

    请查看pages.json是不是有condition这个节点。这个会影响ios的启动

    2020-09-25 00:58

  • 2***@qq.com

    回复 chenli: 谢谢回复,没事了,云打包后是可以的,本地手机连线测试不行。

    2020-09-25 10:59

1***@qq.com

1***@qq.com

第一次打开之后,不关闭,放到后台,直接相机扫码,获取不到对应的url,关闭的第一次可以

该问题目前已经被锁定, 无法添加新回复