react-native-ota-hot-update 2.2.7 → 2.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -10
- package/ios/OtaHotUpdate.h +3 -3
- package/package.json +1 -1
- package/plugin/build/index.js +17 -3
- package/plugin/src/index.ts +34 -9
- package/react-native-ota-hot-update.podspec +5 -1
package/README.md
CHANGED
|
@@ -69,18 +69,13 @@ Open `AppDelegate.m` and add this:
|
|
|
69
69
|
|
|
70
70
|
From react native 0.77, AppDelegate changed to swift file, so the configuration will be change a bit.
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
- Right-click on your project in the Xcode navigator and select New File from template.
|
|
74
|
-
- Select Header File under the iOS section and click Next.
|
|
75
|
-
- Name it something like `YourProjectName-Bridging-Header.h` and save it in your project directory.
|
|
76
|
-
- In your project's Build Settings: Search for `Objective-C Bridging Header`.
|
|
77
|
-
Set its value to the relative path of your bridging header file, e.g., YourProjectName/YourProjectName-Bridging-Header.h, remember need to create header file inside folder `YourProjectName`
|
|
78
|
-
2. Open `YourProjectName-Bridging-Header.h` and add this line:
|
|
79
|
-
|
|
80
|
-
`#import "OtaHotUpdate.h"`
|
|
81
|
-
3. Open AppDelegate.swift:
|
|
72
|
+
Open AppDelegate.swift:
|
|
82
73
|
|
|
83
74
|
```bash
|
|
75
|
+
|
|
76
|
+
import react_native_ota_hot_update
|
|
77
|
+
...
|
|
78
|
+
|
|
84
79
|
override func bundleURL() -> URL? {
|
|
85
80
|
#if DEBUG
|
|
86
81
|
RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index")
|
package/ios/OtaHotUpdate.h
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#import <React/RCTReloadCommand.h>
|
|
2
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
|
3
|
-
#import "RNOtaHotUpdateSpec.h"
|
|
4
2
|
|
|
3
|
+
#if defined(RCT_NEW_ARCH_ENABLED) && __has_include("RNOtaHotUpdateSpec.h")
|
|
4
|
+
#import "RNOtaHotUpdateSpec.h"
|
|
5
5
|
@interface OtaHotUpdate : NSObject <NativeOtaHotUpdateSpec>
|
|
6
6
|
#else
|
|
7
7
|
#import <React/RCTBridgeModule.h>
|
|
8
|
-
|
|
9
8
|
@interface OtaHotUpdate : NSObject <RCTBridgeModule>
|
|
10
9
|
#endif
|
|
10
|
+
|
|
11
11
|
+ (NSURL *)getBundle;
|
|
12
12
|
|
|
13
13
|
@end
|
package/package.json
CHANGED
package/plugin/build/index.js
CHANGED
|
@@ -19,11 +19,25 @@ import com.otahotupdate.OtaHotUpdate`);
|
|
|
19
19
|
};
|
|
20
20
|
const withIosAction = (config) => {
|
|
21
21
|
return (0, config_plugins_1.withAppDelegate)(config, (config) => {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
const appDelegatePath = config.modRequest.projectRoot + '/ios/' + config_plugins_1.IOSConfig.Paths.getAppDelegateFilePath(config.modRequest.projectRoot);
|
|
23
|
+
const isSwift = appDelegatePath.endsWith('.swift');
|
|
24
|
+
if (isSwift) {
|
|
25
|
+
// Swift: AppDelegate.swift
|
|
26
|
+
if (!config.modResults.contents.includes('import react_native_ota_hot_update')) {
|
|
27
|
+
config.modResults.contents = `import react_native_ota_hot_update\n${config.modResults.contents}`;
|
|
28
|
+
}
|
|
29
|
+
if (!config.modResults.contents.includes('OtaHotUpdate.getBundle()')) {
|
|
30
|
+
config.modResults.contents = config.modResults.contents.replace(/return Bundle.main.url\(forResource: "main", withExtension: "jsbundle"\)/, `return OtaHotUpdate.getBundle()`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Objective-C: AppDelegate.mm
|
|
35
|
+
if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
|
|
36
|
+
config.modResults.contents = config.modResults.contents.replace(/#import "AppDelegate.h"/g, `#import "AppDelegate.h"
|
|
24
37
|
#import "OtaHotUpdate.h"`);
|
|
38
|
+
}
|
|
39
|
+
config.modResults.contents = config.modResults.contents.replace(/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/, `[OtaHotUpdate getBundle]`);
|
|
25
40
|
}
|
|
26
|
-
config.modResults.contents = config.modResults.contents.replace(/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/, `[OtaHotUpdate getBundle]`);
|
|
27
41
|
return config;
|
|
28
42
|
});
|
|
29
43
|
};
|
package/plugin/src/index.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
withMainApplication,
|
|
3
|
+
withAppDelegate,
|
|
4
|
+
IOSConfig,
|
|
5
|
+
} from '@expo/config-plugins';
|
|
6
|
+
|
|
2
7
|
const withAndroidAction: any = (config: any) => {
|
|
3
8
|
return withMainApplication(config, (config) => {
|
|
4
9
|
if (!config.modResults.contents.includes('override fun getJSBundleFile(): String = OtaHotUpdate.bundleJS(this@MainApplication)')) {
|
|
@@ -25,18 +30,37 @@ import com.otahotupdate.OtaHotUpdate`
|
|
|
25
30
|
|
|
26
31
|
const withIosAction: any = (config: any) => {
|
|
27
32
|
return withAppDelegate(config, (config) => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
const appDelegatePath = config.modRequest.projectRoot + '/ios/' + IOSConfig.Paths.getAppDelegateFilePath(config.modRequest.projectRoot);
|
|
34
|
+
const isSwift = appDelegatePath.endsWith('.swift');
|
|
35
|
+
|
|
36
|
+
if (isSwift) {
|
|
37
|
+
// Swift: AppDelegate.swift
|
|
38
|
+
if (!config.modResults.contents.includes('import react_native_ota_hot_update')) {
|
|
39
|
+
config.modResults.contents = `import react_native_ota_hot_update\n${config.modResults.contents}`;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (!config.modResults.contents.includes('OtaHotUpdate.getBundle()')) {
|
|
43
|
+
config.modResults.contents = config.modResults.contents.replace(
|
|
44
|
+
/return Bundle.main.url\(forResource: "main", withExtension: "jsbundle"\)/,
|
|
45
|
+
`return OtaHotUpdate.getBundle()`
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
// Objective-C: AppDelegate.mm
|
|
50
|
+
if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
|
|
51
|
+
config.modResults.contents = config.modResults.contents.replace(
|
|
52
|
+
/#import "AppDelegate.h"/g,
|
|
53
|
+
`#import "AppDelegate.h"
|
|
32
54
|
#import "OtaHotUpdate.h"`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
config.modResults.contents = config.modResults.contents.replace(
|
|
59
|
+
/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/,
|
|
60
|
+
`[OtaHotUpdate getBundle]`
|
|
33
61
|
);
|
|
34
62
|
}
|
|
35
63
|
|
|
36
|
-
config.modResults.contents = config.modResults.contents.replace(
|
|
37
|
-
/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/,
|
|
38
|
-
`[OtaHotUpdate getBundle]`
|
|
39
|
-
);
|
|
40
64
|
return config;
|
|
41
65
|
});
|
|
42
66
|
};
|
|
@@ -46,4 +70,5 @@ const withAction: any = (config: any) => {
|
|
|
46
70
|
config = withIosAction(config);
|
|
47
71
|
return config;
|
|
48
72
|
};
|
|
73
|
+
|
|
49
74
|
module.exports = withAction;
|
|
@@ -13,7 +13,11 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
|
|
14
14
|
s.platforms = { :ios => min_ios_version_supported }
|
|
15
15
|
s.source = { :git => "https://github.com/vantuan88291/react-native-ota-hot-update.git", :tag => "#{s.version}" }
|
|
16
|
-
|
|
16
|
+
s.pod_target_xcconfig = {
|
|
17
|
+
'SWIFT_VERSION' => '5.0',
|
|
18
|
+
'DEFINES_MODULE' => 'YES'
|
|
19
|
+
}
|
|
20
|
+
s.public_header_files = "ios/OtaHotUpdate.h"
|
|
17
21
|
s.source_files = "ios/**/*.{h,m,mm,cpp}"
|
|
18
22
|
s.dependency 'SSZipArchive', '~> 2.4.3'
|
|
19
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '0'
|