mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 21:33:12 +08:00 
			
		
		
		
	Rename
This commit is contained in:
		| @@ -1,14 +1,14 @@ | |||||||
| PODS: | PODS: | ||||||
|   - boost-for-react-native (1.63.0) |   - boost-for-react-native (1.63.0) | ||||||
|   - DoubleConversion (1.1.6) |   - DoubleConversion (1.1.6) | ||||||
|   - FBLazyVector (0.61.2) |   - FBLazyVector (0.61.4) | ||||||
|   - FBReactNativeSpec (0.61.2): |   - FBReactNativeSpec (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - RCTRequired (= 0.61.2) |     - RCTRequired (= 0.61.4) | ||||||
|     - RCTTypeSafety (= 0.61.2) |     - RCTTypeSafety (= 0.61.4) | ||||||
|     - React-Core (= 0.61.2) |     - React-Core (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - ReactCommon/turbomodule/core (= 0.61.2) |     - ReactCommon/turbomodule/core (= 0.61.4) | ||||||
|   - Folly (2018.10.22.00): |   - Folly (2018.10.22.00): | ||||||
|     - boost-for-react-native |     - boost-for-react-native | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
| @@ -19,215 +19,215 @@ PODS: | |||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - glog |     - glog | ||||||
|   - glog (0.3.5) |   - glog (0.3.5) | ||||||
|   - RCTRequired (0.61.2) |   - RCTRequired (0.61.4) | ||||||
|   - RCTTypeSafety (0.61.2): |   - RCTTypeSafety (0.61.4): | ||||||
|     - FBLazyVector (= 0.61.2) |     - FBLazyVector (= 0.61.4) | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - RCTRequired (= 0.61.2) |     - RCTRequired (= 0.61.4) | ||||||
|     - React-Core (= 0.61.2) |     - React-Core (= 0.61.4) | ||||||
|   - React (0.61.2): |   - React (0.61.4): | ||||||
|     - React-Core (= 0.61.2) |     - React-Core (= 0.61.4) | ||||||
|     - React-Core/DevSupport (= 0.61.2) |     - React-Core/DevSupport (= 0.61.4) | ||||||
|     - React-Core/RCTWebSocket (= 0.61.2) |     - React-Core/RCTWebSocket (= 0.61.4) | ||||||
|     - React-RCTActionSheet (= 0.61.2) |     - React-RCTActionSheet (= 0.61.4) | ||||||
|     - React-RCTAnimation (= 0.61.2) |     - React-RCTAnimation (= 0.61.4) | ||||||
|     - React-RCTBlob (= 0.61.2) |     - React-RCTBlob (= 0.61.4) | ||||||
|     - React-RCTImage (= 0.61.2) |     - React-RCTImage (= 0.61.4) | ||||||
|     - React-RCTLinking (= 0.61.2) |     - React-RCTLinking (= 0.61.4) | ||||||
|     - React-RCTNetwork (= 0.61.2) |     - React-RCTNetwork (= 0.61.4) | ||||||
|     - React-RCTSettings (= 0.61.2) |     - React-RCTSettings (= 0.61.4) | ||||||
|     - React-RCTText (= 0.61.2) |     - React-RCTText (= 0.61.4) | ||||||
|     - React-RCTVibration (= 0.61.2) |     - React-RCTVibration (= 0.61.4) | ||||||
|   - React-Core (0.61.2): |   - React-Core (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default (= 0.61.2) |     - React-Core/Default (= 0.61.4) | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/CoreModulesHeaders (0.61.2): |   - React-Core/CoreModulesHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/Default (0.61.2): |   - React-Core/Default (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/DevSupport (0.61.2): |   - React-Core/DevSupport (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default (= 0.61.2) |     - React-Core/Default (= 0.61.4) | ||||||
|     - React-Core/RCTWebSocket (= 0.61.2) |     - React-Core/RCTWebSocket (= 0.61.4) | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - React-jsinspector (= 0.61.2) |     - React-jsinspector (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTActionSheetHeaders (0.61.2): |   - React-Core/RCTActionSheetHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTAnimationHeaders (0.61.2): |   - React-Core/RCTAnimationHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTBlobHeaders (0.61.2): |   - React-Core/RCTBlobHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTImageHeaders (0.61.2): |   - React-Core/RCTImageHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTLinkingHeaders (0.61.2): |   - React-Core/RCTLinkingHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTNetworkHeaders (0.61.2): |   - React-Core/RCTNetworkHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTSettingsHeaders (0.61.2): |   - React-Core/RCTSettingsHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTTextHeaders (0.61.2): |   - React-Core/RCTTextHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTVibrationHeaders (0.61.2): |   - React-Core/RCTVibrationHeaders (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default |     - React-Core/Default | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-Core/RCTWebSocket (0.61.2): |   - React-Core/RCTWebSocket (0.61.4): | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core/Default (= 0.61.2) |     - React-Core/Default (= 0.61.4) | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-jsiexecutor (= 0.61.2) |     - React-jsiexecutor (= 0.61.4) | ||||||
|     - Yoga |     - Yoga | ||||||
|   - React-CoreModules (0.61.2): |   - React-CoreModules (0.61.4): | ||||||
|     - FBReactNativeSpec (= 0.61.2) |     - FBReactNativeSpec (= 0.61.4) | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - RCTTypeSafety (= 0.61.2) |     - RCTTypeSafety (= 0.61.4) | ||||||
|     - React-Core/CoreModulesHeaders (= 0.61.2) |     - React-Core/CoreModulesHeaders (= 0.61.4) | ||||||
|     - React-RCTImage (= 0.61.2) |     - React-RCTImage (= 0.61.4) | ||||||
|     - ReactCommon/turbomodule/core (= 0.61.2) |     - ReactCommon/turbomodule/core (= 0.61.4) | ||||||
|   - React-cxxreact (0.61.2): |   - React-cxxreact (0.61.4): | ||||||
|     - boost-for-react-native (= 1.63.0) |     - boost-for-react-native (= 1.63.0) | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-jsinspector (= 0.61.2) |     - React-jsinspector (= 0.61.4) | ||||||
|   - React-jsi (0.61.2): |   - React-jsi (0.61.4): | ||||||
|     - boost-for-react-native (= 1.63.0) |     - boost-for-react-native (= 1.63.0) | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-jsi/Default (= 0.61.2) |     - React-jsi/Default (= 0.61.4) | ||||||
|   - React-jsi/Default (0.61.2): |   - React-jsi/Default (0.61.4): | ||||||
|     - boost-for-react-native (= 1.63.0) |     - boost-for-react-native (= 1.63.0) | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|   - React-jsiexecutor (0.61.2): |   - React-jsiexecutor (0.61.4): | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|   - React-jsinspector (0.61.2) |   - React-jsinspector (0.61.4) | ||||||
|   - react-native-update (5.3.0): |   - react-native-update (5.3.2): | ||||||
|     - React |     - React | ||||||
|     - react-native-update/BSDiff (= 5.3.0) |     - react-native-update/BSDiff (= 5.3.2) | ||||||
|     - react-native-update/RCTHotUpdate (= 5.3.0) |     - react-native-update/RCTPushy (= 5.3.2) | ||||||
|     - SSZipArchive |     - SSZipArchive | ||||||
|   - react-native-update/BSDiff (5.3.0): |   - react-native-update/BSDiff (5.3.2): | ||||||
|     - React |     - React | ||||||
|     - SSZipArchive |     - SSZipArchive | ||||||
|   - react-native-update/RCTHotUpdate (5.3.0): |   - react-native-update/RCTPushy (5.3.2): | ||||||
|     - React |     - React | ||||||
|     - SSZipArchive |     - SSZipArchive | ||||||
|   - React-RCTActionSheet (0.61.2): |   - React-RCTActionSheet (0.61.4): | ||||||
|     - React-Core/RCTActionSheetHeaders (= 0.61.2) |     - React-Core/RCTActionSheetHeaders (= 0.61.4) | ||||||
|   - React-RCTAnimation (0.61.2): |   - React-RCTAnimation (0.61.4): | ||||||
|     - React-Core/RCTAnimationHeaders (= 0.61.2) |     - React-Core/RCTAnimationHeaders (= 0.61.4) | ||||||
|   - React-RCTBlob (0.61.2): |   - React-RCTBlob (0.61.4): | ||||||
|     - React-Core/RCTBlobHeaders (= 0.61.2) |     - React-Core/RCTBlobHeaders (= 0.61.4) | ||||||
|     - React-Core/RCTWebSocket (= 0.61.2) |     - React-Core/RCTWebSocket (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - React-RCTNetwork (= 0.61.2) |     - React-RCTNetwork (= 0.61.4) | ||||||
|   - React-RCTImage (0.61.2): |   - React-RCTImage (0.61.4): | ||||||
|     - React-Core/RCTImageHeaders (= 0.61.2) |     - React-Core/RCTImageHeaders (= 0.61.4) | ||||||
|     - React-RCTNetwork (= 0.61.2) |     - React-RCTNetwork (= 0.61.4) | ||||||
|   - React-RCTLinking (0.61.2): |   - React-RCTLinking (0.61.4): | ||||||
|     - React-Core/RCTLinkingHeaders (= 0.61.2) |     - React-Core/RCTLinkingHeaders (= 0.61.4) | ||||||
|   - React-RCTNetwork (0.61.2): |   - React-RCTNetwork (0.61.4): | ||||||
|     - React-Core/RCTNetworkHeaders (= 0.61.2) |     - React-Core/RCTNetworkHeaders (= 0.61.4) | ||||||
|   - React-RCTSettings (0.61.2): |   - React-RCTSettings (0.61.4): | ||||||
|     - React-Core/RCTSettingsHeaders (= 0.61.2) |     - React-Core/RCTSettingsHeaders (= 0.61.4) | ||||||
|   - React-RCTText (0.61.2): |   - React-RCTText (0.61.4): | ||||||
|     - React-Core/RCTTextHeaders (= 0.61.2) |     - React-Core/RCTTextHeaders (= 0.61.4) | ||||||
|   - React-RCTVibration (0.61.2): |   - React-RCTVibration (0.61.4): | ||||||
|     - React-Core/RCTVibrationHeaders (= 0.61.2) |     - React-Core/RCTVibrationHeaders (= 0.61.4) | ||||||
|   - ReactCommon/jscallinvoker (0.61.2): |   - ReactCommon/jscallinvoker (0.61.4): | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|   - ReactCommon/turbomodule/core (0.61.2): |   - ReactCommon/turbomodule/core (0.61.4): | ||||||
|     - DoubleConversion |     - DoubleConversion | ||||||
|     - Folly (= 2018.10.22.00) |     - Folly (= 2018.10.22.00) | ||||||
|     - glog |     - glog | ||||||
|     - React-Core (= 0.61.2) |     - React-Core (= 0.61.4) | ||||||
|     - React-cxxreact (= 0.61.2) |     - React-cxxreact (= 0.61.4) | ||||||
|     - React-jsi (= 0.61.2) |     - React-jsi (= 0.61.4) | ||||||
|     - ReactCommon/jscallinvoker (= 0.61.2) |     - ReactCommon/jscallinvoker (= 0.61.4) | ||||||
|   - SSZipArchive (2.2.2) |   - SSZipArchive (2.2.2) | ||||||
|   - Yoga (1.14.0) |   - Yoga (1.14.0) | ||||||
|  |  | ||||||
| @@ -324,33 +324,33 @@ EXTERNAL SOURCES: | |||||||
| SPEC CHECKSUMS: | SPEC CHECKSUMS: | ||||||
|   boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c |   boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c | ||||||
|   DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 |   DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 | ||||||
|   FBLazyVector: 68b6a76960fbd8ecd9fb7ce0aadd3329c3340a99 |   FBLazyVector: feb35a6b7f7b50f367be07f34012f34a79282fa3 | ||||||
|   FBReactNativeSpec: 5a764c60abdc3336a213e5310c40b74741f32839 |   FBReactNativeSpec: 51477b84b1bf7ab6f9ef307c24e3dd675391be44 | ||||||
|   Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 |   Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 | ||||||
|   glog: 1f3da668190260b06b429bb211bfbee5cd790c28 |   glog: 1f3da668190260b06b429bb211bfbee5cd790c28 | ||||||
|   RCTRequired: c639d59ed389cfb1f1203f65c2ea946d8ec586e2 |   RCTRequired: f3b3fb6f4723e8e52facb229d0c75fdc76773849 | ||||||
|   RCTTypeSafety: dc23fb655d6c77667c78e327bf661bc11e3b8aec |   RCTTypeSafety: 2ec60de6abb1db050b56ecc4b60188026078fd10 | ||||||
|   React: 7e586e5d7bec12b91c1a096826b0fc9ab1da7865 |   React: 10e0130b57e55a7cd8c3dee37c1261102ce295f4 | ||||||
|   React-Core: 8ddb9770b4a30a6ab4a754e6ed5ec76454e3d699 |   React-Core: 636212410772d05f3a1eb79d965df2962ca1c70b | ||||||
|   React-CoreModules: b3d9eece8ad7df36c917a41f05c1168c52fe0b34 |   React-CoreModules: 6f70d5e41919289c582f88c9ad9923fe5c87400a | ||||||
|   React-cxxreact: 1f972757c0bd08d962ef78068e06613c27489a3f |   React-cxxreact: ddecbe9157ec1743f52ea17bf8d95debc0d6e846 | ||||||
|   React-jsi: 32285a21b1b24c36060493ed3057a34677d58d09 |   React-jsi: ca921f4041505f9d5197139b2d09eeb020bb12e8 | ||||||
|   React-jsiexecutor: 8909917ff7d8f21a57e443a866fd8d4560e50c65 |   React-jsiexecutor: 8dfb73b987afa9324e4009bdce62a18ce23d983c | ||||||
|   React-jsinspector: 111d7d342b07a904c400592e02a2b958f1098b60 |   React-jsinspector: d15478d0a8ada19864aa4d1cc1c697b41b3fa92f | ||||||
|   react-native-update: 5efc26c6af746154a6b7f7c4c073b9ff3f418322 |   react-native-update: 7d4980517ec8d84ffa7909bad33d7a917a8d7f2f | ||||||
|   React-RCTActionSheet: 89b037c0fb7d2671607cb645760164e7e0c013f6 |   React-RCTActionSheet: 7369b7c85f99b6299491333affd9f01f5a130c22 | ||||||
|   React-RCTAnimation: e3cefa93c38c004c318f7ec04b883eb14b8b8235 |   React-RCTAnimation: d07be15b2bd1d06d89417eb0343f98ffd2b099a7 | ||||||
|   React-RCTBlob: d26ac0e313fbf14e7203473fd593ccaaeee8329e |   React-RCTBlob: 8e0b23d95c9baa98f6b0e127e07666aaafd96c34 | ||||||
|   React-RCTImage: 4bdd9588783fa9e48ef669ccd4f747224e208edf |   React-RCTImage: 443050d14a66e8c2332e9c055f45689d23e15cc7 | ||||||
|   React-RCTLinking: 65f0088ff463babd3d5d567964a65b74141eff3b |   React-RCTLinking: ce9a90ba155aec41be49e75ec721bbae2d48a47e | ||||||
|   React-RCTNetwork: 0c1a73576c1cfeafe68396556de1b17d93c0c595 |   React-RCTNetwork: 41fe54bacc67dd00e6e4c4d30dd98a13e4beabc8 | ||||||
|   React-RCTSettings: 4194f1f0edbddf3fd44d1714dc6578bb20379b60 |   React-RCTSettings: 45e3e0a6470310b2dab2ccc6d1d73121ba3ea936 | ||||||
|   React-RCTText: e3ef6191cdb627855ff7fe8fa0c1e14094967fb8 |   React-RCTText: 21934e0a51d522abcd0a275407e80af45d6fd9ec | ||||||
|   React-RCTVibration: fb54c732fd20405a76598e431aa2f8c2bf527de9 |   React-RCTVibration: 0f76400ee3cec6edb9c125da49fed279340d145a | ||||||
|   ReactCommon: 5848032ed2f274fcb40f6b9ec24067787c42d479 |   ReactCommon: a6a294e7028ed67b926d29551aa9394fd989c24c | ||||||
|   SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23 |   SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23 | ||||||
|   Yoga: 14927e37bd25376d216b150ab2a561773d57911f |   Yoga: ba3d99dbee6c15ea6bbe3783d1f0cb1ffb79af0f | ||||||
|  |  | ||||||
| PODFILE CHECKSUM: 244ba888c650d3945bf72a8d01516fb0f1b3b097 | PODFILE CHECKSUM: 244ba888c650d3945bf72a8d01516fb0f1b3b097 | ||||||
|  |  | ||||||
| COCOAPODS: 1.8.1 | COCOAPODS: 1.8.4 | ||||||
|   | |||||||
| @@ -135,6 +135,7 @@ | |||||||
| 				13B07F8C1A680F5B00A75B9A /* Frameworks */, | 				13B07F8C1A680F5B00A75B9A /* Frameworks */, | ||||||
| 				13B07F8E1A680F5B00A75B9A /* Resources */, | 				13B07F8E1A680F5B00A75B9A /* Resources */, | ||||||
| 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | ||||||
|  | 				1CD78CE8A2E7B88FAE48FCEE /* [CP] Copy Pods Resources */, | ||||||
| 			); | 			); | ||||||
| 			buildRules = ( | 			buildRules = ( | ||||||
| 			); | 			); | ||||||
| @@ -200,6 +201,24 @@ | |||||||
| 			shellPath = /bin/sh; | 			shellPath = /bin/sh; | ||||||
| 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; | 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; | ||||||
| 		}; | 		}; | ||||||
|  | 		1CD78CE8A2E7B88FAE48FCEE /* [CP] Copy Pods Resources */ = { | ||||||
|  | 			isa = PBXShellScriptBuildPhase; | ||||||
|  | 			buildActionMask = 2147483647; | ||||||
|  | 			files = ( | ||||||
|  | 			); | ||||||
|  | 			inputPaths = ( | ||||||
|  | 				"${PODS_ROOT}/Target Support Files/Pods-testHotUpdate/Pods-testHotUpdate-resources.sh", | ||||||
|  | 				"${PODS_ROOT}/../../../../ios/pushy_build_time.txt", | ||||||
|  | 			); | ||||||
|  | 			name = "[CP] Copy Pods Resources"; | ||||||
|  | 			outputPaths = ( | ||||||
|  | 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/pushy_build_time.txt", | ||||||
|  | 			); | ||||||
|  | 			runOnlyForDeploymentPostprocessing = 0; | ||||||
|  | 			shellPath = /bin/sh; | ||||||
|  | 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-testHotUpdate/Pods-testHotUpdate-resources.sh\"\n"; | ||||||
|  | 			showEnvVarsInLog = 0; | ||||||
|  | 		}; | ||||||
| 		C49C562FA1BDE1F80ECD9C13 /* [CP] Check Pods Manifest.lock */ = { | 		C49C562FA1BDE1F80ECD9C13 /* [CP] Check Pods Manifest.lock */ = { | ||||||
| 			isa = PBXShellScriptBuildPhase; | 			isa = PBXShellScriptBuildPhase; | ||||||
| 			buildActionMask = 2147483647; | 			buildActionMask = 2147483647; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
| #import <React/RCTBridge.h> | #import <React/RCTBridge.h> | ||||||
| #import <React/RCTBundleURLProvider.h> | #import <React/RCTBundleURLProvider.h> | ||||||
| #import <React/RCTRootView.h> | #import <React/RCTRootView.h> | ||||||
| #import "RCTHotUpdate.h" | #import "RCTPushy.h" | ||||||
|  |  | ||||||
| @implementation AppDelegate | @implementation AppDelegate | ||||||
|  |  | ||||||
| @@ -37,7 +37,7 @@ | |||||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; |   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | ||||||
| #else | #else | ||||||
|   // 非DEBUG情况下替换为热更新bundle |   // 非DEBUG情况下替换为热更新bundle | ||||||
|   return [RCTHotUpdate bundleURL]; |   return [RCTPushy bundleURL]; | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ | |||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "react": "16.9.0", |     "react": "16.9.0", | ||||||
|     "react-native": "0.61.2", |     "react-native": "0.61.4", | ||||||
|     "react-native-update": "link:../.." |     "react-native-update": "link:../.." | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -57,7 +57,7 @@ public class UpdateModule extends ReactContextBaseJavaModule{ | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public String getName() { |     public String getName() { | ||||||
|         return "RCTHotUpdate"; |         return "RCTPushy"; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @ReactMethod |     @ReactMethod | ||||||
|   | |||||||
| @@ -74,8 +74,8 @@ pod 'react-native-update', path: '../node_modules/react-native-update' | |||||||
| <summary>RN < 0.60且不使用CocoaPods</summary> | <summary>RN < 0.60且不使用CocoaPods</summary> | ||||||
|  |  | ||||||
| 1. 在XCode中的Project Navigator里,右键点击`Libraries` ➜ `Add Files to [你的工程名]` | 1. 在XCode中的Project Navigator里,右键点击`Libraries` ➜ `Add Files to [你的工程名]` | ||||||
| 2. 进入`node_modules` ➜ `react-native-update` ➜ `ios 并选中 `RCTHotUpdate.xcodeproj` | 2. 进入`node_modules` ➜ `react-native-update` ➜ `ios 并选中 `RCTPushy.xcodeproj` | ||||||
| 3. 在XCode中的project navigator里,选中你的工程,在 `Build Phases` ➜ `Link Binary With Libraries` 中添加 `libRCTHotUpdate.a` | 3. 在XCode中的project navigator里,选中你的工程,在 `Build Phases` ➜ `Link Binary With Libraries` 中添加 `libRCTPushy.a` | ||||||
| 4. 继续在`Build Settings`里搜索`Header Search Path`,添加$(SRCROOT)/../node_modules/react-native-update/ios | 4. 继续在`Build Settings`里搜索`Header Search Path`,添加$(SRCROOT)/../node_modules/react-native-update/ios | ||||||
| 5. 重新编译 | 5. 重新编译 | ||||||
|  |  | ||||||
| @@ -115,7 +115,7 @@ pod 'react-native-update', path: '../node_modules/react-native-update' | |||||||
| ```objective-c | ```objective-c | ||||||
| // ... 其它代码 | // ... 其它代码 | ||||||
|  |  | ||||||
| #import "RCTHotUpdate.h" | #import "RCTPushy.h" | ||||||
|  |  | ||||||
| // 如果RN版本 >= 0.59,修改sourceURLForBridge | // 如果RN版本 >= 0.59,修改sourceURLForBridge | ||||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||||
| @@ -124,7 +124,7 @@ pod 'react-native-update', path: '../node_modules/react-native-update' | |||||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; |   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | ||||||
| #else | #else | ||||||
|   // 非DEBUG情况下替换为热更新bundle |   // 非DEBUG情况下替换为热更新bundle | ||||||
|   return [RCTHotUpdate bundleURL]; |   return [RCTPushy bundleURL]; | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -136,7 +136,7 @@ pod 'react-native-update', path: '../node_modules/react-native-update' | |||||||
|   jsCodeLocation = .......... |   jsCodeLocation = .......... | ||||||
| #else | #else | ||||||
|   // 非DEBUG情况下替换为热更新bundle |   // 非DEBUG情况下替换为热更新bundle | ||||||
|   jsCodeLocation = [RCTHotUpdate bundleURL]; |   jsCodeLocation = [RCTPushy bundleURL]; | ||||||
| #endif | #endif | ||||||
|   // ... 其它代码 |   // ... 其它代码 | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,80 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <Scheme |  | ||||||
|    LastUpgradeVersion = "0720" |  | ||||||
|    version = "1.3"> |  | ||||||
|    <BuildAction |  | ||||||
|       parallelizeBuildables = "YES" |  | ||||||
|       buildImplicitDependencies = "YES"> |  | ||||||
|       <BuildActionEntries> |  | ||||||
|          <BuildActionEntry |  | ||||||
|             buildForTesting = "YES" |  | ||||||
|             buildForRunning = "YES" |  | ||||||
|             buildForProfiling = "YES" |  | ||||||
|             buildForArchiving = "YES" |  | ||||||
|             buildForAnalyzing = "YES"> |  | ||||||
|             <BuildableReference |  | ||||||
|                BuildableIdentifier = "primary" |  | ||||||
|                BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|                BuildableName = "libRCTHotUpdate.a" |  | ||||||
|                BlueprintName = "RCTHotUpdate" |  | ||||||
|                ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|             </BuildableReference> |  | ||||||
|          </BuildActionEntry> |  | ||||||
|       </BuildActionEntries> |  | ||||||
|    </BuildAction> |  | ||||||
|    <TestAction |  | ||||||
|       buildConfiguration = "Debug" |  | ||||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |  | ||||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |  | ||||||
|       shouldUseLaunchSchemeArgsEnv = "YES"> |  | ||||||
|       <Testables> |  | ||||||
|       </Testables> |  | ||||||
|       <AdditionalOptions> |  | ||||||
|       </AdditionalOptions> |  | ||||||
|    </TestAction> |  | ||||||
|    <LaunchAction |  | ||||||
|       buildConfiguration = "Debug" |  | ||||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |  | ||||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |  | ||||||
|       launchStyle = "0" |  | ||||||
|       useCustomWorkingDirectory = "NO" |  | ||||||
|       ignoresPersistentStateOnLaunch = "NO" |  | ||||||
|       debugDocumentVersioning = "YES" |  | ||||||
|       debugServiceExtension = "internal" |  | ||||||
|       allowLocationSimulation = "YES"> |  | ||||||
|       <MacroExpansion> |  | ||||||
|          <BuildableReference |  | ||||||
|             BuildableIdentifier = "primary" |  | ||||||
|             BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|             BuildableName = "libRCTHotUpdate.a" |  | ||||||
|             BlueprintName = "RCTHotUpdate" |  | ||||||
|             ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|          </BuildableReference> |  | ||||||
|       </MacroExpansion> |  | ||||||
|       <AdditionalOptions> |  | ||||||
|       </AdditionalOptions> |  | ||||||
|    </LaunchAction> |  | ||||||
|    <ProfileAction |  | ||||||
|       buildConfiguration = "Release" |  | ||||||
|       shouldUseLaunchSchemeArgsEnv = "YES" |  | ||||||
|       savedToolIdentifier = "" |  | ||||||
|       useCustomWorkingDirectory = "NO" |  | ||||||
|       debugDocumentVersioning = "YES"> |  | ||||||
|       <MacroExpansion> |  | ||||||
|          <BuildableReference |  | ||||||
|             BuildableIdentifier = "primary" |  | ||||||
|             BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|             BuildableName = "libRCTHotUpdate.a" |  | ||||||
|             BlueprintName = "RCTHotUpdate" |  | ||||||
|             ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|          </BuildableReference> |  | ||||||
|       </MacroExpansion> |  | ||||||
|    </ProfileAction> |  | ||||||
|    <AnalyzeAction |  | ||||||
|       buildConfiguration = "Debug"> |  | ||||||
|    </AnalyzeAction> |  | ||||||
|    <ArchiveAction |  | ||||||
|       buildConfiguration = "Release" |  | ||||||
|       revealArchiveInOrganizer = "YES"> |  | ||||||
|    </ArchiveAction> |  | ||||||
| </Scheme> |  | ||||||
| @@ -1,22 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |  | ||||||
| <plist version="1.0"> |  | ||||||
| <dict> |  | ||||||
| 	<key>SchemeUserState</key> |  | ||||||
| 	<dict> |  | ||||||
| 		<key>RCTHotUpdate.xcscheme</key> |  | ||||||
| 		<dict> |  | ||||||
| 			<key>orderHint</key> |  | ||||||
| 			<integer>22</integer> |  | ||||||
| 		</dict> |  | ||||||
| 	</dict> |  | ||||||
| 	<key>SuppressBuildableAutocreation</key> |  | ||||||
| 	<dict> |  | ||||||
| 		<key>91C5EFFE1C76ECA90037E727</key> |  | ||||||
| 		<dict> |  | ||||||
| 			<key>primary</key> |  | ||||||
| 			<true/> |  | ||||||
| 		</dict> |  | ||||||
| 	</dict> |  | ||||||
| </dict> |  | ||||||
| </plist> |  | ||||||
| @@ -1,80 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <Scheme |  | ||||||
|    LastUpgradeVersion = "0720" |  | ||||||
|    version = "1.3"> |  | ||||||
|    <BuildAction |  | ||||||
|       parallelizeBuildables = "YES" |  | ||||||
|       buildImplicitDependencies = "YES"> |  | ||||||
|       <BuildActionEntries> |  | ||||||
|          <BuildActionEntry |  | ||||||
|             buildForTesting = "YES" |  | ||||||
|             buildForRunning = "YES" |  | ||||||
|             buildForProfiling = "YES" |  | ||||||
|             buildForArchiving = "YES" |  | ||||||
|             buildForAnalyzing = "YES"> |  | ||||||
|             <BuildableReference |  | ||||||
|                BuildableIdentifier = "primary" |  | ||||||
|                BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|                BuildableName = "libRCTHotUpdate.a" |  | ||||||
|                BlueprintName = "RCTHotUpdate" |  | ||||||
|                ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|             </BuildableReference> |  | ||||||
|          </BuildActionEntry> |  | ||||||
|       </BuildActionEntries> |  | ||||||
|    </BuildAction> |  | ||||||
|    <TestAction |  | ||||||
|       buildConfiguration = "Debug" |  | ||||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |  | ||||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |  | ||||||
|       shouldUseLaunchSchemeArgsEnv = "YES"> |  | ||||||
|       <Testables> |  | ||||||
|       </Testables> |  | ||||||
|       <AdditionalOptions> |  | ||||||
|       </AdditionalOptions> |  | ||||||
|    </TestAction> |  | ||||||
|    <LaunchAction |  | ||||||
|       buildConfiguration = "Debug" |  | ||||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |  | ||||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |  | ||||||
|       launchStyle = "0" |  | ||||||
|       useCustomWorkingDirectory = "NO" |  | ||||||
|       ignoresPersistentStateOnLaunch = "NO" |  | ||||||
|       debugDocumentVersioning = "YES" |  | ||||||
|       debugServiceExtension = "internal" |  | ||||||
|       allowLocationSimulation = "YES"> |  | ||||||
|       <MacroExpansion> |  | ||||||
|          <BuildableReference |  | ||||||
|             BuildableIdentifier = "primary" |  | ||||||
|             BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|             BuildableName = "libRCTHotUpdate.a" |  | ||||||
|             BlueprintName = "RCTHotUpdate" |  | ||||||
|             ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|          </BuildableReference> |  | ||||||
|       </MacroExpansion> |  | ||||||
|       <AdditionalOptions> |  | ||||||
|       </AdditionalOptions> |  | ||||||
|    </LaunchAction> |  | ||||||
|    <ProfileAction |  | ||||||
|       buildConfiguration = "Release" |  | ||||||
|       shouldUseLaunchSchemeArgsEnv = "YES" |  | ||||||
|       savedToolIdentifier = "" |  | ||||||
|       useCustomWorkingDirectory = "NO" |  | ||||||
|       debugDocumentVersioning = "YES"> |  | ||||||
|       <MacroExpansion> |  | ||||||
|          <BuildableReference |  | ||||||
|             BuildableIdentifier = "primary" |  | ||||||
|             BlueprintIdentifier = "91C5EFFE1C76ECA90037E727" |  | ||||||
|             BuildableName = "libRCTHotUpdate.a" |  | ||||||
|             BlueprintName = "RCTHotUpdate" |  | ||||||
|             ReferencedContainer = "container:RCTHotUpdate.xcodeproj"> |  | ||||||
|          </BuildableReference> |  | ||||||
|       </MacroExpansion> |  | ||||||
|    </ProfileAction> |  | ||||||
|    <AnalyzeAction |  | ||||||
|       buildConfiguration = "Debug"> |  | ||||||
|    </AnalyzeAction> |  | ||||||
|    <ArchiveAction |  | ||||||
|       buildConfiguration = "Release" |  | ||||||
|       revealArchiveInOrganizer = "YES"> |  | ||||||
|    </ArchiveAction> |  | ||||||
| </Scheme> |  | ||||||
| @@ -1,22 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |  | ||||||
| <plist version="1.0"> |  | ||||||
| <dict> |  | ||||||
| 	<key>SchemeUserState</key> |  | ||||||
| 	<dict> |  | ||||||
| 		<key>RCTHotUpdate.xcscheme</key> |  | ||||||
| 		<dict> |  | ||||||
| 			<key>orderHint</key> |  | ||||||
| 			<integer>1</integer> |  | ||||||
| 		</dict> |  | ||||||
| 	</dict> |  | ||||||
| 	<key>SuppressBuildableAutocreation</key> |  | ||||||
| 	<dict> |  | ||||||
| 		<key>91C5EFFE1C76ECA90037E727</key> |  | ||||||
| 		<dict> |  | ||||||
| 			<key>primary</key> |  | ||||||
| 			<true/> |  | ||||||
| 		</dict> |  | ||||||
| 	</dict> |  | ||||||
| </dict> |  | ||||||
| </plist> |  | ||||||
| @@ -7,12 +7,12 @@ | |||||||
| 	objects = { | 	objects = { | ||||||
| 
 | 
 | ||||||
| /* Begin PBXBuildFile section */ | /* Begin PBXBuildFile section */ | ||||||
| 		91C5F0031C76ECA90037E727 /* RCTHotUpdate.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 91C5F0021C76ECA90037E727 /* RCTHotUpdate.h */; }; | 		91C5F0031C76ECA90037E727 /* RCTPushy.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 91C5F0021C76ECA90037E727 /* RCTPushy.h */; }; | ||||||
| 		91C5F0051C76ECA90037E727 /* RCTHotUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 91C5F0041C76ECA90037E727 /* RCTHotUpdate.m */; }; | 		91C5F0051C76ECA90037E727 /* RCTPushy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91C5F0041C76ECA90037E727 /* RCTPushy.m */; }; | ||||||
| 		9F1BCB1D1CAE5937000EF2CB /* RCTHotUpdateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB1C1CAE5937000EF2CB /* RCTHotUpdateManager.m */; }; | 		9F1BCB1D1CAE5937000EF2CB /* RCTPushyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB1C1CAE5937000EF2CB /* RCTPushyManager.m */; }; | ||||||
| 		9F1BCB461CAF6B3E000EF2CB /* bspatch.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB3B1CAF6B3E000EF2CB /* bspatch.c */; }; | 		9F1BCB461CAF6B3E000EF2CB /* bspatch.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB3B1CAF6B3E000EF2CB /* bspatch.c */; }; | ||||||
| 		9F1BCB4F1CAF6B68000EF2CB /* BSDiff.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB4E1CAF6B68000EF2CB /* BSDiff.m */; }; | 		9F1BCB4F1CAF6B68000EF2CB /* BSDiff.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1BCB4E1CAF6B68000EF2CB /* BSDiff.m */; }; | ||||||
| 		9F292F7D1C7C44290095945D /* RCTHotUpdateDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F292F7C1C7C44290095945D /* RCTHotUpdateDownloader.m */; }; | 		9F292F7D1C7C44290095945D /* RCTPushyDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F292F7C1C7C44290095945D /* RCTPushyDownloader.m */; }; | ||||||
| 		9F394D7D1C7C25DC00C794C0 /* aescrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5B1C7C25DC00C794C0 /* aescrypt.c */; }; | 		9F394D7D1C7C25DC00C794C0 /* aescrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5B1C7C25DC00C794C0 /* aescrypt.c */; }; | ||||||
| 		9F394D7E1C7C25DC00C794C0 /* aeskey.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5C1C7C25DC00C794C0 /* aeskey.c */; }; | 		9F394D7E1C7C25DC00C794C0 /* aeskey.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5C1C7C25DC00C794C0 /* aeskey.c */; }; | ||||||
| 		9F394D7F1C7C25DC00C794C0 /* aestab.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5E1C7C25DC00C794C0 /* aestab.c */; }; | 		9F394D7F1C7C25DC00C794C0 /* aestab.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F394D5E1C7C25DC00C794C0 /* aestab.c */; }; | ||||||
| @@ -36,24 +36,24 @@ | |||||||
| 			dstPath = "include/$(PRODUCT_NAME)"; | 			dstPath = "include/$(PRODUCT_NAME)"; | ||||||
| 			dstSubfolderSpec = 16; | 			dstSubfolderSpec = 16; | ||||||
| 			files = ( | 			files = ( | ||||||
| 				91C5F0031C76ECA90037E727 /* RCTHotUpdate.h in CopyFiles */, | 				91C5F0031C76ECA90037E727 /* RCTPushy.h in CopyFiles */, | ||||||
| 			); | 			); | ||||||
| 			runOnlyForDeploymentPostprocessing = 0; | 			runOnlyForDeploymentPostprocessing = 0; | ||||||
| 		}; | 		}; | ||||||
| /* End PBXCopyFilesBuildPhase section */ | /* End PBXCopyFilesBuildPhase section */ | ||||||
| 
 | 
 | ||||||
