diff --git a/CommonSdk.framework/CommonSdk b/CommonSdk.framework/CommonSdk
index 4a1d6a653b7f82b3c4e8cc97b71030207ac7337e..e4b6b331bc876c3b67e0ab3c54cbf4fb18a7dc7f 100644
Binary files a/CommonSdk.framework/CommonSdk and b/CommonSdk.framework/CommonSdk differ
diff --git a/CommonSdk.framework/Headers/CommonSdk-Swift.h b/CommonSdk.framework/Headers/CommonSdk-Swift.h
index 213404dc3ad14fc52c818d6b902366214f0afc8a..a6cf7ccd3fe8afea10c9efc8da159457faf8dc64 100644
--- a/CommonSdk.framework/Headers/CommonSdk-Swift.h
+++ b/CommonSdk.framework/Headers/CommonSdk-Swift.h
@@ -209,6 +209,17 @@ typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
 # pragma pop_macro("any")
 #endif
 
+@class NSString;
+
+SWIFT_CLASS("_TtC9CommonSdk3Api")
+@interface Api : NSObject
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull hostDev;)
++ (NSString * _Nonnull)hostDev SWIFT_WARN_UNUSED_RESULT;
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull hostRelease;)
++ (NSString * _Nonnull)hostRelease SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
+@end
+
 
 SWIFT_PROTOCOL("_TtP9CommonSdk20BYScrollViewDelegate_")
 @protocol BYScrollViewDelegate <NSObject>
@@ -217,7 +228,6 @@ SWIFT_PROTOCOL("_TtP9CommonSdk20BYScrollViewDelegate_")
 @end
 
 @class UIImage;
-@class NSString;
 @class NSCoder;
 @class NSNumber;
 @class UITouch;
@@ -288,6 +298,15 @@ SWIFT_CLASS("_TtC9CommonSdk10MyJsonUtil")
 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
 @end
 
