为什么React Native WebView在发布版本中转到about:blank?

时间:2017-06-14 08:48:17

标签: android ios paypal webview react-native

我有这样的组件:

class PayPalWebView extends Component {
  static propTypes = {
    payKey: PropTypes.string,
    payPalLoginUrl: PropTypes.string,
    onNavigationStateChange: PropTypes.func,
  }

  getPayPalLoginURL = () => this.props.payPalLoginUrl + this.props.payKey

  render () {
    return (
      <WebView
        source={{ url: this.getPayPalLoginURL() }}
        scalesPageToFit={true}
        onNavigationStateChange={this.props.onNavigationStateChange}
      />
    )
  }
}

我用它来处理我的反应原生应用程序内的PayPal付款的登录流程。

模拟器中的开发版本可以正常打开PayPal登录页面 当我在模拟器中切换到发布构建配置时,它不再起作用,只打开:空白。

Android和iOS都出现了这个问题。然而它今天早上突然开始在iOS上工作,而我没有改变任何东西。

我已确认getPayPalLoginURL的输出正确,并将source的{​​{1}}属性设置为固定值。还尝试了不同的值,例如WebView,以确保它与PayPal URL无关,但同样仅在发布版本上失败。

我还发现了其他SO问题,人们建议在{ url: "https://example.com"}上设置一个固定的宽度,这也不起作用。

非常感谢任何修复或调试的建议。

1 个答案:

答案 0 :(得分:3)

替换

source={{ url: this.getPayPalLoginURL() }}

source={{ uri: this.getPayPalLoginURL() }}

检查this