| /* Begin PBXFileReference section */ | /* Begin PBXFileReference section */ | ||||||
| 		91C5EFFF1C76ECA90037E727 /* libRCTHotUpdate.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTHotUpdate.a; sourceTree = BUILT_PRODUCTS_DIR; }; | 		91C5EFFF1C76ECA90037E727 /* libRCTPushy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTPushy.a; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||||
| 		91C5F0021C76ECA90037E727 /* RCTHotUpdate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTHotUpdate.h; sourceTree = "<group>"; }; | 		91C5F0021C76ECA90037E727 /* RCTPushy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTPushy.h; sourceTree = "<group>"; }; | ||||||
| 		91C5F0041C76ECA90037E727 /* RCTHotUpdate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTHotUpdate.m; sourceTree = "<group>"; }; | 		91C5F0041C76ECA90037E727 /* RCTPushy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTPushy.m; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB1B1CAE5937000EF2CB /* RCTHotUpdateManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTHotUpdateManager.h; sourceTree = "<group>"; }; | 		9F1BCB1B1CAE5937000EF2CB /* RCTPushyManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTPushyManager.h; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB1C1CAE5937000EF2CB /* RCTHotUpdateManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTHotUpdateManager.m; sourceTree = "<group>"; }; | 		9F1BCB1C1CAE5937000EF2CB /* RCTPushyManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTPushyManager.m; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB3B1CAF6B3E000EF2CB /* bspatch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bspatch.c; sourceTree = "<group>"; }; | 		9F1BCB3B1CAF6B3E000EF2CB /* bspatch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bspatch.c; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB3C1CAF6B3E000EF2CB /* bspatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bspatch.h; sourceTree = "<group>"; }; | 		9F1BCB3C1CAF6B3E000EF2CB /* bspatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bspatch.h; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB4D1CAF6B68000EF2CB /* BSDiff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSDiff.h; sourceTree = "<group>"; }; | 		9F1BCB4D1CAF6B68000EF2CB /* BSDiff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSDiff.h; sourceTree = "<group>"; }; | ||||||
| 		9F1BCB4E1CAF6B68000EF2CB /* BSDiff.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSDiff.m; sourceTree = "<group>"; }; | 		9F1BCB4E1CAF6B68000EF2CB /* BSDiff.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSDiff.m; sourceTree = "<group>"; }; | ||||||
| 		9F292F7B1C7C44290095945D /* RCTHotUpdateDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTHotUpdateDownloader.h; sourceTree = "<group>"; }; | 		9F292F7B1C7C44290095945D /* RCTPushyDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTPushyDownloader.h; sourceTree = "<group>"; }; | ||||||
| 		9F292F7C1C7C44290095945D /* RCTHotUpdateDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTHotUpdateDownloader.m; sourceTree = "<group>"; }; | 		9F292F7C1C7C44290095945D /* RCTPushyDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTPushyDownloader.m; sourceTree = "<group>"; }; | ||||||
| 		9F394D591C7C25DC00C794C0 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; }; | 		9F394D591C7C25DC00C794C0 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; }; | ||||||
| 		9F394D5A1C7C25DC00C794C0 /* aes_via_ace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_via_ace.h; sourceTree = "<group>"; }; | 		9F394D5A1C7C25DC00C794C0 /* aes_via_ace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_via_ace.h; sourceTree = "<group>"; }; | ||||||
| 		9F394D5B1C7C25DC00C794C0 /* aescrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aescrypt.c; sourceTree = "<group>"; }; | 		9F394D5B1C7C25DC00C794C0 /* aescrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aescrypt.c; sourceTree = "<group>"; }; | ||||||
| @@ -105,7 +105,7 @@ | |||||||
| 		91C5EFF61C76ECA90037E727 = { | 		91C5EFF61C76ECA90037E727 = { | ||||||
| 			isa = PBXGroup; | 			isa = PBXGroup; | ||||||
| 			children = ( | 			children = ( | ||||||
| 				91C5F0011C76ECA90037E727 /* RCTHotUpdate */, | 				91C5F0011C76ECA90037E727 /* RCTPushy */, | ||||||
| 				91C5F0001C76ECA90037E727 /* Products */, | 				91C5F0001C76ECA90037E727 /* Products */, | ||||||
| 			); | 			); | ||||||
| 			sourceTree = "<group>"; | 			sourceTree = "<group>"; | ||||||
| @@ -113,24 +113,24 @@ | |||||||
| 		91C5F0001C76ECA90037E727 /* Products */ = { | 		91C5F0001C76ECA90037E727 /* Products */ = { | ||||||
| 			isa = PBXGroup; | 			isa = PBXGroup; | ||||||
| 			children = ( | 			children = ( | ||||||
| 				91C5EFFF1C76ECA90037E727 /* libRCTHotUpdate.a */, | 				91C5EFFF1C76ECA90037E727 /* libRCTPushy.a */, | ||||||
| 			); | 			); | ||||||
| 			name = Products; | 			name = Products; | ||||||
| 			sourceTree = "<group>"; | 			sourceTree = "<group>"; | ||||||
| 		}; | 		}; | ||||||
| 		91C5F0011C76ECA90037E727 /* RCTHotUpdate */ = { | 		91C5F0011C76ECA90037E727 /* RCTPushy */ = { | ||||||
| 			isa = PBXGroup; | 			isa = PBXGroup; | ||||||
| 			children = ( | 			children = ( | ||||||
| 				9F1BCB381CAF6B3E000EF2CB /* BSDiff */, | 				9F1BCB381CAF6B3E000EF2CB /* BSDiff */, | ||||||
| 				9F394D571C7C25DC00C794C0 /* SSZipArchive */, | 				9F394D571C7C25DC00C794C0 /* SSZipArchive */, | ||||||
| 				91C5F0021C76ECA90037E727 /* RCTHotUpdate.h */, | 				91C5F0021C76ECA90037E727 /* RCTPushy.h */, | ||||||
| 				91C5F0041C76ECA90037E727 /* RCTHotUpdate.m */, | 				91C5F0041C76ECA90037E727 /* RCTPushy.m */, | ||||||
| 				9F1BCB1B1CAE5937000EF2CB /* RCTHotUpdateManager.h */, | 				9F1BCB1B1CAE5937000EF2CB /* RCTPushyManager.h */, | ||||||
| 				9F1BCB1C1CAE5937000EF2CB /* RCTHotUpdateManager.m */, | 				9F1BCB1C1CAE5937000EF2CB /* RCTPushyManager.m */, | ||||||
| 				9F292F7B1C7C44290095945D /* RCTHotUpdateDownloader.h */, | 				9F292F7B1C7C44290095945D /* RCTPushyDownloader.h */, | ||||||
| 				9F292F7C1C7C44290095945D /* RCTHotUpdateDownloader.m */, | 				9F292F7C1C7C44290095945D /* RCTPushyDownloader.m */, | ||||||
| 			); | 			); | ||||||
| 			path = RCTHotUpdate; | 			path = RCTPushy; | ||||||
| 			sourceTree = "<group>"; | 			sourceTree = "<group>"; | ||||||
| 		}; | 		}; | ||||||
| 		9F1BCB381CAF6B3E000EF2CB /* BSDiff */ = { | 		9F1BCB381CAF6B3E000EF2CB /* BSDiff */ = { | ||||||
| @@ -213,9 +213,9 @@ | |||||||
| /* End PBXGroup section */ | /* End PBXGroup section */ | ||||||
| 
 | 
 | ||||||
| /* Begin PBXNativeTarget section */ | /* Begin PBXNativeTarget section */ | ||||||
| 		91C5EFFE1C76ECA90037E727 /* RCTHotUpdate */ = { | 		91C5EFFE1C76ECA90037E727 /* RCTPushy */ = { | ||||||
| 			isa = PBXNativeTarget; | 			isa = PBXNativeTarget; | ||||||
| 			buildConfigurationList = 91C5F0081C76ECA90037E727 /* Build configuration list for PBXNativeTarget "RCTHotUpdate" */; | 			buildConfigurationList = 91C5F0081C76ECA90037E727 /* Build configuration list for PBXNativeTarget "RCTPushy" */; | ||||||
| 			buildPhases = ( | 			buildPhases = ( | ||||||
| 				91C5EFFB1C76ECA90037E727 /* Sources */, | 				91C5EFFB1C76ECA90037E727 /* Sources */, | ||||||
| 				91C5EFFC1C76ECA90037E727 /* Frameworks */, | 				91C5EFFC1C76ECA90037E727 /* Frameworks */, | ||||||
| @@ -225,9 +225,9 @@ | |||||||
| 			); | 			); | ||||||
| 			dependencies = ( | 			dependencies = ( | ||||||
| 			); | 			); | ||||||
| 			name = RCTHotUpdate; | 			name = RCTPushy; | ||||||
| 			productName = RCTHotUpdate; | 			productName = RCTPushy; | ||||||
| 			productReference = 91C5EFFF1C76ECA90037E727 /* libRCTHotUpdate.a */; | 			productReference = 91C5EFFF1C76ECA90037E727 /* libRCTPushy.a */; | ||||||
| 			productType = "com.apple.product-type.library.static"; | 			productType = "com.apple.product-type.library.static"; | ||||||
| 		}; | 		}; | ||||||
| /* End PBXNativeTarget section */ | /* End PBXNativeTarget section */ | ||||||
| @@ -244,11 +244,12 @@ | |||||||
| 					}; | 					}; | ||||||
| 				}; | 				}; | ||||||
| 			}; | 			}; | ||||||
| 			buildConfigurationList = 91C5EFFA1C76ECA90037E727 /* Build configuration list for PBXProject "RCTHotUpdate" */; | 			buildConfigurationList = 91C5EFFA1C76ECA90037E727 /* Build configuration list for PBXProject "RCTPushy" */; | ||||||
| 			compatibilityVersion = "Xcode 3.2"; | 			compatibilityVersion = "Xcode 3.2"; | ||||||
| 			developmentRegion = English; | 			developmentRegion = English; | ||||||
| 			hasScannedForEncodings = 0; | 			hasScannedForEncodings = 0; | ||||||
| 			knownRegions = ( | 			knownRegions = ( | ||||||
|  | 				English, | ||||||
| 				en, | 				en, | ||||||
| 			); | 			); | ||||||
| 			mainGroup = 91C5EFF61C76ECA90037E727; | 			mainGroup = 91C5EFF61C76ECA90037E727; | ||||||
| @@ -256,7 +257,7 @@ | |||||||
| 			projectDirPath = ""; | 			projectDirPath = ""; | ||||||
| 			projectRoot = ""; | 			projectRoot = ""; | ||||||
| 			targets = ( | 			targets = ( | ||||||
| 				91C5EFFE1C76ECA90037E727 /* RCTHotUpdate */, | 				91C5EFFE1C76ECA90037E727 /* RCTPushy */, | ||||||
| 			); | 			); | ||||||
| 		}; | 		}; | ||||||
| /* End PBXProject section */ | /* End PBXProject section */ | ||||||
| @@ -271,20 +272,20 @@ | |||||||
| 				9F394D871C7C25DC00C794C0 /* mztools.c in Sources */, | 				9F394D871C7C25DC00C794C0 /* mztools.c in Sources */, | ||||||
| 				9F394D821C7C25DC00C794C0 /* hmac.c in Sources */, | 				9F394D821C7C25DC00C794C0 /* hmac.c in Sources */, | ||||||
| 				9F394D881C7C25DC00C794C0 /* unzip.c in Sources */, | 				9F394D881C7C25DC00C794C0 /* unzip.c in Sources */, | ||||||
| 				9F1BCB1D1CAE5937000EF2CB /* RCTHotUpdateManager.m in Sources */, | 				9F1BCB1D1CAE5937000EF2CB /* RCTPushyManager.m in Sources */, | ||||||
| 				9F1BCB4F1CAF6B68000EF2CB /* BSDiff.m in Sources */, | 				9F1BCB4F1CAF6B68000EF2CB /* BSDiff.m in Sources */, | ||||||
| 				9F394D7E1C7C25DC00C794C0 /* aeskey.c in Sources */, | 				9F394D7E1C7C25DC00C794C0 /* aeskey.c in Sources */, | ||||||
| 				9F394D7F1C7C25DC00C794C0 /* aestab.c in Sources */, | 				9F394D7F1C7C25DC00C794C0 /* aestab.c in Sources */, | ||||||
| 				9F394D7D1C7C25DC00C794C0 /* aescrypt.c in Sources */, | 				9F394D7D1C7C25DC00C794C0 /* aescrypt.c in Sources */, | ||||||
| 				9F394D801C7C25DC00C794C0 /* entropy.c in Sources */, | 				9F394D801C7C25DC00C794C0 /* entropy.c in Sources */, | ||||||
| 				9F292F7D1C7C44290095945D /* RCTHotUpdateDownloader.m in Sources */, | 				9F292F7D1C7C44290095945D /* RCTPushyDownloader.m in Sources */, | ||||||
| 				9F394D831C7C25DC00C794C0 /* prng.c in Sources */, | 				9F394D831C7C25DC00C794C0 /* prng.c in Sources */, | ||||||
| 				9F394D861C7C25DC00C794C0 /* ioapi.c in Sources */, | 				9F394D861C7C25DC00C794C0 /* ioapi.c in Sources */, | ||||||
| 				9F1BCB461CAF6B3E000EF2CB /* bspatch.c in Sources */, | 				9F1BCB461CAF6B3E000EF2CB /* bspatch.c in Sources */, | ||||||
| 				9F394D8A1C7C25DC00C794C0 /* SSZipArchive.m in Sources */, | 				9F394D8A1C7C25DC00C794C0 /* SSZipArchive.m in Sources */, | ||||||
| 				9F394D891C7C25DC00C794C0 /* zip.c in Sources */, | 				9F394D891C7C25DC00C794C0 /* zip.c in Sources */, | ||||||
| 				9F394D841C7C25DC00C794C0 /* pwd2key.c in Sources */, | 				9F394D841C7C25DC00C794C0 /* pwd2key.c in Sources */, | ||||||
| 				91C5F0051C76ECA90037E727 /* RCTHotUpdate.m in Sources */, | 				91C5F0051C76ECA90037E727 /* RCTPushy.m in Sources */, | ||||||
| 			); | 			); | ||||||
| 			runOnlyForDeploymentPostprocessing = 0; | 			runOnlyForDeploymentPostprocessing = 0; | ||||||
| 		}; | 		}; | ||||||
| @@ -400,7 +401,7 @@ | |||||||
| /* End XCBuildConfiguration section */ | /* End XCBuildConfiguration section */ | ||||||
| 
 | 
 | ||||||