+
+SWIFT_CLASS("_TtC9CommonSdk12MySdkContext")
+@interface MySdkContext : NSObject
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MySdkContext * _Nonnull shared;)
++ (MySdkContext * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
+@property (nonatomic) BOOL isRelease;
+- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
+@end
+
 @class UIColor;
 @class UIFont;
 
diff --git a/CommonSdk.framework/Headers/LucaReachability.h b/CommonSdk.framework/Headers/LucaReachability.h
new file mode 100644
index 0000000000000000000000000000000000000000..160656a07fdc30a1728c8fc23c5c581629060c46
--- /dev/null
+++ b/CommonSdk.framework/Headers/LucaReachability.h
@@ -0,0 +1,64 @@
+/*
+ Copyright (C) 2016 Apple Inc. All Rights Reserved.
+ See LICENSE.txt for this sample鈥檚 licensing information
+ 
+ Abstract:
+ Basic demonstration of how to use the SystemConfiguration Reachablity APIs.
+ */
+
+#import <Foundation/Foundation.h>
+#import <SystemConfiguration/SystemConfiguration.h>
+#import <netinet/in.h>
+
+
+typedef enum : NSInteger {
+	NotReachable = 0,
+	ReachableViaWiFi,
+	ReachableViaWWAN
+} NetworkStatus;
+
+#pragma mark IPv6 Support
+//Reachability fully support IPv6.  For full details, see ReadMe.md.
+
+
+extern NSString *kReachabilityChangedNotification;
+
+
+@interface LucaReachability : NSObject
+
+/*!
+ * Use to check the reachability of a given host name.
+ */
++ (instancetype)reachabilityWithHostName:(NSString *)hostName;
+
+/*!
+ * Use to check the reachability of a given IP address.
+ */
++ (instancetype)reachabilityWithAddress:(const struct sockaddr *)hostAddress;
+
+/*!
+ * Checks whether the default route is available. Should be used by applications that do not connect to a particular host.
+ */
++ (instancetype)reachabilityForInternetConnection;
+
+
+#pragma mark reachabilityForLocalWiFi
+//reachabilityForLocalWiFi has been removed from the sample.  See ReadMe.md for more information.
+//+ (instancetype)reachabilityForLocalWiFi;
+
+/*!
+ * Start listening for reachability notifications on the current run loop.
+ */
+- (BOOL)startNotifier;
+- (void)stopNotifier;
+
+- (NetworkStatus)currentReachabilityStatus;
+
+/*!
+ * WWAN may be available, but not active until a connection has been established. WiFi may require a connection for VPN on Demand.
+ */
+- (BOOL)connectionRequired;
+
+@end
+
+
diff --git a/CommonSdk.framework/Headers/MyAppConstant.h b/CommonSdk.framework/Headers/MyAppConstant.h
index a85391929418c4cecb421fa3f2da265952f023f9..6b10ac98302d014e695a7e73fd7ffd669289d6ea 100644
--- a/CommonSdk.framework/Headers/MyAppConstant.h
+++ b/CommonSdk.framework/Headers/MyAppConstant.h
@@ -15,6 +15,7 @@
 #define kNavHeight kIphoneX?88:64
 #define MyStrongTypeOf(x) __strong __typeof(x)
 #define MyWeakTypeOf(x) __weak __typeof(x)
+#define kSdkVersion @"0.1.0"
 
 typedef void (^MyCommonBlock)(void);
 #endif /* MyAppConstant_h */
diff --git a/CommonSdk.framework/Headers/MyAppUtil.h b/CommonSdk.framework/Headers/MyAppUtil.h
index 402ac3755d8fffaf8490a13731ec86e85ffad9eb..831f36d9f1fcd0d703336c225149ab2ca61bf0f7 100644
--- a/CommonSdk.framework/Headers/MyAppUtil.h
+++ b/CommonSdk.framework/Headers/MyAppUtil.h
@@ -14,7 +14,12 @@ NS_ASSUME_NONNULL_BEGIN
 + (UIColor *)colorWithHexString:(NSString *)hexStr;
 + (NSBundle *)getBundle;
 + (UIView *)viewFromXIB:(NSString *)name;
++ (double)getBattery;
 + (void)downImage:(NSString *)imageUrl finish:(void (^)(UIImage *))block;
++ (NSString *)getAppVersion;
++ (NSString *)getSysVersion;
++ (NSString *)getNetworkStatus;
++ (NSString *)getDeviceId;
 @end
 
 NS_ASSUME_NONNULL_END
diff --git a/CommonSdk.framework/Headers/MyRequestUtil.h b/CommonSdk.framework/Headers/MyRequestUtil.h
index b06003352142762aa5850db4a0fb9b2176e2fe5c..503292cad82754db6dee46e03ca99c4aab294fd2 100644
--- a/CommonSdk.framework/Headers/MyRequestUtil.h
+++ b/CommonSdk.framework/Headers/MyRequestUtil.h
@@ -14,10 +14,10 @@ NS_ASSUME_NONNULL_BEGIN
  涓婁紶鏂囦欢
  */
 + (void)upload:(NSString *)url fileName:(NSString *)fileName fileData:(NSData *)fileData mimeType:(NSString *)mimeType params:(NSDictionary *)params finished:(void (^)(NSInteger code,NSString * result)) finished;
++ (void)post:(NSString *)path header:(NSDictionary *)header param:(NSDictionary * __nullable)param finished:(void (^)(NSInteger code,NSString * result)) finished;
++ (void)request:(NSString *)path methodType:(NSString *)methodType param:(NSDictionary * __nullable)param  finished:(void (^)(NSInteger code,NSString * result)) finished;
 
-+ (void)request:(NSString *)urlString methodType:(NSString *)methodType param:(NSDictionary *)param  finished:(void (^)(NSInteger code,NSString * result)) finished;
-
-+ (void)request:(NSString *)urlString methodType:(NSString *)methodType header:(NSDictionary *)header param:(NSDictionary *)param  finished:(void (^)(NSInteger code,NSString * result)) finished;
++ (void)request:(NSString *)path methodType:(NSString *)methodType header:(NSDictionary * __nullable) header param:(NSDictionary * __nullable)param  finished:(void (^)(NSInteger code,NSString * result)) finished;
 @end
 
 NS_ASSUME_NONNULL_END
diff --git a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
index 622b45c1d6b139036af7cde79f8274c099feb5f2..49a912bd7b84b001dbebb2f65d839a6c60d1a7ca 100644
Binary files a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo and b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo
index 622b45c1d6b139036af7cde79f8274c099feb5f2..49a912bd7b84b001dbebb2f65d839a6c60d1a7ca 100644
Binary files a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo and b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo differ
diff --git a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftmodule b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftmodule
index 094e45dee8773c39b1b05faa92829e9ac7dbe8d6..67520efa18d6d46513cd480972da42ad27a9f6eb 100644
Binary files a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftmodule and b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64.swiftmodule b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64.swiftmodule
index 094e45dee8773c39b1b05faa92829e9ac7dbe8d6..67520efa18d6d46513cd480972da42ad27a9f6eb 100644
Binary files a/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64.swiftmodule and b/CommonSdk.framework/Modules/CommonSdk.swiftmodule/arm64.swiftmodule differ
diff --git a/CommonSdk.framework/_CodeSignature/CodeDirectory b/CommonSdk.framework/_CodeSignature/CodeDirectory
index 7fc54958fd182d9cad57abe315585a0f9a579b90..626c0329829584a2d51919f6e58f87ba811a620e 100644
Binary files a/CommonSdk.framework/_CodeSignature/CodeDirectory and b/CommonSdk.framework/_CodeSignature/CodeDirectory differ
diff --git a/CommonSdk.framework/_CodeSignature/CodeRequirements-1 b/CommonSdk.framework/_CodeSignature/CodeRequirements-1
index 8e8afdf9fa03c2a58ef1e6217c27336fbd6a6d2e..d3505a4c94741c1083fb951015b835371251ebd6 100644
Binary files a/CommonSdk.framework/_CodeSignature/CodeRequirements-1 and b/CommonSdk.framework/_CodeSignature/CodeRequirements-1 differ
diff --git a/CommonSdk.framework/_CodeSignature/CodeResources b/CommonSdk.framework/_CodeSignature/CodeResources
index 92b944a045c9b484193ec782054dc304b401037e..8be7e77428b38f314b13dd5be6559381a7a37582 100644
--- a/CommonSdk.framework/_CodeSignature/CodeResources
+++ b/CommonSdk.framework/_CodeSignature/CodeResources
@@ -6,23 +6,27 @@
 	<dict>
 		<key>.DS_Store</key>
 		<data>
-		+/pSlzmIV0TU1eDLCOaZ05Jnb1E=
+		LuJ06kccGa4EmQXjg72blM81Kvk=
 		</data>
 		<key>Headers/CommonSdk-Swift.h</key>
 		<data>
-		EiYR5sV7t73CanweZ95ApDGH0xw=
+		OHPY7WBRU2rHvG0LJbKNCQpgw2Q=
 		</data>
 		<key>Headers/CommonSdkHeader.h</key>
 		<data>
 		bhffssAwCKgzgB4q888rMHIz3uU=
 		</data>
+		<key>Headers/LucaReachability.h</key>
+		<data>
+		Bs5ZETQpgvYL4pkzEa4KSxn9UWM=
+		</data>
 		<key>Headers/MyAppConstant.h</key>
 		<data>
-		YdJ2YieFRzudH1XLiUXKEhke74g=
+		dkqTkbojgKAvNdpHbMrefx1yRbY=
 		</data>
 		<key>Headers/MyAppUtil.h</key>
 		<data>
-		Qjc8X+maoSZmTWiNYBpMGl22hEs=
+		u3GHez5fSmOE745udvBZVyjQ9cU=
 		</data>
 		<key>Headers/MyBaseTaskViewController.h</key>
 		<data>
@@ -42,7 +46,7 @@
 		</data>
 		<key>Headers/MyRequestUtil.h</key>
 		<data>
-		RkcA0oWBsZbIya2FP5LXnO4JBlU=
+		gxsNOFPIs24nfkwAFH5qdYeprJA=
 		</data>
 		<key>Headers/MyTaskEndView.h</key>
 		<data>
@@ -66,11 +70,11 @@
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
 		<data>
-		lbeGz8+ow2MhwJ5xVItz3/917TA=
+		IyqTqqeLsOmYZmCqeLzWbY9uFJU=
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo</key>
 		<data>
-		lbeGz8+ow2MhwJ5xVItz3/917TA=
+		IyqTqqeLsOmYZmCqeLzWbY9uFJU=
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftdoc</key>
 		<data>
@@ -78,7 +82,7 @@
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftmodule</key>
 		<data>
-		DIhX6tYDiGGFQX+RiqXgEhF7h5E=
+		a/PEfjchYNg92MtAtxdeKh/wtx8=
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/arm64.swiftdoc</key>
 		<data>
@@ -86,7 +90,7 @@
 		</data>
 		<key>Modules/CommonSdk.swiftmodule/arm64.swiftmodule</key>
 		<data>
-		DIhX6tYDiGGFQX+RiqXgEhF7h5E=
+		a/PEfjchYNg92MtAtxdeKh/wtx8=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>
@@ -143,11 +147,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			EiYR5sV7t73CanweZ95ApDGH0xw=
+			OHPY7WBRU2rHvG0LJbKNCQpgw2Q=
 			</data>
 			<key>hash2</key>
 			<data>
-			3EX5ExYSR770U0hHhxa2dMRqEgsJkZXb0u+CkyHWx70=
+			Opp6y3VpOF/cth6IdU3wE8utHDt2/KXL7ZIXpdwVfAs=
 			</data>
 		</dict>
 		<key>Headers/CommonSdkHeader.h</key>
@@ -161,26 +165,37 @@
 			sqvxyGFJ+ZhHrnt4ZfXaVf5R8+XU/L8HrOIGrEL07WA=
 			</data>
 		</dict>
+		<key>Headers/LucaReachability.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			Bs5ZETQpgvYL4pkzEa4KSxn9UWM=
+			</data>
+			<key>hash2</key>
+			<data>
+			Qt7ff34JNK/yN5b+7Osl+xBvEgKxg/6L7jwazueIipQ=
+			</data>
+		</dict>
 		<key>Headers/MyAppConstant.h</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			YdJ2YieFRzudH1XLiUXKEhke74g=
+			dkqTkbojgKAvNdpHbMrefx1yRbY=
 			</data>
 			<key>hash2</key>
 			<data>
-			TO0WSUNJXEREJ8z1E1wzgEkxhfv0Bzliq4s0Fng5pdE=
+			0hCsmKSJ8a/w4A+6QmbJk/JU/evyRnXn3YE5vSDtuVo=
 			</data>
 		</dict>
 		<key>Headers/MyAppUtil.h</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			Qjc8X+maoSZmTWiNYBpMGl22hEs=
+			u3GHez5fSmOE745udvBZVyjQ9cU=
 			</data>
 			<key>hash2</key>
 			<data>
-			Q92tjgZMPpbEANYD/f966bczJwtYjdpfcb55ZGhW44Y=
+			k5VlNzb8GAUjPywoA17f/QtbrmXPwJU+7ayMau3G0OA=
 			</data>
 		</dict>
 		<key>Headers/MyBaseTaskViewController.h</key>
@@ -231,11 +246,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			RkcA0oWBsZbIya2FP5LXnO4JBlU=
+			gxsNOFPIs24nfkwAFH5qdYeprJA=
 			</data>
 			<key>hash2</key>
 			<data>
-			9yr5mYW6HOIFq9b3oXikSJ7bN5do/PgygWpIQDoAY2c=
+			PJWTahMC0Sru1dL87GDu5WlfB8koy2hUhngZy7CWPlQ=
 			</data>
 		</dict>
 		<key>Headers/MyTaskEndView.h</key>
@@ -286,22 +301,22 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			lbeGz8+ow2MhwJ5xVItz3/917TA=
+			IyqTqqeLsOmYZmCqeLzWbY9uFJU=
 			</data>
 			<key>hash2</key>
 			<data>
-			VQ3LqKkmj/oWqaolWTS/QvYeRmLOVRVtcUbnJYAP9nY=
+			wINufXadX5/NOtqPEiEVyG6oGi0CmJ4kfEDlYBhKCAI=
 			</data>
 		</dict>
 		<key>Modules/CommonSdk.swiftmodule/Project/arm64.swiftsourceinfo</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			lbeGz8+ow2MhwJ5xVItz3/917TA=
+			IyqTqqeLsOmYZmCqeLzWbY9uFJU=
 			</data>
 			<key>hash2</key>
 			<data>
-			VQ3LqKkmj/oWqaolWTS/QvYeRmLOVRVtcUbnJYAP9nY=
+			wINufXadX5/NOtqPEiEVyG6oGi0CmJ4kfEDlYBhKCAI=
 			</data>
 		</dict>
 		<key>Modules/CommonSdk.swiftmodule/arm64-apple-ios.swiftdoc</key>
@@ -319,11 +334,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			DIhX6tYDiGGFQX+RiqXgEhF7h5E=
+			a/PEfjchYNg92MtAtxdeKh/wtx8=
 			</data>
 			<key>hash2</key>
 			<data>
-			xSPhhRL2JRxVriQWyWhzz3TnEEpEX3MSRbzXvghR2nY=
+			94Dhzl1D/TEYJ/pKUli52gICd58GfwmC9eGKyG/jbew=
 			</data>
 		</dict>
 		<key>Modules/CommonSdk.swiftmodule/arm64.swiftdoc</key>
@@ -341,11 +356,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			DIhX6tYDiGGFQX+RiqXgEhF7h5E=
+			a/PEfjchYNg92MtAtxdeKh/wtx8=
 			</data>
 			<key>hash2</key>
 			<data>
-			xSPhhRL2JRxVriQWyWhzz3TnEEpEX3MSRbzXvghR2nY=
+			94Dhzl1D/TEYJ/pKUli52gICd58GfwmC9eGKyG/jbew=
 			</data>
 		</dict>
 		<key>Modules/module.modulemap</key>
diff --git a/CommonSdk.framework/_CodeSignature/CodeSignature b/CommonSdk.framework/_CodeSignature/CodeSignature
index db358ea9dc53cca305f1f086501e721167d6cecf..637716db323ab1db29bb9d82847795f38d1ae0d7 100644
Binary files a/CommonSdk.framework/_CodeSignature/CodeSignature and b/CommonSdk.framework/_CodeSignature/CodeSignature differ
diff --git a/Example/LucaSdk.xcodeproj/project.pbxproj b/Example/LucaSdk.xcodeproj/project.pbxproj
index d5e6c7c3453132b01dc9278dcb079939ed4c3830..21d3a9aaed2231c83f10c4b729d51d13d3c68501 100644
--- a/Example/LucaSdk.xcodeproj/project.pbxproj
+++ b/Example/LucaSdk.xcodeproj/project.pbxproj
@@ -150,6 +150,7 @@
 				6003F587195388D20070C39A /* Frameworks */,
 				6003F588195388D20070C39A /* Resources */,
 				EE560F9792C1475BF99E0042 /* [CP] Copy Pods Resources */,
+				98A69CCCEB98B117ABD945B9 /* [CP] Embed Pods Frameworks */,
 			);
 			buildRules = (
 			);
