收藏
回答

webview在Android真机调起扫码正常,但在iOS真机调起无效的问题?

框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 微信扫码 客户端 iOS 6.6.5 1.9.8

从网页调起scan QR code时,Android正常,iOS无效。


1、从网页引入小程序SDK jweixin-1.3.2.js,并通过webview组件调起小程序page。

webview.html 代码片段

$("body").on('click', '.qrcode-scan', function () {

    console.log('webview scan QR code');


    wx.miniProgram.navigateTo({

        url: '/pages/scan-code/scan-code'

    });

});


2、scan-code.wxml page,仅放1行代码即可。

scan-code.wxml 代码片段

<web-view src="{{url}}"></web-view>


3、scan-code.js,处理逻辑。

scan-code.js 代码片段

const webviewUrl = require('../../config').webviewUrl

Page({

  data: {

    url: webviewUrl + '#wechat_redirect'

  },

  onLoad: function (options) {

    var that = this

    wx.scanCode({

      onlyFromCamera: true,

      scanType: ['qrCode'],

      success: function(res) {

        console.log('scan QR code successful.')

        that.setData({

          url: webviewUrl + '?q=' + encodeURIComponent(res.result) + '#wechat_redirect'

        })

      },

      fail: function(res) {

        console.log('scan QR code failed.')

      }

    })

  }

})


在 Android 真机上运行时调起微信扫码正常,在iOS真机上运行时调起扫码可以跳到 scan-code.wxml 页面,但是无法调起微信扫码(模拟器下iPhone 7 Plus是正常的)。

回答关注问题邀请回答
收藏

1 个回答

  • 平凡
    平凡
    2019-03-08

    您好,解决了么,拜托了,我也遇到了

    2019-03-08
    有用
    回复
登录 后发表内容