| /* Begin XCConfigurationList section */ | /* Begin XCConfigurationList section */ | ||||||
| 		91C5EFFA1C76ECA90037E727 /* Build configuration list for PBXProject "RCTHotUpdate" */ = { | 		91C5EFFA1C76ECA90037E727 /* Build configuration list for PBXProject "RCTPushy" */ = { | ||||||
| 			isa = XCConfigurationList; | 			isa = XCConfigurationList; | ||||||
| 			buildConfigurations = ( | 			buildConfigurations = ( | ||||||
| 				91C5F0061C76ECA90037E727 /* Debug */, | 				91C5F0061C76ECA90037E727 /* Debug */, | ||||||
| @@ -409,7 +410,7 @@ | |||||||
| 			defaultConfigurationIsVisible = 0; | 			defaultConfigurationIsVisible = 0; | ||||||
| 			defaultConfigurationName = Release; | 			defaultConfigurationName = Release; | ||||||
| 		}; | 		}; | ||||||
| 		91C5F0081C76ECA90037E727 /* Build configuration list for PBXNativeTarget "RCTHotUpdate" */ = { | 		91C5F0081C76ECA90037E727 /* Build configuration list for PBXNativeTarget "RCTPushy" */ = { | ||||||
| 			isa = XCConfigurationList; | 			isa = XCConfigurationList; | ||||||
| 			buildConfigurations = ( | 			buildConfigurations = ( | ||||||
| 				91C5F0091C76ECA90037E727 /* Debug */, | 				91C5F0091C76ECA90037E727 /* Debug */, | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| //
 | //
 | ||||||
| //  BSDiff.h
 | //  BSDiff.h
 | ||||||
| //  RCTHotUpdate
 | //  RCTPushy
 | ||||||
| //
 | //
 | ||||||
| //  Created by lvbingru on 16/4/2.
 | //  Created by lvbingru on 16/4/2.
 | ||||||
| //  Copyright © 2016年 erica. All rights reserved.
 | //  Copyright © 2016年 erica. All rights reserved.
 | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| // | // | ||||||
| //  BSDiff.m | //  BSDiff.m | ||||||
| //  RCTHotUpdate | //  RCTPushy | ||||||
| // | // | ||||||
| //  Created by lvbingru on 16/4/2. | //  Created by lvbingru on 16/4/2. | ||||||
| //  Copyright © 2016年 erica. All rights reserved. | //  Copyright © 2016年 erica. All rights reserved. | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| //
 | //
 | ||||||
| //  RCTHotUpdate.h
 | //  RCTPushy.h
 | ||||||
| //  RCTHotUpdate
 | //  RCTPushy
 | ||||||
| //
 | //
 | ||||||
| //  Created by LvBingru on 2/19/16.
 | //  Created by LvBingru on 2/19/16.
 | ||||||
| //  Copyright © 2016 erica. All rights reserved.
 | //  Copyright © 2016 erica. All rights reserved.
 | ||||||
| @@ -12,7 +12,7 @@ | |||||||
| #import "RCTBridgeModule.h" | #import "RCTBridgeModule.h" | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| @interface RCTHotUpdate : NSObject<RCTBridgeModule> | @interface RCTPushy : NSObject<RCTBridgeModule> | ||||||
| 
 | 
 | ||||||
| + (NSURL *)bundleURL; | + (NSURL *)bundleURL; | ||||||
| 
 | 
 | ||||||
| @@ -1,14 +1,14 @@ | |||||||
| // | // | ||||||
| //  RCTHotUpdate.m | //  RCTPushy.m | ||||||
| //  RCTHotUpdate | //  RCTPushy | ||||||
| // | // | ||||||
| //  Created by LvBingru on 2/19/16. | //  Created by LvBingru on 2/19/16. | ||||||
| //  Copyright © 2016 erica. All rights reserved. | //  Copyright © 2016 erica. All rights reserved. | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| #import "RCTHotUpdate.h" | #import "RCTPushy.h" | ||||||
| #import "RCTHotUpdateDownloader.h" | #import "RCTPushyDownloader.h" | ||||||
| #import "RCTHotUpdateManager.h" | #import "RCTPushyManager.h" | ||||||
| 
 | 
 | ||||||
| #if __has_include(<React/RCTBridge.h>) | #if __has_include(<React/RCTBridge.h>) | ||||||
| #import "React/RCTEventDispatcher.h" | #import "React/RCTEventDispatcher.h" | ||||||
| @@ -21,15 +21,15 @@ | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // | // | ||||||
| static NSString *const keyUpdateInfo = @"REACTNATIVECN_HOTUPDATE_INFO_KEY"; | static NSString *const keyPushyInfo = @"REACTNATIVECN_PUSHY_INFO_KEY"; | ||||||
| static NSString *const paramPackageVersion = @"packageVersion"; | static NSString *const paramPackageVersion = @"packageVersion"; | ||||||
| static NSString *const paramLastVersion = @"lastVersion"; | static NSString *const paramLastVersion = @"lastVersion"; | ||||||
| static NSString *const paramCurrentVersion = @"currentVersion"; | static NSString *const paramCurrentVersion = @"currentVersion"; | ||||||
| static NSString *const paramIsFirstTime = @"isFirstTime"; | static NSString *const paramIsFirstTime = @"isFirstTime"; | ||||||
| static NSString *const paramIsFirstLoadOk = @"isFirstLoadOK"; | static NSString *const paramIsFirstLoadOk = @"isFirstLoadOK"; | ||||||
| static NSString *const keyFirstLoadMarked = @"REACTNATIVECN_HOTUPDATE_FIRSTLOADMARKED_KEY"; | static NSString *const keyFirstLoadMarked = @"REACTNATIVECN_PUSHY_FIRSTLOADMARKED_KEY"; | ||||||
| static NSString *const keyRolledBackMarked = @"REACTNATIVECN_HOTUPDATE_ROLLEDBACKMARKED_KEY"; | static NSString *const keyRolledBackMarked = @"REACTNATIVECN_PUSHY_ROLLEDBACKMARKED_KEY"; | ||||||
| static NSString *const KeyPackageUpdatedMarked = @"REACTNATIVECN_HOTUPDATE_ISPACKAGEUPDATEDMARKED_KEY"; | static NSString *const KeyPackageUpdatedMarked = @"REACTNATIVECN_PUSHY_ISPACKAGEUPDATEDMARKED_KEY"; | ||||||
| 
 | 
 | ||||||
| // app info | // app info | ||||||
| static NSString * const AppVersionKey = @"appVersion"; | static NSString * const AppVersionKey = @"appVersion"; | ||||||
| @@ -46,52 +46,52 @@ static NSString * const ERROR_BSDIFF = @"bsdiff error"; | |||||||
| static NSString * const ERROR_FILE_OPERATION = @"file operation error"; | static NSString * const ERROR_FILE_OPERATION = @"file operation error"; | ||||||
| 
 | 
 | ||||||
| // event def | // event def | ||||||
| static NSString * const EVENT_PROGRESS_DOWNLOAD = @"RCTHotUpdateDownloadProgress"; | static NSString * const EVENT_PROGRESS_DOWNLOAD = @"RCTPushyDownloadProgress"; | ||||||
| static NSString * const EVENT_PROGRESS_UNZIP = @"RCTHotUpdateUnzipProgress"; | static NSString * const EVENT_PROGRESS_UNZIP = @"RCTPushyUnzipProgress"; | ||||||
| static NSString * const PARAM_PROGRESS_HASHNAME = @"hashname"; | static NSString * const PARAM_PROGRESS_HASHNAME = @"hashname"; | ||||||
| static NSString * const PARAM_PROGRESS_RECEIVED = @"received"; | static NSString * const PARAM_PROGRESS_RECEIVED = @"received"; | ||||||
| static NSString * const PARAM_PROGRESS_TOTAL = @"total"; | static NSString * const PARAM_PROGRESS_TOTAL = @"total"; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| typedef NS_ENUM(NSInteger, HotUpdateType) { | typedef NS_ENUM(NSInteger, PushyType) { | ||||||
|     HotUpdateTypeFullDownload = 1, |     PushyTypeFullDownload = 1, | ||||||
|     HotUpdateTypePatchFromPackage = 2, |     PushyTypePatchFromPackage = 2, | ||||||
|     HotUpdateTypePatchFromPpk = 3, |     PushyTypePatchFromPpk = 3, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static BOOL ignoreRollback = false; | static BOOL ignoreRollback = false; | ||||||
| 
 | 
 | ||||||
| @implementation RCTHotUpdate { | @implementation RCTPushy { | ||||||
|     RCTHotUpdateManager *_fileManager; |     RCTPushyManager *_fileManager; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @synthesize bridge = _bridge; | @synthesize bridge = _bridge; | ||||||
| @synthesize methodQueue = _methodQueue; | @synthesize methodQueue = _methodQueue; | ||||||
| 
 | 
 | ||||||
| RCT_EXPORT_MODULE(RCTHotUpdate); | RCT_EXPORT_MODULE(RCTPushy); | ||||||
| 
 | 
 | ||||||
| + (NSURL *)bundleURL | + (NSURL *)bundleURL | ||||||
| { | { | ||||||
|     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; |     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; | ||||||
|      |      | ||||||
|     NSDictionary *updateInfo = [defaults dictionaryForKey:keyUpdateInfo]; |     NSDictionary *pushyInfo = [defaults dictionaryForKey:keyPushyInfo]; | ||||||
|     if (updateInfo) { |     if (pushyInfo) { | ||||||
|         NSString *curPackageVersion = [RCTHotUpdate packageVersion]; |         NSString *curPackageVersion = [RCTPushy packageVersion]; | ||||||
|         NSString *packageVersion = [updateInfo objectForKey:paramPackageVersion]; |         NSString *packageVersion = [pushyInfo objectForKey:paramPackageVersion]; | ||||||
|          |          | ||||||
|         BOOL needClearUpdateInfo = ![curPackageVersion isEqualToString:packageVersion]; |         BOOL needClearPushyInfo = ![curPackageVersion isEqualToString:packageVersion]; | ||||||
|         if (needClearUpdateInfo) { |         if (needClearPushyInfo) { | ||||||
|             [defaults setObject:nil forKey:keyUpdateInfo]; |             [defaults setObject:nil forKey:keyPushyInfo]; | ||||||
|             [defaults setObject:@(YES) forKey:KeyPackageUpdatedMarked]; |             [defaults setObject:@(YES) forKey:KeyPackageUpdatedMarked]; | ||||||
|             [defaults synchronize]; |             [defaults synchronize]; | ||||||
|             // ...need clear files later |             // ...need clear files later | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|             NSString *curVersion = updateInfo[paramCurrentVersion]; |             NSString *curVersion = pushyInfo[paramCurrentVersion]; | ||||||
|             NSString *lastVersion = updateInfo[paramLastVersion]; |             NSString *lastVersion = pushyInfo[paramLastVersion]; | ||||||
|              |              | ||||||
|             BOOL isFirstTime = [updateInfo[paramIsFirstTime] boolValue]; |             BOOL isFirstTime = [pushyInfo[paramIsFirstTime] boolValue]; | ||||||
|             BOOL isFirstLoadOK = [updateInfo[paramIsFirstLoadOk] boolValue]; |             BOOL isFirstLoadOK = [pushyInfo[paramIsFirstLoadOk] boolValue]; | ||||||
|              |              | ||||||
|             NSString *loadVersioin = curVersion; |             NSString *loadVersioin = curVersion; | ||||||
|             BOOL needRollback = (!ignoreRollback && isFirstTime == NO && isFirstLoadOK == NO) || loadVersioin.length<=0; |             BOOL needRollback = (!ignoreRollback && isFirstTime == NO && isFirstLoadOK == NO) || loadVersioin.length<=0; | ||||||
| @@ -104,11 +104,11 @@ RCT_EXPORT_MODULE(RCTHotUpdate); | |||||||
|                                           paramIsFirstTime:@(NO), |                                           paramIsFirstTime:@(NO), | ||||||
|                                           paramIsFirstLoadOk:@(YES), |                                           paramIsFirstLoadOk:@(YES), | ||||||
|                                           paramPackageVersion:curPackageVersion} |                                           paramPackageVersion:curPackageVersion} | ||||||
|                                  forKey:keyUpdateInfo]; |                                  forKey:keyPushyInfo]; | ||||||
|                 } |                 } | ||||||
|                 else { |                 else { | ||||||
|                     // roll back to bundle |                     // roll back to bundle | ||||||
|                     [defaults setObject:nil forKey:keyUpdateInfo]; |                     [defaults setObject:nil forKey:keyPushyInfo]; | ||||||
|                 } |                 } | ||||||
|                 [defaults setObject:@(YES) forKey:keyRolledBackMarked]; |                 [defaults setObject:@(YES) forKey:keyRolledBackMarked]; | ||||||
|                 [defaults synchronize]; |                 [defaults synchronize]; | ||||||
| @@ -118,15 +118,15 @@ RCT_EXPORT_MODULE(RCTHotUpdate); | |||||||
|                 // bundleURL may be called many times, ignore rollbacks before process restarted again. |                 // bundleURL may be called many times, ignore rollbacks before process restarted again. | ||||||
|                 ignoreRollback = true; |                 ignoreRollback = true; | ||||||
| 
 | 
 | ||||||
|                 NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] initWithDictionary:updateInfo]; |                 NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] initWithDictionary:pushyInfo]; | ||||||
|                 newInfo[paramIsFirstTime] = @(NO); |                 newInfo[paramIsFirstTime] = @(NO); | ||||||
|                 [defaults setObject:newInfo forKey:keyUpdateInfo]; |                 [defaults setObject:newInfo forKey:keyPushyInfo]; | ||||||
|                 [defaults setObject:@(YES) forKey:keyFirstLoadMarked]; |                 [defaults setObject:@(YES) forKey:keyFirstLoadMarked]; | ||||||
|                 [defaults synchronize]; |                 [defaults synchronize]; | ||||||
|             } |             } | ||||||
|              |              | ||||||
|             if (loadVersioin.length) { |             if (loadVersioin.length) { | ||||||
|                 NSString *downloadDir = [RCTHotUpdate downloadDir]; |                 NSString *downloadDir = [RCTPushy downloadDir]; | ||||||
|                  |                  | ||||||
|                 NSString *bundlePath = [[downloadDir stringByAppendingPathComponent:loadVersioin] stringByAppendingPathComponent:BUNDLE_FILE_NAME]; |                 NSString *bundlePath = [[downloadDir stringByAppendingPathComponent:loadVersioin] stringByAppendingPathComponent:BUNDLE_FILE_NAME]; | ||||||
|                 if ([[NSFileManager defaultManager] fileExistsAtPath:bundlePath isDirectory:NULL]) { |                 if ([[NSFileManager defaultManager] fileExistsAtPath:bundlePath isDirectory:NULL]) { | ||||||
| @@ -137,7 +137,7 @@ RCT_EXPORT_MODULE(RCTHotUpdate); | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     return [RCTHotUpdate binaryBundleURL]; |     return [RCTPushy binaryBundleURL]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| + (BOOL)requiresMainQueueSetup { | + (BOOL)requiresMainQueueSetup { | ||||||
| @@ -150,13 +150,13 @@ RCT_EXPORT_MODULE(RCTHotUpdate); | |||||||
|     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; |     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; | ||||||
|      |      | ||||||
|     NSMutableDictionary *ret = [NSMutableDictionary new]; |     NSMutableDictionary *ret = [NSMutableDictionary new]; | ||||||
|     ret[@"downloadRootDir"] = [RCTHotUpdate downloadDir]; |     ret[@"downloadRootDir"] = [RCTPushy downloadDir]; | ||||||
|     ret[@"packageVersion"] = [RCTHotUpdate packageVersion]; |     ret[@"packageVersion"] = [RCTPushy packageVersion]; | ||||||
|     ret[@"buildTime"] = [RCTHotUpdate buildTime]; |     ret[@"buildTime"] = [RCTPushy buildTime]; | ||||||
|     ret[@"isRolledBack"] = [defaults objectForKey:keyRolledBackMarked]; |     ret[@"isRolledBack"] = [defaults objectForKey:keyRolledBackMarked]; | ||||||
|     ret[@"isFirstTime"] = [defaults objectForKey:keyFirstLoadMarked]; |     ret[@"isFirstTime"] = [defaults objectForKey:keyFirstLoadMarked]; | ||||||
|     NSDictionary *updateInfo = [defaults dictionaryForKey:keyUpdateInfo]; |     NSDictionary *pushyInfo = [defaults dictionaryForKey:keyPushyInfo]; | ||||||
|     ret[@"currentVersion"] = [updateInfo objectForKey:paramCurrentVersion]; |     ret[@"currentVersion"] = [pushyInfo objectForKey:paramCurrentVersion]; | ||||||
|      |      | ||||||
|     // clear isFirstTimemarked |     // clear isFirstTimemarked | ||||||
|     if ([[defaults objectForKey:keyFirstLoadMarked] boolValue]) { |     if ([[defaults objectForKey:keyFirstLoadMarked] boolValue]) { | ||||||
| @@ -183,7 +183,7 @@ RCT_EXPORT_MODULE(RCTHotUpdate); | |||||||
| { | { | ||||||
|     self = [super init]; |     self = [super init]; | ||||||
|     if (self) { |     if (self) { | ||||||
|         _fileManager = [RCTHotUpdateManager new]; |         _fileManager = [RCTPushyManager new]; | ||||||
|     } |     } | ||||||
|     return self; |     return self; | ||||||
| } | } | ||||||
| @@ -192,7 +192,7 @@ RCT_EXPORT_METHOD(downloadUpdate:(NSDictionary *)options | |||||||
|                   resolver:(RCTPromiseResolveBlock)resolve |                   resolver:(RCTPromiseResolveBlock)resolve | ||||||
|                   rejecter:(RCTPromiseRejectBlock)reject) |                   rejecter:(RCTPromiseRejectBlock)reject) | ||||||
| { | { | ||||||
|     [self hotUpdate:HotUpdateTypeFullDownload options:options callback:^(NSError *error) { |     [self doPushy:PushyTypeFullDownload options:options callback:^(NSError *error) { | ||||||
|         if (error) { |         if (error) { | ||||||
|             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); |             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); | ||||||
|         } |         } | ||||||
| @@ -206,7 +206,7 @@ RCT_EXPORT_METHOD(downloadPatchFromPackage:(NSDictionary *)options | |||||||
|                   resolver:(RCTPromiseResolveBlock)resolve |                   resolver:(RCTPromiseResolveBlock)resolve | ||||||
|                   rejecter:(RCTPromiseRejectBlock)reject) |                   rejecter:(RCTPromiseRejectBlock)reject) | ||||||
| { | { | ||||||
|     [self hotUpdate:HotUpdateTypePatchFromPackage options:options callback:^(NSError *error) { |     [self doPushy:PushyTypePatchFromPackage options:options callback:^(NSError *error) { | ||||||
|         if (error) { |         if (error) { | ||||||
|             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); |             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); | ||||||
|         } |         } | ||||||
| @@ -220,7 +220,7 @@ RCT_EXPORT_METHOD(downloadPatchFromPpk:(NSDictionary *)options | |||||||
|                   resolver:(RCTPromiseResolveBlock)resolve |                   resolver:(RCTPromiseResolveBlock)resolve | ||||||
|                   rejecter:(RCTPromiseRejectBlock)reject) |                   rejecter:(RCTPromiseRejectBlock)reject) | ||||||
| { | { | ||||||
|     [self hotUpdate:HotUpdateTypePatchFromPpk options:options callback:^(NSError *error) { |     [self doPushy:PushyTypePatchFromPpk options:options callback:^(NSError *error) { | ||||||
|         if (error) { |         if (error) { | ||||||
|             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); |             reject([NSString stringWithFormat: @"%lu", (long)error.code], error.localizedDescription, error); | ||||||
|         } |         } | ||||||
| @@ -236,9 +236,9 @@ RCT_EXPORT_METHOD(setNeedUpdate:(NSDictionary *)options) | |||||||
|     if (hashName.length) { |     if (hashName.length) { | ||||||
|         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; |         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; | ||||||
|         NSString *lastVersion = nil; |         NSString *lastVersion = nil; | ||||||
|         if ([defaults objectForKey:keyUpdateInfo]) { |         if ([defaults objectForKey:keyPushyInfo]) { | ||||||
|             NSDictionary *updateInfo = [defaults objectForKey:keyUpdateInfo]; |             NSDictionary *pushyInfo = [defaults objectForKey:keyPushyInfo]; | ||||||
|             lastVersion = updateInfo[paramCurrentVersion]; |             lastVersion = pushyInfo[paramCurrentVersion]; | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] init]; |         NSMutableDictionary *newInfo = [[NSMutableDictionary alloc] init]; | ||||||
| @@ -246,8 +246,8 @@ RCT_EXPORT_METHOD(setNeedUpdate:(NSDictionary *)options) | |||||||
|         newInfo[paramLastVersion] = lastVersion; |         newInfo[paramLastVersion] = lastVersion; | ||||||
|         newInfo[paramIsFirstTime] = @(YES); |         newInfo[paramIsFirstTime] = @(YES); | ||||||
|         newInfo[paramIsFirstLoadOk] = @(NO); |         newInfo[paramIsFirstLoadOk] = @(NO); | ||||||
|         newInfo[paramPackageVersion] = [RCTHotUpdate packageVersion]; |         newInfo[paramPackageVersion] = [RCTPushy packageVersion]; | ||||||
|         [defaults setObject:newInfo forKey:keyUpdateInfo]; |         [defaults setObject:newInfo forKey:keyPushyInfo]; | ||||||
|          |          | ||||||
|         [defaults synchronize]; |         [defaults synchronize]; | ||||||
|     } |     } | ||||||
| @@ -269,12 +269,12 @@ RCT_EXPORT_METHOD(reloadUpdate:(NSDictionary *)options) | |||||||
| 
 | 
 | ||||||
| RCT_EXPORT_METHOD(markSuccess) | RCT_EXPORT_METHOD(markSuccess) | ||||||
| { | { | ||||||
|     // update package info |     // up package info | ||||||
|     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; |     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; | ||||||
|     NSMutableDictionary *packageInfo = [[NSMutableDictionary alloc] initWithDictionary:[defaults objectForKey:keyUpdateInfo]]; |     NSMutableDictionary *packageInfo = [[NSMutableDictionary alloc] initWithDictionary:[defaults objectForKey:keyPushyInfo]]; | ||||||
|     [packageInfo setObject:@(NO) forKey:paramIsFirstTime]; |     [packageInfo setObject:@(NO) forKey:paramIsFirstTime]; | ||||||
|     [packageInfo setObject:@(YES) forKey:paramIsFirstLoadOk]; |     [packageInfo setObject:@(YES) forKey:paramIsFirstLoadOk]; | ||||||
|     [defaults setObject:packageInfo forKey:keyUpdateInfo]; |     [defaults setObject:packageInfo forKey:keyPushyInfo]; | ||||||
|     [defaults synchronize]; |     [defaults synchronize]; | ||||||
|      |      | ||||||
|     // clear other package dir |     // clear other package dir | ||||||
| @@ -282,7 +282,7 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #pragma mark - private | #pragma mark - private | ||||||
| - (void)hotUpdate:(HotUpdateType)type options:(NSDictionary *)options callback:(void (^)(NSError *error))callback | - (void)doPushy:(PushyType)type options:(NSDictionary *)options callback:(void (^)(NSError *error))callback | ||||||
| { | { | ||||||
|     NSString *updateUrl = [RCTConvert NSString:options[@"updateUrl"]]; |     NSString *updateUrl = [RCTConvert NSString:options[@"updateUrl"]]; | ||||||
|     NSString *hashName = [RCTConvert NSString:options[@"hashName"]]; |     NSString *hashName = [RCTConvert NSString:options[@"hashName"]]; | ||||||
| @@ -291,12 +291,12 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|     NSString *originHashName = [RCTConvert NSString:options[@"originHashName"]]; |     NSString *originHashName = [RCTConvert NSString:options[@"originHashName"]]; | ||||||
|     if (type == HotUpdateTypePatchFromPpk && originHashName<=0) { |     if (type == PushyTypePatchFromPpk && originHashName<=0) { | ||||||
|         callback([self errorWithMessage:ERROR_OPTIONS]); |         callback([self errorWithMessage:ERROR_OPTIONS]); | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     NSString *dir = [RCTHotUpdate downloadDir]; |     NSString *dir = [RCTPushy downloadDir]; | ||||||
|     BOOL success = [_fileManager createDir:dir]; |     BOOL success = [_fileManager createDir:dir]; | ||||||
|     if (!success) { |     if (!success) { | ||||||
|         callback([self errorWithMessage:ERROR_FILE_OPERATION]); |         callback([self errorWithMessage:ERROR_FILE_OPERATION]); | ||||||
| @@ -306,8 +306,8 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
|     NSString *zipFilePath = [dir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",hashName, [self zipExtension:type]]]; |     NSString *zipFilePath = [dir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",hashName, [self zipExtension:type]]]; | ||||||
|     NSString *unzipDir = [dir stringByAppendingPathComponent:hashName]; |     NSString *unzipDir = [dir stringByAppendingPathComponent:hashName]; | ||||||
| 
 | 
 | ||||||
|     RCTLogInfo(@"RNUpdate -- download file %@", updateUrl); |     RCTLogInfo(@"RCTPushy -- download file %@", updateUrl); | ||||||
|     [RCTHotUpdateDownloader download:updateUrl savePath:zipFilePath progressHandler:^(long long receivedBytes, long long totalBytes) { |     [RCTPushyDownloader download:updateUrl savePath:zipFilePath progressHandler:^(long long receivedBytes, long long totalBytes) { | ||||||
|         [self.bridge.eventDispatcher sendAppEventWithName:EVENT_PROGRESS_DOWNLOAD |         [self.bridge.eventDispatcher sendAppEventWithName:EVENT_PROGRESS_DOWNLOAD | ||||||
|                                                      body:@{ |                                                      body:@{ | ||||||
|                                                             PARAM_PROGRESS_HASHNAME:hashName, |                                                             PARAM_PROGRESS_HASHNAME:hashName, | ||||||
| @@ -319,7 +319,7 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
|             callback(error); |             callback(error); | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|             RCTLogInfo(@"RNUpdate -- unzip file %@", zipFilePath); |             RCTLogInfo(@"RCTPushy -- unzip file %@", zipFilePath); | ||||||
|             NSString *unzipFilePath = [dir stringByAppendingPathComponent:hashName]; |             NSString *unzipFilePath = [dir stringByAppendingPathComponent:hashName]; | ||||||
|             [_fileManager unzipFileAtPath:zipFilePath toDestination:unzipFilePath progressHandler:^(NSString *entry,long entryNumber, long total) { |             [_fileManager unzipFileAtPath:zipFilePath toDestination:unzipFilePath progressHandler:^(NSString *entry,long entryNumber, long total) { | ||||||
|                 [self.bridge.eventDispatcher sendAppEventWithName:EVENT_PROGRESS_UNZIP |                 [self.bridge.eventDispatcher sendAppEventWithName:EVENT_PROGRESS_UNZIP | ||||||
| @@ -336,14 +336,14 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
|                     } |                     } | ||||||
|                     else { |                     else { | ||||||
|                         switch (type) { |                         switch (type) { | ||||||
|                             case HotUpdateTypePatchFromPackage: |                             case PushyTypePatchFromPackage: | ||||||
|                             { |                             { | ||||||
|                                 NSString *sourceOrigin = [[NSBundle mainBundle] resourcePath]; |                                 NSString *sourceOrigin = [[NSBundle mainBundle] resourcePath]; | ||||||
|                                 NSString *bundleOrigin = [[RCTHotUpdate binaryBundleURL] path]; |                                 NSString *bundleOrigin = [[RCTPushy binaryBundleURL] path]; | ||||||
|                                 [self patch:hashName fromBundle:bundleOrigin source:sourceOrigin callback:callback]; |                                 [self patch:hashName fromBundle:bundleOrigin source:sourceOrigin callback:callback]; | ||||||
|                             } |                             } | ||||||
|                                 break; |                                 break; | ||||||
|                             case HotUpdateTypePatchFromPpk: |                             case PushyTypePatchFromPpk: | ||||||
|                             { |                             { | ||||||
|                                 NSString *lastVertionDir = [dir stringByAppendingPathComponent:originHashName]; |                                 NSString *lastVertionDir = [dir stringByAppendingPathComponent:originHashName]; | ||||||
|                                  |                                  | ||||||
| @@ -365,7 +365,7 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
| 
 | 
 | ||||||
| - (void)patch:(NSString *)hashName fromBundle:(NSString *)bundleOrigin source:(NSString *)sourceOrigin callback:(void (^)(NSError *error))callback | - (void)patch:(NSString *)hashName fromBundle:(NSString *)bundleOrigin source:(NSString *)sourceOrigin callback:(void (^)(NSError *error))callback | ||||||
| { | { | ||||||
|     NSString *unzipDir = [[RCTHotUpdate downloadDir] stringByAppendingPathComponent:hashName]; |     NSString *unzipDir = [[RCTPushy downloadDir] stringByAppendingPathComponent:hashName]; | ||||||
|     NSString *sourcePatch = [unzipDir stringByAppendingPathComponent:SOURCE_PATCH_NAME]; |     NSString *sourcePatch = [unzipDir stringByAppendingPathComponent:SOURCE_PATCH_NAME]; | ||||||
|     NSString *bundlePatch = [unzipDir stringByAppendingPathComponent:BUNDLE_PATCH_NAME]; |     NSString *bundlePatch = [unzipDir stringByAppendingPathComponent:BUNDLE_PATCH_NAME]; | ||||||
|      |      | ||||||
| @@ -401,10 +401,10 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
| - (void)clearInvalidFiles | - (void)clearInvalidFiles | ||||||
| { | { | ||||||
|     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; |     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; | ||||||
|     NSDictionary *updateInfo = [defaults objectForKey:keyUpdateInfo]; |     NSDictionary *pushyInfo = [defaults objectForKey:keyPushyInfo]; | ||||||
|     NSString *curVersion = [updateInfo objectForKey:paramCurrentVersion]; |     NSString *curVersion = [pushyInfo objectForKey:paramCurrentVersion]; | ||||||
|      |      | ||||||
|     NSString *downloadDir = [RCTHotUpdate downloadDir]; |     NSString *downloadDir = [RCTPushy downloadDir]; | ||||||
|     NSError *error = nil; |     NSError *error = nil; | ||||||
|     NSArray *list = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:downloadDir error:&error]; |     NSArray *list = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:downloadDir error:&error]; | ||||||
|     if (error) { |     if (error) { | ||||||
| @@ -418,14 +418,14 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| - (NSString *)zipExtension:(HotUpdateType)type | - (NSString *)zipExtension:(PushyType)type | ||||||
| { | { | ||||||
|     switch (type) { |     switch (type) { | ||||||
|         case HotUpdateTypeFullDownload: |         case PushyTypeFullDownload: | ||||||
|             return @".ppk"; |             return @".ppk"; | ||||||
|         case HotUpdateTypePatchFromPackage: |         case PushyTypePatchFromPackage: | ||||||
|             return @".apk.patch"; |             return @".apk.patch"; | ||||||
|         case HotUpdateTypePatchFromPpk: |         case PushyTypePatchFromPpk: | ||||||
|             return @".ppk.patch"; |             return @".ppk.patch"; | ||||||
|         default: |         default: | ||||||
|             break; |             break; | ||||||
| @@ -434,7 +434,7 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
| 
 | 
 | ||||||
| - (NSError *)errorWithMessage:(NSString *)errorMessage | - (NSError *)errorWithMessage:(NSString *)errorMessage | ||||||
| { | { | ||||||
|     return [NSError errorWithDomain:@"cn.reactnative.hotupdate" |     return [NSError errorWithDomain:@"cn.reactnative.pushy" | ||||||
|                                code:-1 |                                code:-1 | ||||||
|                            userInfo:@{ NSLocalizedDescriptionKey: errorMessage}]; |                            userInfo:@{ NSLocalizedDescriptionKey: errorMessage}]; | ||||||
| } | } | ||||||
| @@ -442,7 +442,7 @@ RCT_EXPORT_METHOD(markSuccess) | |||||||
| + (NSString *)downloadDir | + (NSString *)downloadDir | ||||||
| { | { | ||||||
|     NSString *directory = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) firstObject]; |     NSString *directory = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) firstObject]; | ||||||
|     NSString *downloadDir = [directory stringByAppendingPathComponent:@"reactnativecnhotupdate"]; |     NSString *downloadDir = [directory stringByAppendingPathComponent:@"rctpushy"]; | ||||||
|      |      | ||||||
|     return downloadDir; |     return downloadDir; | ||||||
| } | } | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| //
 | //
 | ||||||
| //  RCTHotUpdateDownloader.h
 | //  RCTPushyDownloader.h
 | ||||||
| //  RCTHotUpdate
 | //  RCTPushy
 | ||||||
| //
 | //
 | ||||||
| //  Created by lvbingru on 16/2/23.
 | //  Created by lvbingru on 16/2/23.
 | ||||||
| //  Copyright © 2016年 erica. All rights reserved.
 | //  Copyright © 2016年 erica. All rights reserved.
 | ||||||
| @@ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| #import <Foundation/Foundation.h> | #import <Foundation/Foundation.h> | ||||||
| 
 | 
 | ||||||
| @interface RCTHotUpdateDownloader : NSObject | @interface RCTPushyDownloader : NSObject | ||||||
| 
 | 
 | ||||||
| + (void)download:(NSString *)downloadPath savePath:(NSString *)savePath | + (void)download:(NSString *)downloadPath savePath:(NSString *)savePath | ||||||
|     progressHandler:(void (^)(long long, long long))progressHandler |     progressHandler:(void (^)(long long, long long))progressHandler | ||||||
| @@ -1,21 +1,21 @@ | |||||||
| // | // | ||||||
| //  RCTHotUpdateDownloader.m | //  RCTPushyDownloader.m | ||||||
| //  RCTHotUpdate | //  RCTPushy | ||||||
| // | // | ||||||
| //  Created by lvbingru on 16/2/23. | //  Created by lvbingru on 16/2/23. | ||||||
| //  Copyright © 2016年 erica. All rights reserved. | //  Copyright © 2016年 erica. All rights reserved. | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| #import "RCTHotUpdateDownloader.h" | #import "RCTPushyDownloader.h" | ||||||
| 
 | 
 | ||||||
| @interface RCTHotUpdateDownloader()<NSURLSessionDelegate> | @interface RCTPushyDownloader()<NSURLSessionDelegate> | ||||||
| 
 | 
 | ||||||
| @property (copy) void (^progressHandler)(long long, long long); | @property (copy) void (^progressHandler)(long long, long long); | ||||||
| @property (copy) void (^completionHandler)(NSString*, NSError*); | @property (copy) void (^completionHandler)(NSString*, NSError*); | ||||||
| @property (copy) NSString *savePath; | @property (copy) NSString *savePath; | ||||||
| @end | @end | ||||||
| 
 | 
 | ||||||
| @implementation RCTHotUpdateDownloader | @implementation RCTPushyDownloader | ||||||
| 
 | 
 | ||||||
| + (void)download:(NSString *)downloadPath savePath:(NSString *)savePath | + (void)download:(NSString *)downloadPath savePath:(NSString *)savePath | ||||||
| progressHandler:(void (^)(long long receivedBytes, long long totalBytes))progressHandler | progressHandler:(void (^)(long long receivedBytes, long long totalBytes))progressHandler | ||||||
| @@ -24,7 +24,7 @@ completionHandler:(void (^)(NSString *path, NSError *error))completionHandler | |||||||
|     NSAssert(downloadPath, @"no download path"); |     NSAssert(downloadPath, @"no download path"); | ||||||
|     NSAssert(savePath, @"no save path"); |     NSAssert(savePath, @"no save path"); | ||||||
| 
 | 
 | ||||||
|     RCTHotUpdateDownloader *downloader = [RCTHotUpdateDownloader new]; |     RCTPushyDownloader *downloader = [RCTPushyDownloader new]; | ||||||
|     downloader.progressHandler = progressHandler; |     downloader.progressHandler = progressHandler; | ||||||
|     downloader.completionHandler = completionHandler; |     downloader.completionHandler = completionHandler; | ||||||
|     downloader.savePath = savePath; |     downloader.savePath = savePath; | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| //
 | //
 | ||||||
| //  RCTHotUpdateManager.h
 | //  RCTPushyManager.h
 | ||||||
| //  RCTHotUpdate
 | //  RCTPushy
 | ||||||
| //
 | //
 | ||||||
| //  Created by lvbingru on 16/4/1.
 | //  Created by lvbingru on 16/4/1.
 | ||||||
| //  Copyright © 2016年 erica. All rights reserved.
 | //  Copyright © 2016年 erica. All rights reserved.
 | ||||||
| @@ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| #import <Foundation/Foundation.h> | #import <Foundation/Foundation.h> | ||||||
| 
 | 
 | ||||||
| @interface RCTHotUpdateManager : NSObject | @interface RCTPushyManager : NSObject | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| - (BOOL)createDir:(NSString *)dir; | - (BOOL)createDir:(NSString *)dir; | ||||||
| @@ -1,17 +1,17 @@ | |||||||
| // | // | ||||||
| //  RCTHotUpdateManager.m | //  RCTPushyManager.m | ||||||
| //  RCTHotUpdate | //  RCTPushy | ||||||
| // | // | ||||||
| //  Created by lvbingru on 16/4/1. | //  Created by lvbingru on 16/4/1. | ||||||
| //  Copyright © 2016年 erica. All rights reserved. | //  Copyright © 2016年 erica. All rights reserved. | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| #import "RCTHotUpdateManager.h" | #import "RCTPushyManager.h" | ||||||
| #import "ZipArchive.h" | #import "ZipArchive.h" | ||||||
| #import "BSDiff.h" | #import "BSDiff.h" | ||||||
| #import "bspatch.h" | #import "bspatch.h" | ||||||
| 
 | 
 | ||||||
| @implementation RCTHotUpdateManager { | @implementation RCTPushyManager { | ||||||
|     dispatch_queue_t _opQueue; |     dispatch_queue_t _opQueue; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @@ -19,7 +19,7 @@ | |||||||
| { | { | ||||||
|     self = [super init]; |     self = [super init]; | ||||||
|     if (self) { |     if (self) { | ||||||
|         _opQueue = dispatch_queue_create("cn.reactnative.hotupdate", DISPATCH_QUEUE_SERIAL); |         _opQueue = dispatch_queue_create("cn.reactnative.pushy", DISPATCH_QUEUE_SERIAL); | ||||||
|     } |     } | ||||||
|     return self; |     return self; | ||||||
| } | } | ||||||
| @@ -1 +1 @@ | |||||||
| 1570371472 | 1573835204 | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								lib/index.js
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								lib/index.js
									
									
									
									
									
								
							| @@ -1,14 +1,14 @@ | |||||||
| import { NativeAppEventEmitter, NativeModules } from 'react-native'; | import { NativeAppEventEmitter, NativeModules } from 'react-native'; | ||||||
| const HotUpdate = NativeModules.HotUpdate || {}; | const Pushy = NativeModules.Pushy || {}; | ||||||
|  |  | ||||||
| const host = 'https://update.reactnative.cn/api'; | const host = 'https://update.reactnative.cn/api'; | ||||||
|  |  | ||||||
| export const downloadRootDir = HotUpdate.downloadRootDir; | export const downloadRootDir = Pushy.downloadRootDir; | ||||||
| export const packageVersion = HotUpdate.packageVersion; | export const packageVersion = Pushy.packageVersion; | ||||||
| export const currentVersion = HotUpdate.currentVersion; | export const currentVersion = Pushy.currentVersion; | ||||||
| export const isFirstTime = HotUpdate.isFirstTime; | export const isFirstTime = Pushy.isFirstTime; | ||||||
| export const isRolledBack = HotUpdate.isRolledBack; | export const isRolledBack = Pushy.isRolledBack; | ||||||
| export const buildTime = HotUpdate.buildTime; | export const buildTime = Pushy.buildTime; | ||||||
|  |  | ||||||
| /* | /* | ||||||
| Return json: | Return json: | ||||||
| @@ -69,18 +69,18 @@ export async function downloadUpdate(options) { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (options.diffUrl) { |   if (options.diffUrl) { | ||||||
|     await HotUpdate.downloadPatchFromPpk({ |     await Pushy.downloadPatchFromPpk({ | ||||||
|       updateUrl: options.diffUrl, |       updateUrl: options.diffUrl, | ||||||
|       hashName: options.hash, |       hashName: options.hash, | ||||||
|       originHashName: currentVersion, |       originHashName: currentVersion, | ||||||
|     }); |     }); | ||||||
|   } else if (options.pdiffUrl) { |   } else if (options.pdiffUrl) { | ||||||
|     await HotUpdate.downloadPatchFromPackage({ |     await Pushy.downloadPatchFromPackage({ | ||||||
|       updateUrl: options.pdiffUrl, |       updateUrl: options.pdiffUrl, | ||||||
|       hashName: options.hash, |       hashName: options.hash, | ||||||
|     }); |     }); | ||||||
|   } else { |   } else { | ||||||
|     await HotUpdate.downloadUpdate({ |     await Pushy.downloadUpdate({ | ||||||
|       updateUrl: options.updateUrl, |       updateUrl: options.updateUrl, | ||||||
|       hashName: options.hash, |       hashName: options.hash, | ||||||
|     }); |     }); | ||||||
| @@ -90,19 +90,19 @@ export async function downloadUpdate(options) { | |||||||
|  |  | ||||||
| export function switchVersion(hash) { | export function switchVersion(hash) { | ||||||
|   assertRelease(); |   assertRelease(); | ||||||
|   HotUpdate.reloadUpdate({ hashName: hash }); |   Pushy.reloadUpdate({ hashName: hash }); | ||||||
| } | } | ||||||
|  |  | ||||||
| export function switchVersionLater(hash) { | export function switchVersionLater(hash) { | ||||||
|   assertRelease(); |   assertRelease(); | ||||||
|   HotUpdate.setNeedUpdate({ hashName: hash }); |   Pushy.setNeedUpdate({ hashName: hash }); | ||||||
| } | } | ||||||
|  |  | ||||||
| export function markSuccess() { | export function markSuccess() { | ||||||
|   assertRelease(); |   assertRelease(); | ||||||
|   HotUpdate.markSuccess(); |   Pushy.markSuccess(); | ||||||
| } | } | ||||||
|  |  | ||||||
| NativeAppEventEmitter.addListener('RCTHotUpdateDownloadProgress', params => {}); | NativeAppEventEmitter.addListener('RCTPushyDownloadProgress', params => {}); | ||||||
|  |  | ||||||
| NativeAppEventEmitter.addListener('RCTHotUpdateUnzipProgress', params => {}); | NativeAppEventEmitter.addListener('RCTPushyUnzipProgress', params => {}); | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ Pod::Spec.new do |s| | |||||||
|   s.authors      = package['author'] |   s.authors      = package['author'] | ||||||
|   s.homepage     = package['homepage'] |   s.homepage     = package['homepage'] | ||||||
|  |  | ||||||
|   s.platform = :ios, "7.0" |   s.platform = :ios, "8.0" | ||||||
|   s.source = { :git => 'https://github.com/reactnativecn/react-native-pushy.git', :tag => '#{s.version}' } |   s.source = { :git => 'https://github.com/reactnativecn/react-native-pushy.git', :tag => '#{s.version}' } | ||||||
|   s.libraries = 'bz2', 'z' |   s.libraries = 'bz2', 'z' | ||||||
|   s.vendored_libraries = 'RCTHotUpdate/libRCTHotUpdate.a' |   s.vendored_libraries = 'RCTPushy/libRCTPushy.a' | ||||||
|   s.pod_target_xcconfig = { 'USER_HEADER_SEARCH_PATHS' => '"$(SRCROOT)/../node_modules/react-native-update/ios"' } |   s.pod_target_xcconfig = { 'USER_HEADER_SEARCH_PATHS' => '"$(SRCROOT)/../node_modules/react-native-update/ios"' } | ||||||
|   s.resource = 'ios/pushy_build_time.txt' |   s.resource = 'ios/pushy_build_time.txt' | ||||||
|   s.script_phase = { :name => 'Generate build time', :script => '../../node_modules/react-native-update/scripts/generateiOSBuildTime.sh', :execution_position => :before_compile } |   s.script_phase = { :name => 'Generate build time', :script => '../../node_modules/react-native-update/scripts/generateiOSBuildTime.sh', :execution_position => :before_compile } | ||||||
| @@ -22,13 +22,13 @@ Pod::Spec.new do |s| | |||||||
|   s.dependency 'React' |   s.dependency 'React' | ||||||
|   s.dependency 'SSZipArchive' |   s.dependency 'SSZipArchive' | ||||||
|  |  | ||||||
|   s.subspec 'RCTHotUpdate' do |ss| |   s.subspec 'RCTPushy' do |ss| | ||||||
|     ss.source_files = 'ios/RCTHotUpdate/*.{h,m}' |     ss.source_files = 'ios/RCTPushy/*.{h,m}' | ||||||
|     ss.public_header_files = ['ios/RCTHotUpdate/RCTHotUpdate.h'] |     ss.public_header_files = ['ios/RCTPushy/RCTPushy.h'] | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   s.subspec 'BSDiff' do |ss| |   s.subspec 'BSDiff' do |ss| | ||||||
|     ss.source_files = 'ios/RCTHotUpdate/BSDiff/**/*.{h,m,c}' |     ss.source_files = 'ios/RCTPushy/BSDiff/**/*.{h,m,c}' | ||||||
|     ss.private_header_files = 'ios/RCTHotUpdate/BSDiff/**/*.h' |     ss.private_header_files = 'ios/RCTPushy/BSDiff/**/*.h' | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 sunnylqm
					sunnylqm