@@ -232,6 +233,24 @@
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
+		98A69CCCEB98B117ABD945B9 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-LucaSdk_Example/Pods-LucaSdk_Example-frameworks.sh",
+				"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LucaSdk_Example/Pods-LucaSdk_Example-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 		EE560F9792C1475BF99E0042 /* [CP] Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -239,27 +258,13 @@
 			);
 			inputPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-LucaSdk_Example/Pods-LucaSdk_Example-resources.sh",
-				"${PODS_ROOT}/../../TremorSdk.framework/question@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/snake_banner0@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/snake_banner1@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/snake_banner2@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/snake_banner3@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/task_result_circle@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/time_icon2@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/time_icon@3x.png",
-				"${PODS_ROOT}/../../TremorSdk.framework/TremorViewController.nib",
+				"${PODS_ROOT}/LucaSdk/CommonSdk.framework",
+				"${PODS_ROOT}/LucaSdk/TremorSdk.framework",
 			);
 			name = "[CP] Copy Pods Resources";
 			outputPaths = (
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/question@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/snake_banner0@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/snake_banner1@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/snake_banner2@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/snake_banner3@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/task_result_circle@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/time_icon2@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/time_icon@3x.png",
-				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TremorViewController.nib",
+				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CommonSdk.framework",
+				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TremorSdk.framework",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
diff --git a/Example/LucaSdk/Base.lproj/Main.storyboard b/Example/LucaSdk/Base.lproj/Main.storyboard
index 4bf19141f7b9ccde62f4a775335a01fdd76b17dc..a245da510f0f24ffc87e91da2c3641ea7d2eac7e 100644
--- a/Example/LucaSdk/Base.lproj/Main.storyboard
+++ b/Example/LucaSdk/Base.lproj/Main.storyboard
@@ -20,7 +20,7 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LucaSdkDemo" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ujN-C4-okt">
-                                <rect key="frame" x="132" y="323" width="111.5" height="21"/>
+                                <rect key="frame" x="132" y="104" width="111.5" height="21"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                 <nil key="highlightedColor"/>
@@ -36,10 +36,10 @@
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
-                            <constraint firstItem="ujN-C4-okt" firstAttribute="centerY" secondItem="Ist-Am-qhf" secondAttribute="centerY" id="GyF-Nu-LW7"/>
                             <constraint firstItem="ujN-C4-okt" firstAttribute="centerX" secondItem="Ist-Am-qhf" secondAttribute="centerX" id="QSi-EE-GtV"/>
                             <constraint firstItem="jGj-vh-FJm" firstAttribute="centerX" secondItem="ujN-C4-okt" secondAttribute="centerX" id="WPL-Ft-M0G"/>
-                            <constraint firstItem="jGj-vh-FJm" firstAttribute="centerY" secondItem="ujN-C4-okt" secondAttribute="centerY" id="YVO-PP-eJT"/>
+                            <constraint firstItem="jGj-vh-FJm" firstAttribute="centerY" secondItem="Ist-Am-qhf" secondAttribute="centerY" id="h9X-J7-Ve2"/>
+                            <constraint firstItem="ujN-C4-okt" firstAttribute="top" secondItem="W91-lK-mPr" secondAttribute="bottom" constant="60" id="v2V-9B-Nr7"/>
                         </constraints>
                     </view>
                     <navigationItem key="navigationItem" id="F33-Rn-NTe"/>
diff --git a/Example/LucaSdk/LUCAAppDelegate.m b/Example/LucaSdk/LUCAAppDelegate.m
index b4760f3dacd81087d231ec9791ffa06bec854452..b5cee246241b40c3adef9a7fc12789f0dabf5194 100644
--- a/Example/LucaSdk/LUCAAppDelegate.m
+++ b/Example/LucaSdk/LUCAAppDelegate.m
@@ -12,7 +12,7 @@
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
-    // Override point for customization after application launch.
+    // Override point for customization after application launch.23232
     return YES;
 }
 
