From a6a7b53f64e6d1f425640e34e740e531ab114ddc Mon Sep 17 00:00:00 2001 From: Charlie Qiu Date: Sat, 11 Jun 2016 17:50:32 +0800 Subject: [PATCH] Improve writeSSLocalConfFile --- ShadowsocksX-NG/LaunchAgentUtils.swift | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/ShadowsocksX-NG/LaunchAgentUtils.swift b/ShadowsocksX-NG/LaunchAgentUtils.swift index 6436328..a068fed 100644 --- a/ShadowsocksX-NG/LaunchAgentUtils.swift +++ b/ShadowsocksX-NG/LaunchAgentUtils.swift @@ -115,19 +115,13 @@ func writeSSLocalConfFile(conf:[String:AnyObject]) -> Bool { let filepath = NSHomeDirectory() + APP_SUPPORT_DIR + "ss-local-config.json" let data: NSData = try NSJSONSerialization.dataWithJSONObject(conf, options: .PrettyPrinted) - // Check if it has been changed - let defaults = NSUserDefaults.standardUserDefaults() - let KEY = "SSLocalConfigFileSHA1" - let newSha1Value = data.sha1() - if let sha1Value = defaults.stringForKey(KEY) { - if newSha1Value == sha1Value { - // No changed - return false - } - } - defaults.setObject(newSha1Value, forKey: KEY) - + let oldSum = getFileSHA1Sum(filepath) try data.writeToFile(filepath, options: .DataWritingAtomic) + let newSum = getFileSHA1Sum(filepath) + + if oldSum == newSum { + return false + } return true } catch {