问题标签 [code-push]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7701 浏览

flutter - FlutterIO 的 CodePush

我已经知道 Cordova 和 ReactNative 的 CodePush。

来源:https ://docs.microsoft.com/en-us/appcenter/distribution/codepush/

FlutterIO 在生产环境中是否有任何 CodePush 解决方案?

还是它已经支持 ReactNative?

谢谢你。

0 投票
1 回答
1098 浏览

git - 当我执行 Git Push 时代码消失了

我在一个由 5 名开发人员组成的小团队中工作,当我使用我的一项更改进行 git push 时,过去 10 天的代码对于其他开发人员来说正在消失。我的没有任何事情发生。作为一个团队,我们无法找到此问题的根本原因。

回顾提交历史,没有显示过去 10 天内所做的任何推送。有没有人知道这可能是什么根本原因以及如何解决它?

这些是我遵循的步骤:

git commit(保存本地更改)git pull(这不是拉远程中的确切更改。我的本地与远程不同步。所以我做了“ git reset --hard origin/master ”,这也没有用,后来我做了“ git clean -f ”。在此之后,我又做了一个 git pull 并从远程获取了最新的代码,然后我做了一个 git push。

现在我的同事做了一个“git pull”

0 投票
1 回答
2080 浏览

cordova - Appcenter CodePush CLI - 列出部署

我是 CodePush 的用户(使用 cordova)。我正在快速检查 AppCenter,因为CodePush 正在那里迁移。我注意到 AppCenter CLI 似乎不像 CodePush CLI 那样健壮/就绪。

此时我的主要问题是该命令是否应该显示部署历史记录(包括旧的 CodePush 部署)?

appcenter codepush deployment list -a owner/appName

我看到它只显示应用程序的部署密钥,但文档使它看起来似乎也应该显示部署历史记录。我正在尝试使用 CLI 帮助(如文档所述),但这会引发错误: appcenter codepush help.

我登录了 AppCenter UI,它确实显示了我旧的 CodePush 发布历史。我希望 CLI 也能做到这一点。我猜我错过了一些简单的东西?

0 投票
0 回答
985 浏览

cordova - Microsoft Codepush 随机回滚

Phonegap 构建

我一直在使用 Phonegap Build 来构建 Android (apk) 和 iOS (ipa) 文件。Codepush 的文档 ( https://docs.microsoft.com/en-us/appcenter/distribution/codepush/cordova ) 声明该插件与 Phonegap Build 兼容。但是,我已经为 iOS 和 Android 构建了应用程序(<preference name="android-build-tool" value="gradle" />按照 Android 的推荐添加到 config.xml),但是,这两个应用程序都不会从 Codepush 获取新版本 - 该应用程序只会按照原始安装显示。

随机回滚

我在使用 Android 测试 Codepush 时遇到了重大挫折。我在设备上安装编译的应用程序,它运行正常。我通过对 html 文件进行细微更改来修改应用程序,并使用 appcenter codepush release-cordova... 推出新的更新。

然后我运行该应用程序,关闭它并再次运行它。前两个或前三个更新将被正确拾取。但是,在此之后(并且不一致,发生这种情况时设备之间会有所不同),下一次更新失败并且应用程序恢复到已安装的版本,并且在 appcenter 中,更新显示在“回滚”下。

从那时起,任何新版本都将被忽略,应用程序将保留在已安装的版本上。唯一的两个修复似乎是 1. 重新安装应用程序 - 这修复了它并开始获取新版本,直到它再次失败或 2. 清除部署的整个历史记录。同样,这会修复它,直到它再次失败。

更新没有崩溃——我只是更改了 index.html 中的一些文本,所以它不会崩溃(另外,更新将安装在一台设备上,但在另一台设备上失败,所以不可能这样)。

该应用程序触发 Codepush 同步如下:

我已经尝试过使用和不使用“ignoreFailedUpdates”选项,但最终无论哪种方式都失败了。我认为问题是由于应用程序无法完成引起的codePush.notifyApplicationReady,可能是由于网络问题。

然而,这似乎是一个阻碍,因为它有效地使 Codepush 在现实世界中无法使用。不能保证更新会到达用户;更糟糕的是,如果更新失败,应用程序会回滚到上次安装的版本,随后会忽略所有新更新,因此它们会卡在旧版本上,或者不得不经历重新安装应用程序的痛苦。(每次我们进行更新时清除部署历史可能会奏效,但不能保证)。

例如,我创建了一个应用程序,它只显示一些 html,包括版本号。构建和安装

'v1.00'

编辑了 html,将版本更改为 v1.01。

发布更新(已经设置应用程序使用appcenter apps set-current -a ...

打开应用程序,关闭它,再次打开

正确显示“v1.01”

编辑了 html,将版本更改为 v1.02。

发布更新

打开应用程序,正确显示

'v1.02'

关闭它,然后重新打开它

显示“v1.00”,appcenter 显示回滚。

我尝试在 appcenter codepush release-cordova 上使用“-m”选项

此外,我已经在 Android 6 和 7 上尝试过同样的问题。

我的问题是: 1. 还有什么我可以尝试让更新正确安装,或者,如果它们失败,不要将应用程序冻结在上次安装的状态并忽略任何未来的更新。2. 如果我切换使用 React-Native,这是一个 Cordova 问题还是可能发生同样的事情?3. 有没有办法让 Codepush 和 Phonegap Build 一起工作?#

我们希望能够向我们的用户群推出应用程序,但不必在每次小的更改时都重新安装它们。Codepush 似乎是一个完美的解决方案,但目前看来,它似乎根本不可行。

任何帮助将非常感激。

0 投票
1 回答
297 浏览

react-native - Codepush 是在 React native 中创建完整的包(原始 js 文件 + 修改的 js 文件)还是仅创建增量(修改的 js 文件)?

如果 Codepush 真的创建了只包含修改过的 js 文件的包,那么在这个 delta 中究竟是如何检查的?

0 投票
1 回答
775 浏览

react-native - App Store 和 Play Store 如何处理恶意代码推送?

像 React Native 或 Cordova 这样的原生编程平台使开发人员能够用 JavaScript 编写他们的应用程序并将其发布到 iOS 和 Android 上。

虽然 code-push 是另一项允许开发人员通过云服务器(不是官方应用中心,如 Play Store 或 App Store)更新其应用程序的服务,但请考虑开发人员在 App Store 或 Play Store 上发布他的安全应用程序并在获得批准后,通过代码推送更新他的应用程序,并向他们的应用程序添加恶意逻辑,例如将用户联系人或图库图像发送到他们的服务器。

在这种情况下,操作系统安全有哪些保证?Google 或 Apple 如何处理这些应用程序?

0 投票
2 回答
663 浏览

cordova - Ionic Cordova 代码推送更新总是“待定”

描述

我将代码放在适当的位置以进行无线更新,看起来代码确实推送了,但每次我运行时: code-push deployment ls XXXXX

我得到:

有效:0%(XXX 中的 1 个)总计:0(XXX 待定)

“待定”永远不会切换到成功(但我确实看到了应用程序更新?)

再生产

我正在使用 Ionic 应用程序 (+Redux) 已放入我的 app.component.ts:

platform.ready().then(() => { this.ngRedux.dispatch(update()); }); update() 在另一个文件中:

附加信息 cordova-plugin-code-push 版本:1.11.0

已安装插件列表:

科尔多瓦版本:7.1.0

iOS/Android/Windows 版本:全部

这会在调试版本或发布版本上重现吗?是的

这是在模拟器上重现,还是仅在物理设备上重现?是的

0 投票
1 回答
547 浏览

ios - Codepush - js 和 css 文件(来自资产)未加载到设备中

目前正在开发 react native 应用程序并使用 codepush 更新应用程序数据。我非常陷入 webView 上的 js 和 css 文件没有下载的问题。我从主目录检查了“应用程序支持”。我发现只有图片是从codePush下载的,但看不到js或css文件。

在应用程序支持路径中提供了 Xocde 的文件夹结构和 CodePush 的响应。

在此处输入图像描述

在此处输入图像描述

以下命令用于创建 main.jsbundle。

要向 codePush 发送更新,请使用以下命令。

如果您至少可以为我指明正确的方向,我将不胜感激。

0 投票
2 回答
35 浏览

react-native - CodePush - 为您定位的每个操作系统创建一个应用程序

CodePush 注册

我正在向 CodePush 注册一个 React Native 项目。第 3 步说使用该服务注册您的应用程序。为了让服务了解您的应用程序,只需使用可识别的名称注册它。为您定位的每个操作系统创建一个应用程序。

这是否意味着我需要 react-native init 两个单独的项目,一个带有后缀 -Android,一个带有 -iOS?

如果这是一个愚蠢的问题,我深表歉意,但尚不清楚 CodePush 要求我在这里做什么。

0 投票
1 回答
1309 浏览

react-native - React Native CodePush 用于“生产”部署的不同密钥

我的应用程序与“暂存”部署密钥“ sss ”相关联。它定义在/android/app/src/main/res/values/strings.xml, 下reactNativeCodePush_androidDeploymentKey

现在,当我实际发布 APK 时,我想使用“生产”部署密钥“ ppp ”。

最好的方法是什么?我如何自动化它,所以它知道它应该使用“ppp”键?我使用该./gradlew assembleRelease命令来构建 APK。