diff --git a/Example/LucaSdk/LucaSdk-Info.plist b/Example/LucaSdk/LucaSdk-Info.plist
index 1afbdc81c33f7d8fac208f8f0ccc8b4e0d7220cc..4ec02febf54fe8688748d9e1ff33540e67d12bca 100644
--- a/Example/LucaSdk/LucaSdk-Info.plist
+++ b/Example/LucaSdk/LucaSdk-Info.plist
@@ -47,5 +47,12 @@
 	</array>
 	<key>UIUserInterfaceStyle</key>
 	<string>Light</string>
+	<key>LSApplicationCategoryType</key>
+	<dict/>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
 </dict>
 </plist>
diff --git a/Example/Podfile b/Example/Podfile
index 08c6638a8014d0f8f67198cff1b0b86873345b89..e0f9155767082f1f90f5fa24a7bfc2d9c0fbb1c6 100644
--- a/Example/Podfile
+++ b/Example/Podfile
@@ -1,7 +1,9 @@
 use_frameworks!
+source 'https://cdn.cocoapods.org/'
 source 'https://git.lucahealthcare.cn/ios/lucasdk'
 platform :ios, '9.0'
 target 'LucaSdk_Example' do
 #  pod 'LucaSdk/Tremor', :path => '../'
+  pod 'SDWebImage', '4.4.8'
   pod 'LucaSdk/Tremor'
 end
