chenli
chenli
  • 发布:2020-04-08 15:59
  • 更新:2020-04-08 16:10
  • 阅读:910

【已解决】HX2.6.10-alpha v3编译 iOS App端plus.runtime获取参数问题

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]
HX2.6.10-alpha v3编译 iOS App端plus.runtime获取参数问题

重现步骤

[步骤]

<a href="hbuilder://abc">打开App</a>

[结果]
通过上面H5唤醒App,Android和iOS两端获取plus.runtime信息数据结果不一样。

如下两处不同:
plus.runtime.launcher参数值:
iOS端是"default"(异常),Android端是"scheme"(正常)

plus.runtime.arguments参数值:
iOS端是(异常)

{"name":"","path":"","query":"","id":0}

Android是(正常)

hbuilder://abc

[期望]
通过上面H5唤醒App,iOS两端获取plus.runtime.arguments和plus.runtime.launcher这两个字段值与Android端一至
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号] HX2.6.10-alpha

[windows版本号]

[mac版本号]10.15.3

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?] v3模式

App运行环境说明

[Android版本号]

[iOS版本号]11.4.1 和 13.3.1

[手机型号]

[模拟器型号] emulator android 9

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]
App.vue文件

onLaunch: function() {  
    this.checkArguments();  
    plus.globalEvent.addEventListener('newintent', ()=>{  
        this.checkArguments();  
    });  
},  
...  
methods: {  
    checkArguments() {  
      setTimeout(() => {  
        console.log(plus.runtime);  
      }, 0);  
    },  
},  
...

联系方式

[QQ]

2020-04-08 15:59 负责人:无 分享
已邀请:
CLP

CLP

https://ask.dcloud.net.cn/article/64

  • chenli (作者)

    要配置的都已经配置了。

    2020-04-08 16:14

  • CLP

    回复 chenli: 手机safari里直接输入hbuilder://abc 有问题吗

    2020-04-08 16:27

  • chenli (作者)

    回复 CLP: safari也有问题。plus.runtime.arguments也是一样返回


    {"name":"","path":"","query":"","id":0}

    2020-04-08 16:44

  • CLP

    回复 chenli: 你是5+项目还是uni项目?你用HX建个项目用基座跑起来,然后在手机safari里直接输入hbuilder://abc,看看吊起app之后,打印的结果

    2020-04-08 16:47

  • chenli (作者)

    回复 CLP: uni项目,用HX创建新项目用基座跑起来ios端打印的结果的正常。为什么旧项目的ios端获取就异常,而Android端获取正常。目前还是没找到问题的所在!

    2020-04-08 17:17

  • CLP

    回复 chenli: 你的老项目是什么版本HX创建的,

    2020-04-08 18:44

  • chenli (作者)

    回复 CLP: 当时应该是使用hx2.3.x版本创建的,不过都一直在跟进HX升级修改迭代发布多个版本,并且线上最新版本通过HX2.6.6版本使用v3编译模式发布的。今天使用HX2.6.10版本要调用启动参数才发现iOS端获取不到传参数的问题。

    2020-04-08 21:19

  • chenli (作者)

    回复 CLP: 找到导致iOS端获取的问题:pages.json的配置condition。奇怪的是只对iOS有影响,android正常。删除如下配置iOS端就获取正常。这算是bug吗?


    "condition" : {  
    //模式配置,仅开发期间生效
    "current" : 0, //当前激活的模式(list 的索引项)
    "list" : [
    {
    "name" : "", //模式名称
    "path" : "", //启动页面,必选
    "query" : "" //启动参数,在页面的onLoad函数里面得到
    }
    ]
    }

    2020-04-09 08:53

  • CLP

    回复 chenli: 你为啥要配置这个呢??? https://uniapp.dcloud.io/collocation/pages?id=condition

    2020-04-09 10:56

  • chenli (作者)

    回复 CLP: 是之前在HX运行菜单里选择过"运行当前页面为启动页"后会自动添加这个配置上去。而且还是上面那像的空的配置。这种情况在开发过程,不太会去注意有自动添加了这个配置。平时正常启动也不会走这个配置(应该是配置设置为空的情况启动页才不会影响吧,但plus.runtime受影响了)

    2020-04-09 11:18

  • Hedico

    回复 chenli: 请问怎么解决的呢?

    2020-08-08 17:04

  • chenli (作者)

    回复 Hedico: 看以上评论

    2020-08-08 17:06

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