From 818395383a12c78baa46bffb52d5e2172de0298d Mon Sep 17 00:00:00 2001 From: lvbingru Date: Tue, 5 Apr 2016 17:58:12 +0800 Subject: [PATCH 1/3] bug fixed --- ios/RCTHotUpdate/RCTHotUpdate.m | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ios/RCTHotUpdate/RCTHotUpdate.m b/ios/RCTHotUpdate/RCTHotUpdate.m index 4505f98..be086e8 100644 --- a/ios/RCTHotUpdate/RCTHotUpdate.m +++ b/ios/RCTHotUpdate/RCTHotUpdate.m @@ -106,12 +106,13 @@ RCT_EXPORT_MODULE(RCTHotUpdate); NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSMutableDictionary *packageInfo = [[defaults dictionaryForKey:rnHotUpdatePackageInfoKey] mutableCopy]; - NSDictionary *ret = @{ @"downloadRootDir": [RCTHotUpdate downloadDir], - @"packageVersion": [infoDictionary objectForKey:@"CFBundleShortVersionString"], - @"currentVersion": [packageInfo objectForKey:paramCurrentVersion], - @"isFirstTime": [packageInfo objectForKey:paramIsFirstTime], - @"isRolledBack": [packageInfo objectForKey:paramIsRolledBack] - }; + NSMutableDictionary *ret = [@{} mutableCopy]; + ret[@"downloadRootDir"] = [RCTHotUpdate downloadDir]; + ret[@"packageVersion"] = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; + ret[@"currentVersion"] = [packageInfo objectForKey:paramCurrentVersion]; + ret[@"isFirstTime"] = [packageInfo objectForKey:paramIsFirstTime]; + ret[@"isRolledBack"] = [packageInfo objectForKey:paramIsRolledBack]; + if (packageInfo) { // clear isFirstTime and isRolledBack packageInfo[paramIsFirstTime] = @(NO); From ea686834af5bd343ee643f8b669017f1b42d229a Mon Sep 17 00:00:00 2001 From: lvbingru Date: Tue, 5 Apr 2016 18:00:58 +0800 Subject: [PATCH 2/3] bug fixed --- ios/RCTHotUpdate/RCTHotUpdate.m | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/ios/RCTHotUpdate/RCTHotUpdate.m b/ios/RCTHotUpdate/RCTHotUpdate.m index be086e8..991c7ed 100644 --- a/ios/RCTHotUpdate/RCTHotUpdate.m +++ b/ios/RCTHotUpdate/RCTHotUpdate.m @@ -132,20 +132,6 @@ RCT_EXPORT_MODULE(RCTHotUpdate); return self; } -RCT_EXPORT_METHOD(getVersionInfo:(RCTResponseSenderBlock)callback) -{ - NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; - - NSString *appVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; - NSString *buildVersion = [infoDictionary objectForKey:@"CFBundleVersion"]; - - NSDictionary *versionInfo = @{AppVersionKey:appVersion, BuildVersionKey:buildVersion}; - if (callback) { - callback(@[versionInfo]); - } -} - - RCT_EXPORT_METHOD(downloadUpdate:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) From b97782427ae6a1e76af249ad45f9f6667878f3f8 Mon Sep 17 00:00:00 2001 From: lvbingru Date: Tue, 5 Apr 2016 18:24:19 +0800 Subject: [PATCH 3/3] bug fixed --- ios/RCTHotUpdate/RCTHotUpdateManager.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ios/RCTHotUpdate/RCTHotUpdateManager.m b/ios/RCTHotUpdate/RCTHotUpdateManager.m index 9cfa6ef..d4d8392 100644 --- a/ios/RCTHotUpdate/RCTHotUpdateManager.m +++ b/ios/RCTHotUpdate/RCTHotUpdateManager.m @@ -58,6 +58,11 @@ completionHandler:(void (^)(NSString *path, BOOL succeeded, NSError *error))completionHandler { dispatch_async(_opQueue, ^{ + + if ([[NSFileManager defaultManager] fileExistsAtPath:destination]) { + [[NSFileManager defaultManager] removeItemAtPath:destination error:nil]; + } + [SSZipArchive unzipFileAtPath:path toDestination:destination progressHandler:^(NSString *entry, unz_file_info zipInfo, long entryNumber, long total) { progressHandler(entry, entryNumber, total); } completionHandler:^(NSString *path, BOOL succeeded, NSError *error) {