diff --git a/LucaSdk.podspec b/LucaSdk.podspec
index d664930c3aa2a2d442d5a07e0c4eddf788ba1a19..767c10c42d6e57ffe1e3d522b62244690c745bc8 100644
--- a/LucaSdk.podspec
+++ b/LucaSdk.podspec
@@ -5,7 +5,7 @@ Pod::Spec.new do |s|
   s.description      = <<-DESC
                         It's an SDK for Luca.
                        DESC
-  s.homepage         = 'https://github.com/344185723@qq.com/LucaSdk'
+  s.homepage         = 'https://git.lucahealthcare.cn/ios/lucasdk'
   s.license          = { :type => 'MIT', :file => 'LICENSE' }
   s.author           = { '344185723@qq.com' => '344185723@qq.com' }
   s.source           = { :git => 'https://git.lucahealthcare.cn/ios/lucasdk'}
@@ -15,7 +15,8 @@ Pod::Spec.new do |s|
   s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
   s.ios.deployment_target = '9.0'
   s.subspec 'Tremor' do |cs|
-    cs.resources = "TremorSdk.framework/*.png",'TremorSdk.framework/*.nib'
+#    cs.resources = "TremorSdk.framework/*.png",'TremorSdk.framework/*.nib',"CommonSdk.framework/*.png",'CommonSdk.framework/*.nib'
+    cs.resources = 'CommonSdk.framework','TremorSdk.framework'
     cs.vendored_frameworks = 'CommonSdk.framework','TremorSdk.framework'
     cs.frameworks = 'Accelerate'
     cs.libraries = 'c++'
