mirror of
https://github.com/zhigang1992/react-native-code-push.git
synced 2026-06-10 07:10:36 +08:00
prevent crashes during rollbacks
This commit is contained in:
@@ -455,9 +455,12 @@ static NSString *bundleResourceSubdirectory = nil;
|
||||
{
|
||||
NSError *error;
|
||||
NSDictionary *failedPackage = [CodePushPackage getCurrentPackage:&error];
|
||||
|
||||
// Write the current package's metadata to the "failed list"
|
||||
[self saveFailedUpdate:failedPackage];
|
||||
if (error) {
|
||||
CPLog(@"Error getting current update metadata during rollback: %@", error);
|
||||
} else if (failedPackage) {
|
||||
// Write the current package's metadata to the "failed list"
|
||||
[self saveFailedUpdate:failedPackage];
|
||||
}
|
||||
|
||||
// Rollback to the previous version and de-register the new update
|
||||
[CodePushPackage rollbackPackage];
|
||||
|
||||
@@ -491,11 +491,13 @@ static NSString *const UnzippedFolderName = @"unzipped";
|
||||
NSError *error;
|
||||
NSMutableDictionary *info = [self getCurrentPackageInfo:&error];
|
||||
if (error) {
|
||||
CPLog(@"Error getting current package info: %@", error);
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *currentPackageFolderPath = [self getCurrentPackageFolderPath:&error];
|
||||
if (error) {
|
||||
CPLog(@"Error getting current package folder path: %@", error);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -515,11 +517,9 @@ static NSString *const UnzippedFolderName = @"unzipped";
|
||||
+ (void)updateCurrentPackageInfo:(NSDictionary *)packageInfo
|
||||
error:(NSError **)error
|
||||
{
|
||||
|
||||
NSData *packageInfoData = [NSJSONSerialization dataWithJSONObject:packageInfo
|
||||
options:0
|
||||
error:error];
|
||||
|
||||
NSString *packageInfoString = [[NSString alloc] initWithData:packageInfoData
|
||||
encoding:NSUTF8StringEncoding];
|
||||
[packageInfoString writeToFile:[self getStatusFilePath]
|
||||
|
||||
Reference in New Issue
Block a user