收藏
回答

iOS报at line undefined in undefined

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小游戏 Bug iOS 11.3.1 iPhone8 7.0.5

暂时没能弄出体积较小的可重现的代码,只能弄了个较大的代码包。由于尺寸超了,所以没能存成代码片断。但这个代码应该导入后是直接能跑的。需要用代码包里的appid。

Android和开发者工具上都不重现,只iOS"预览"的时候重现。

启动后会下个几M的资源,然后看到图1:


这时候点屏幕任意处,再看vConsole,会看到图2:


说JSON.stringify不能序列化带循环引用的结构。但我已经在代码首部写了这样一段:

const OldStringify = JSON.stringify;
JSON.stringify = (args) => { 
  console.log('will stringify:', args);
  return OldStringify(args);
}


从vConsole里的内容来看,是先报了红色的那个错误,才进的我替换过的stringify方法。并且这时候进stringify方法,只是把红色的那个错误的内容序列化一下,估计是为了方便输出。

因此推断这个stringify是微信内部调的,并且我们还替换不了。

并且我尝试注掉了我自己代码里所有的stringify,这个错误还是能重现,也佐证了是微信自己调的stringify。

现在问题在于除了stringify之外就没有进一步的信息了。。行号那些全都是undefined.. 希望官方能帮忙给更多信息

看到了这个帖子:https://developers.weixin.qq.com/community/develop/doc/0006aecdcc08001747887039851000?highLine=JSON.stringify 和我遇到的问题类似,也是点屏幕就触发。但我的微信版本已经是7.0.5了。。

而且检查了我用canvas的地方,似乎也没什么问题


谢谢!

最后一次编辑于  09-16
回答关注问题邀请回答
收藏

2 个回答

  • 魏越闽
    魏越闽
    09-16

    https://developers.weixin.qq.com/community/minigame/doc/0004ca9f5205881796295499459c00

    看这篇得到了帮助,打出canvas后仔细找找到了儿子的儿子里藏着一个 "<Circular: @>"

    09-16
    赞同
    回复
  • 黄力钧
    黄力钧
    09-16

    你这个压缩包,如果账号没有绑定开发者微信号,也是运行不了的;另外我看了一下你的代码,稍微有点乱,建议你可以在点击触发的时候,做一下断点,再缩小一下问题的范围。

    09-16
    赞同
    回复