diff --git a/TremorSdk.framework/Headers/TremorManager.h b/TremorSdk.framework/Headers/TremorManager.h
index fdace9ec435e9e18d8661646054e98e83711efb4..7b2bea93b47b87609a6ae65e628448bc99f5cb89 100644
--- a/TremorSdk.framework/Headers/TremorManager.h
+++ b/TremorSdk.framework/Headers/TremorManager.h
@@ -29,8 +29,14 @@ NS_ASSUME_NONNULL_BEGIN
   瀹炰緥鍖栧璞�
  */
 + (instancetype)shareManager;
+
+/**
+ 璁剧疆鏈嶅姟鍣ㄧ幆澧冿紝true锛氭寮忕幆澧冿紝false锛氬紑鍙戠幆澧冿紙榛樿寮€鍙戠幆澧�)
+ */
+- (void)setRelease:(Boolean)release;
+
 /**
-  浣跨敤鍐呯疆鐣岄潰鐨勬柟寮�444444
+  浣跨敤鍐呯疆鐣岄潰鐨勬柟寮�
  */
 - (void)pushViewController:(UINavigationController *)nav;
 
diff --git a/TremorSdkBundle.bundle/TremorResultViewController.nib b/TremorSdk.framework/TremorResultViewController.nib/objects-11.0+.nib
similarity index 100%
rename from TremorSdkBundle.bundle/TremorResultViewController.nib
rename to TremorSdk.framework/TremorResultViewController.nib/objects-11.0+.nib
diff --git a/TremorSdk.framework/TremorResultViewController.nib/runtime.nib b/TremorSdk.framework/TremorResultViewController.nib/runtime.nib
new file mode 100644
index 0000000000000000000000000000000000000000..72e6a6f3bbd51687000888f9cb81f46c64775817
Binary files /dev/null and b/TremorSdk.framework/TremorResultViewController.nib/runtime.nib differ
diff --git a/TremorSdk.framework/TremorSdk b/TremorSdk.framework/TremorSdk
index 0965bb7cdf1efbd9bac58dc5379921af4e01858f..b7be4c4867d99ba6d2ed3ead57fd9fe98b2a0e0b 100644
Binary files a/TremorSdk.framework/TremorSdk and b/TremorSdk.framework/TremorSdk differ
diff --git a/TremorSdk.framework/_CodeSignature/CodeDirectory b/TremorSdk.framework/_CodeSignature/CodeDirectory
index d6d024259048317865c537413ab55278eab533a0..db52c4da261900f7c7193e3c9c0f8599f341c4ea 100644
Binary files a/TremorSdk.framework/_CodeSignature/CodeDirectory and b/TremorSdk.framework/_CodeSignature/CodeDirectory differ
diff --git a/TremorSdk.framework/_CodeSignature/CodeRequirements-1 b/TremorSdk.framework/_CodeSignature/CodeRequirements-1
index a91c6d9d5ecbbf9f610bff8a3772efae97e67ae4..eaac20b9d8b451f59d6e241f9ffb6422de414055 100644
Binary files a/TremorSdk.framework/_CodeSignature/CodeRequirements-1 and b/TremorSdk.framework/_CodeSignature/CodeRequirements-1 differ
diff --git a/TremorSdk.framework/_CodeSignature/CodeResources b/TremorSdk.framework/_CodeSignature/CodeResources
index 6be2e29db01e937619f4500a56675043c83c2e46..c4ff9824c32afeb3a2844aac18593318b8567aed 100644
--- a/TremorSdk.framework/_CodeSignature/CodeResources
+++ b/TremorSdk.framework/_CodeSignature/CodeResources
@@ -10,7 +10,7 @@
 		</data>
 		<key>Headers/TremorManager.h</key>
 		<data>
