我已通过纱线安装了react-native-version-check到我的项目中,当我使用某些功能时,应用程序崩溃向我发送以下消息: 警告 [类型错误:网络请求失败]
只有当我仅使用这些函数时才会发生这种情况: VersionCheck.getLatestVersion() VersionCheck.needUpdate()
使用react-native-check-version包函数也会发生同样的事情
有关此软件包的一些未解决的问题,尤其是您提到的那些功能。我之前遇到过同样的问题,我的建议是使用后端驱动的版本检查。您可以维护一个表来存储最新版本、强制更新标志等。此外,由于这两个函数是承诺的,因此您可以检查它们返回的内容。
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.
}
});
在库中进行一些搜索以了解导致此错误的原因 它实际上是 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")
}
添加这些行后,一切正常
版本“react-native-version-check”:“^3.4.3”,是最新的 文档链接: https://www.npmjs.com/package/react-native-version-check?activeTab=versions
我遇到了
getCurrentVersion()
投掷本机 API 错误的问题。我的 android 目录中的一个简单的 ./gradlew clean
已解决。
PS:
./gradlew clean
使用项目的 gradle 包装器来执行项目的 clean 任务。通常,这仅意味着删除构建目录。