react 本机版本检查包使应用程序崩溃

问题描述 投票:0回答:4

我已通过纱线安装了react-native-version-check到我的项目中,当我使用某些功能时,应用程序崩溃向我发送以下消息: 警告 [类型错误:网络请求失败]

只有当我仅使用这些函数时才会发生这种情况: VersionCheck.getLatestVersion() VersionCheck.needUpdate()

使用react-native-check-version包函数也会发生同样的事情

reactjs react-native
4个回答
2
投票

有关此软件包的一些未解决的问题,尤其是您提到的那些功能。我之前遇到过同样的问题,我的建议是使用后端驱动的版本检查。您可以维护一个表来存储最新版本、强制更新标志等。此外,由于这两个函数是承诺的,因此您可以检查它们返回的内容。

VersionCheck.getLatestVersion({
  forceUpdate: true,
  provider: () => fetch('http://your.own/api')
    .then(r => r.json())
    .then(({version}) => version),   // You can get latest version from your own api.
}).then(latestVersion =>{
  console.log(latestVersion);
});

VersionCheck.needUpdate()
  .then(async res => {
    console.log(res.isNeeded);    // true
    if (res.isNeeded) {
      Linking.openURL(res.storeUrl);  // open store if update is needed.
    }
  });

1
投票

在库中进行一些搜索以了解导致此错误的原因 它实际上是 fetch API 我必须将这些代码行放入我的 build.gradle 中

dependencies {
   api(platform("com.squareup.okhttp3:okhttp-bom:4.7.2"))
   api("com.squareup.okhttp3:okhttp")
   api("com.squareup.okhttp3:logging-interceptor")
}

添加这些行后,一切正常


0
投票

版本“react-native-version-check”:“^3.4.3”,是最新的 文档链接: https://www.npmjs.com/package/react-native-version-check?activeTab=versions


0
投票

我遇到了

getCurrentVersion()
投掷本机 API 错误的问题。我的 android 目录中的一个简单的
./gradlew clean
已解决。

PS:

./gradlew clean
使用项目的 gradle 包装器来执行项目的 clean 任务。通常,这仅意味着删除构建目录。

© www.soinside.com 2019 - 2024. All rights reserved.