-		MTiOnsU+F9Lj5TSfIeg3rJNrADU=
+		M0EupAAyOgGCK+0C5RENIf+MKLg=
 		</data>
 		<key>Headers/TremorSdkHeader.h</key>
 		<data>
@@ -20,6 +20,14 @@
 		<data>
 		1opjSxTDUvDkTgUDUDIXj2YUJ6Y=
 		</data>
+		<key>TremorResultViewController.nib/objects-11.0+.nib</key>
+		<data>
+		/n0lGnmv1kniOzfKV0Ot0PXZDCw=
+		</data>
+		<key>TremorResultViewController.nib/runtime.nib</key>
+		<data>
+		LTd1dlHN/LrLMhsjJqmjePulHzo=
+		</data>
 		<key>TremorViewController.nib/objects-11.0+.nib</key>
 		<data>
 		fJmEu5tvPw3fBMNWi7pLUIEbSc0=
@@ -32,6 +40,10 @@
 		<data>
 		eMv6BEeQ/vEMrZaoAmkRCLRVdxE=
 		</data>
+		<key>question_icon@3x.png</key>
+		<data>
+		eMv6BEeQ/vEMrZaoAmkRCLRVdxE=
+		</data>
 		<key>snake_banner0@3x.png</key>
 		<data>
 		L2ysf+bGXu15LK+vBxsQwbUdK3k=
