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

dan*_*old 1 android paypal webview ios 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}
      />
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

我用它来处理我的本机应用程序中 PayPal 付款的登录流程。

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

该问题在 Android 和 iOS 上均出现。然而,今天早上它突然开始在 iOS 上工作,我没有做任何改变。

我已经确认输出getPayPalLoginURL正确,并将 的source属性设置WebView为固定值。还尝试了不同的值,例如{ url: "https://example.com"}确保它与 PayPal URL 无关,但它再次仅在发布版本中失败。

我还发现了其他 SO 问题,人们建议在 上设置固定宽度WebView,这也不起作用。

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

Swo*_*man 5

代替

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

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

检查这个