-
Notifications
You must be signed in to change notification settings - Fork 335
IOS - App is ignoring new entries into code-push #530
Comments
I'm also having this issue. It's been a few months since I did my last code push, and now I'm trying to do one on iOS, and checkForUpdate is not returning anything. I've check to see if I did something wrong, but it seems I'm doing everything right. Is there a code push service issue now? |
Im having expected behaviour on Android, as i could investigate my app is using the right deployment key, and the release (code-push) exists on appcenter.ms, so i see no reasons why it dosn’t works, cause also with emulator and debug build, it works fine... |
ping..... |
ping @alexandergoncharov ... |
Oh, yeah, We've been having some performance issues during peak hours (13:00 - 15:00 UTC+00) lately. We are working on resolving this situation but we have no ETA at the moment. Sorry for this issue. |
@alexandergoncharov are u using a real app published on Apple Store, or are u using an emulator or debug provisioning build? Cause as i described above, on production published app, it dosn't works, but in emulator or debug provisioning build, works well.. |
I guess @jacobg app is production published app too.. |
@alexandergoncharov well, this is a bit hard to investigate, thinking with the premise that app must be production, and apple rules are boring to approve an app, isn't better if i give you my app name, you download it and on next release we can check all details? |
Guys I am having this issue as well. It happens every time I tried so we could easily reproduce it. I would be more than happy one account credential so you could check it very quick. Any, any help is very welcomed. |
This is what the AppCenter support folks sent me. Interpret it as you wish: Hi, we are currently working on the next version of CodePush (no breaking changes) that will fixes a bunch of the bugs people are seeing. We will come back and confirm this is fixed with the changes once we are done with that version. |
Hi all, @dann95 , Could you please clarify it works correctly on local build(like with XCode)? If yes, could you please check that your deployment key and other settings configured correctly? @josecaodaglio, could you please clarify your issue more detailed? |
As i typed above, ON XCODE BUILD FOR DEBUG, it works fine, ON EMULATOR IN XCODE (there is no other) it works fine... on production build, it dosn't work.
As i show on first message, looking for output console, the keys matches with production keys, and the code-push release is at appcenter.ms |
I see, thanks for this info. It is strange that your release build can't update but your debug build can. |
@alexandergoncharov i guess we are not talking the same, if i give you a "sample" app, you still will not be able to test it. to reproduce the test, you must publish the app at Apple store, does it make sense for you? |
Thats the Angular service used to update the app, when "deviceready" event from cordova is triggered, we call the method "onDeviceReady" import { getClock } from "@myapp/core/tools/utility";
import { Injectable } from '@angular/core';
import { BehaviorSubject } from "rxjs";
import {
Window, IRemotePackage, DownloadProgress, ILocalPackage, InstallMode, CodePushCordovaPlugin
} from './cordova-plugins-definitions';
declare var window: Window;
@Injectable({
providedIn: 'root'
})
export class UpdateService {
private updated: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
// State of notifyApplicationReady, run everytime app is opened first time.
private released: boolean = false;
constructor() {}
onDeviceReady = async () => {
this.releaseIfNeeded();
this.checkForUpdate();
};
private releaseIfNeeded = () => {
if (! this.released) {
this.CodePush.notifyApplicationReady();
this.released = true;
console.log(`[MY-APP-UPDATER] app ready`+getClock())
}
};
private checkForUpdate = () => {
console.log(`[MY-APP-UPDATER] checking for updates`+getClock())
this.CodePush.checkForUpdate(
this.onUpdateCheck,
this.onError
);
};
private onUpdateCheck = (remotePackage?: IRemotePackage) => {
if (! remotePackage) {
console.log(`[MY-APP-UPDATER] everything up to date..`+getClock())
this.updated.next(true);
return;
}
if (! remotePackage.failedInstall) {
console.log(`[MY-APP-UPDATER] update available with hash: ${remotePackage.packageHash}`+getClock())
remotePackage.download(
this.onPackageDownloaded,
this.onError,
this.downloadProgress
)
}
};
private downloadProgress = (progress: DownloadProgress) => {
console.log(progress);
};
private onPackageDownloaded = (localPackage: ILocalPackage) => {
localPackage.install(
this.onInstallSuccess,
this.onError,
{
installMode: (localPackage.isMandatory)
? InstallMode.IMMEDIATE
: InstallMode.ON_NEXT_RESTART
}
);
this.updated.next(true);
console.log(`[MY-APP-UPDATER] packaged downloaded... ${(localPackage.isMandatory) ? 'imediate install..' : 'install later..'}`)
};
private onInstallSuccess = () => {
this.updated.next(true);
console.log(`[MY-APP-UPDATER] update success`+getClock())
};
private onError = (error) => {
console.log(`[MY-APP-UPDATER] update error, message: ${error}`+getClock())
};
private get CodePush(): CodePushCordovaPlugin {
return window.codePush;
}
public subscribeToUpdateFinished(sub: (done: boolean) => void): void {
this.updated.subscribe(sub);
}
} |
The code above is nothing so far from demonstrations of the plugin, and as i showed before, the releases occurred, and the deployment key is valid.. |
@alexandergoncharov My problem is basically the same what @jacobg described.
I am more than available to give you my app password and you can check by yourself. Could we proceed this way? Thanks a lot |
ping @alexandergoncharov ... |
Hi @dann95 and @josecaodaglio. It is a really strange issue. We had issues like this before but there were some other issues, which doesn't according to CodePush. Could you please try to make a new binary release to store? I'm not sure what reason for this issue can be for now. @dann95, you said that I must to publish the app to App store to reproduce it but you also said that Prod build doesn't work. So, you can reproduce it on local production build? Also, could you please provide your approaches to setup CodePush deployments? Is it just setup directly to |
I don't understand whether you are willing to solve the problem. I told you that I can reproduce the issue 100% of the times as long as you are willing to accept an user/pwd and see by yourself. I cannot see any simpler way to detected a problem other than accept this recommendation. It seems to me that you chose to ignore what I am proposing. |
@josecaodaglio I'm not ignoring your what you are proposing. I just would like to say that access to your binary version will not help me to investigate this issue unfortunately as It cannot provide me the source code of your app to debug. |
and as you can see @alexandergoncharov in the last image, in Staging deployment, our device updates.. but on Production, no device updates =/ |
Hi @dann95, Could you please check your target-binary-version? Could you please try to update this parameter and check if it fixes your issue? |
Awesome, it solved the problem.. thats curious, cause even when app was released as 1.0.0 it didn't update.. thanks @alexandergoncharov |
Hey @jacobg as u have the same problem of me, could u check your binary version, and your target version in config.xml and on code-push dashboard or cli-tool ? |
I haven't had a chance to check yet. It may be next week. But since they're talking about version numbers, I'm wondering: My latest app that I had this issue on is version 2.10.0. I'm wondering if Code Push's version checking is semver-based or lexographical, and if it gets caught on the minor version 10? It's something I'll have to check. |
@jacobg well, to have a safe update, im using:
So i match every device, dosn't matter version, thats a problem only if you serve different versions, for different customers.. but to me solves my problem. |
I don't specify any version in the cli, which I think is supposed to just target the version in the build. |
@jacobg i was doing the same, not specifying version, and that was the problem, so i started use:
|
I never did that before. Was this a recent change of behavior? |
dunno, i'm not from microsoft haha, and is not so old my app.. |
That solved my issues as well |
Hi guys!
Description
Hi, i have a Cordova app that i use Code-push for update it, in the IOS version, i made a Code-push, but app never updates, looking for logs, i see that it prints "up to date" on IOS Console.
Reproduction
Well, basically to sent the code-push, i did:
Then set my distribution profile, and run:
in appcenter.ms site i can found the push in list:
looking for the CodePushDeploymentKey of Production:
And when inspecting app console output with IOS Console (http://lemonjar.com/iosconsole/), i see this:
Additional Information
The text was updated successfully, but these errors were encountered: