diff --git a/CodePush.js b/CodePush.js index bbb344a..d6c8255 100644 --- a/CodePush.js +++ b/CodePush.js @@ -40,7 +40,7 @@ async function checkForUpdate(deploymentKey = null) { * in any updates for current app store version, regardless of hash. */ let queryPackage; - if (localPackage && localPackage.appVersion && localPackage.appVersion === config.appVersion) { + if (localPackage) { queryPackage = localPackage; } else { queryPackage = { appVersion: config.appVersion }; diff --git a/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java b/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java index 446e2bc..f28e118 100644 --- a/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java +++ b/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java @@ -162,7 +162,7 @@ public class CodePush { } else { // The binary version is newer. didUpdate = false; - if (!this.isDebugMode) { + if (!this.isDebugMode || !this.appVersion.equals(packageAppVersion)) { this.clearUpdates(); } diff --git a/ios/CodePush/CodePush.m b/ios/CodePush/CodePush.m index b0647b4..bebeddd 100644 --- a/ios/CodePush/CodePush.m +++ b/ios/CodePush/CodePush.m @@ -100,10 +100,15 @@ static NSString *bundleResourceName = @"main"; isRunningBinaryVersion = NO; return packageUrl; } else { + BOOL isRelease = NO; #ifndef DEBUG - [CodePush clearUpdates]; + isRelease = YES; #endif + if (isRelease || ![binaryAppVersion isEqualToString:packageAppVersion]) { + [CodePush clearUpdates]; + } + NSLog(logMessageFormat, binaryBundleURL); isRunningBinaryVersion = YES; return binaryBundleURL;