1
0
mirror of https://gitcode.com/gh_mirrors/re/react-native-pushy.git synced 2025-09-16 13:01:38 +08:00
Code Issues Packages Projects Releases Wiki Activity GitHub Gitee

[Fix] 更妥当的方式处理iOS更新后立即回滚的问题

This commit is contained in:
DengYun
2019-08-16 13:21:47 +08:00
parent 56e6d790c1
commit 551cbc33cc

View File

@@ -95,7 +95,6 @@ RCT_EXPORT_MODULE(RCTHotUpdate);
NSString *loadVersioin = curVersion;
BOOL needRollback = (!ignoreRollback && isFirstTime == NO && isFirstLoadOK == NO) || loadVersioin.length<=0;
ignoreRollback = true;
if (needRollback) {
loadVersioin = lastVersion;
@@ -115,7 +114,10 @@ RCT_EXPORT_MODULE(RCTHotUpdate);
[defaults synchronize];
// ...need clear files later
}
else if (isFirstTime){
else if (isFirstTime && !ignoreRollback){
// bundleURL may be called many times, ignore rollbacks before process restarted again.
ignoreRollback = true;
NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] initWithDictionary:updateInfo];
newInfo[paramIsFirstTime] = @(NO);
[defaults setObject:newInfo forKey:keyUpdateInfo];
@@ -143,6 +145,10 @@ RCT_EXPORT_MODULE(RCTHotUpdate);
return NO;
}
- (void)init {
}
- (NSDictionary *)constantsToExport
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@@ -258,7 +264,6 @@ RCT_EXPORT_METHOD(reloadUpdate:(NSDictionary *)options)
// reload
dispatch_async(dispatch_get_main_queue(), ^{
ignoreRollback = false;
[_bridge setValue:[[self class] bundleURL] forKey:@"bundleURL"];
[_bridge reload];
});