@@ -67,11 +79,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			MTiOnsU+F9Lj5TSfIeg3rJNrADU=
+			M0EupAAyOgGCK+0C5RENIf+MKLg=
 			</data>
 			<key>hash2</key>
 			<data>
-			tfRgdFRT5bDoss+4TuDiP43ogT35AH/5qj3iao54sB8=
+			iK3XGaPRGdabEGILxkKVAOPJS/KbHUO8wS0s3Jb1aIg=
 			</data>
 		</dict>
 		<key>Headers/TremorSdkHeader.h</key>
@@ -85,6 +97,28 @@
 			nnfEmE/h8BWNPG+6/zLLyKcnt/LuQCuoIo8IBvDyJ9s=
 			</data>
 		</dict>
+		<key>TremorResultViewController.nib/objects-11.0+.nib</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			/n0lGnmv1kniOzfKV0Ot0PXZDCw=
+			</data>
+			<key>hash2</key>
+			<data>
+			q2oEJ8X6SFH5Us1tQPoubigENANNYk+cgCTq5r5VT/A=
+			</data>
+		</dict>
+		<key>TremorResultViewController.nib/runtime.nib</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			LTd1dlHN/LrLMhsjJqmjePulHzo=
+			</data>
+			<key>hash2</key>
+			<data>
+			Mq2PpDH29NVTABiYJWfn4vQqmghvNTDcZEVN30Sgicc=
+			</data>
+		</dict>
 		<key>TremorViewController.nib/objects-11.0+.nib</key>
 		<dict>
 			<key>hash</key>
@@ -118,6 +152,17 @@
 			rn5FQ3dzEzd4FRTQKDwj/mWZyI/MN6IOHgz1r/Mx3Ys=
 			</data>
 		</dict>
+		<key>question_icon@3x.png</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			eMv6BEeQ/vEMrZaoAmkRCLRVdxE=
+			</data>
+			<key>hash2</key>
+			<data>
+			rn5FQ3dzEzd4FRTQKDwj/mWZyI/MN6IOHgz1r/Mx3Ys=
+			</data>
+		</dict>
 		<key>snake_banner0@3x.png</key>
 		<dict>
 			<key>hash</key>
diff --git a/TremorSdk.framework/_CodeSignature/CodeSignature b/TremorSdk.framework/_CodeSignature/CodeSignature
index ead56d3086572c8ae353addc697b94717b8aca27..e8a02505404e4be70e846a6b1565f9d2fa3f6cab 100644
Binary files a/TremorSdk.framework/_CodeSignature/CodeSignature and b/TremorSdk.framework/_CodeSignature/CodeSignature differ
diff --git a/TremorSdkBundle.bundle/Assets.car b/TremorSdkBundle.bundle/Assets.car
deleted file mode 100644
index e6e8c52dd000d8bf2eb370501cdc6dd9c4fc9951..0000000000000000000000000000000000000000
Binary files a/TremorSdkBundle.bundle/Assets.car and /dev/null differ
diff --git a/TremorSdkBundle.bundle/Info.plist b/TremorSdkBundle.bundle/Info.plist
deleted file mode 100644
index 98219c49defb233a8b8eeb77b1da00f7e2cab4f6..0000000000000000000000000000000000000000
Binary files a/TremorSdkBundle.bundle/Info.plist and /dev/null differ
diff --git a/TremorSdkBundle.bundle/TremorSdkBundle b/TremorSdkBundle.bundle/TremorSdkBundle
deleted file mode 100755
index c123da47fd21b5bb003e447cc8c6d889c554e238..0000000000000000000000000000000000000000
Binary files a/TremorSdkBundle.bundle/TremorSdkBundle and /dev/null differ
diff --git a/TremorSdkBundle.bundle/TremorViewController.nib b/TremorSdkBundle.bundle/TremorViewController.nib
deleted file mode 100644
index 8631a1e253cb2072fa3f2daffda77a11bc30deb3..0000000000000000000000000000000000000000
Binary files a/TremorSdkBundle.bundle/TremorViewController.nib and /dev/null differ