You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: LICENSE.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,12 @@ AppZung CodePush Plugin for React Native
2
2
3
3
Copyright (c) Louis Lagrange and Louis Lagrange Consulting
4
4
5
-
All rights reserved.
5
+
All rights reserved.
6
6
7
7
MIT License
8
8
9
9
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
10
11
11
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
12
13
-
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13
+
THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -43,7 +43,7 @@ The CodePush plugin helps get product improvements in front of your end users in
43
43
44
44
In order to ensure that your end users always have a functioning version of your app, the CodePush plugin maintains a copy of the previous update, so that in the event that you accidentally push an update which includes a crash, it can automatically roll back. This way, you can rest assured that your newfound release agility won't result in users becoming blocked before you have a chance to roll back on the server. It's a win-win-win!
45
45
46
-
*Note: Any product changes which touch native code (e.g. modifying your `AppDelegate.mm`/`MainActivity.kt` file, adding a new plugin, or changing an image or video not using `require()` syntax) cannot be distributed via CodePush, and therefore, must be updated via the appropriate store(s).*
46
+
_Note: Any product changes which touch native code (e.g. modifying your `AppDelegate.mm`/`MainActivity.kt` file, adding a new plugin, or changing an image or video not using `require()` syntax) cannot be distributed via CodePush, and therefore, must be updated via the appropriate store(s)._
*NOTE: For Expo apps a plugin will be made available soon. In the meantime, you may eject.*
58
+
_NOTE: For Expo apps a plugin will be made available soon. In the meantime, you may eject._
59
59
60
60
Then continue with installing the native module:
61
61
62
-
*[iOS Setup](docs/setup-ios.md)
63
-
*[Android Setup](docs/setup-android.md)
64
-
*[Windows Setup](docs/setup-windows.md)
62
+
-[iOS Setup](docs/setup-ios.md)
63
+
-[Android Setup](docs/setup-android.md)
64
+
-[Windows Setup](docs/setup-windows.md)
65
65
66
66
## Migrating to AppZung CodePush
67
67
@@ -105,7 +105,7 @@ If you are less in a hurry, you can migrate to `@appzung/react-native-code-push`
105
105
106
106
1. Replace every `react-native-code-push` imports with `@appzung/react-native-code-push` imports
107
107
2. (optional) As the package is now compatible with ESM, if you call CodePush functions like `CodePush.sync()` or import types/interfaces, you may have to replace your imports `import CodePush from` to selective imports `import withCodePush, { sync, DownloadProgress } from` (or `import * as CodePush from`)
108
-
3. (optional) If you use a jest global mock, move the mock from `__mocks__/react-native-code-push.ts` to `__mocks__/@appzung/react-native-code-push.ts`
108
+
3. (optional) If you use a jest global mock, move the mock from `__mocks__/react-native-code-push.ts` to `__mocks__/@appzung/react-native-code-push.ts`
109
109
4. (optional) If you use dynamic deployment assignation, rename `deploymentKey` option to `releaseChannelPublicId` (TypeScript should catch that)
110
110
111
111
#### Change your iOS setup
@@ -127,7 +127,7 @@ If you are less in a hurry, you can migrate to `@appzung/react-native-code-push`
127
127
We try our best to maintain backwards compatibility of our plugin with previous versions of React Native, but due to the nature of the platform, and the existence of breaking changes between releases, it is possible that you need to use a specific version of the CodePush plugin in order to support the exact version of React Native you are using. The following table outlines which CodePush plugin versions officially support the respective React Native versions:
Alternatively, if you want fine-grained control over when the check happens (like a button press or timer interval), eg. in a staging environment, you can call [`CodePush.sync()`](docs/api-js.md#codepushsync) at any time with your desired `SyncOptions`, and turn off CodePush's automatic checking by specifying a manual `checkFrequency`:
@@ -203,7 +202,7 @@ Once your app is configured and distributed to your users, and you have made som
203
202
204
203
### Locally
205
204
206
-
*NOTE: Before you can start releasing updates, please log into AppZung by running the `appzung auth login` command.*
205
+
_NOTE: Before you can start releasing updates, please log into AppZung by running the `appzung auth login` command._
207
206
208
207
In its most basic form, this command looks like this:
209
208
@@ -233,7 +232,7 @@ For more details about how the `appzung releases deploy-react-native` command wo
233
232
234
233
If you run into any issues, or have any questions/comments/feedback, you can check out the [troubleshooting](#debugging--troubleshooting) details below or email us at [email protected].
235
234
236
-
*NOTE: CodePush updates should be tested in modes other than Debug mode. In Debug mode, React Native app always downloads JS bundle generated by packager, so JS bundle downloaded by CodePush does not apply.*
235
+
_NOTE: CodePush updates should be tested in modes other than Debug mode. In Debug mode, React Native app always downloads JS bundle generated by packager, so JS bundle downloaded by CodePush does not apply._
237
236
238
237
### On CI
239
238
@@ -257,13 +256,14 @@ Android Google Play and iOS App Store have corresponding guidelines that have ru
257
256
### Google play
258
257
259
258
Third paragraph of [Device and Network Abuse](https://support.google.com/googleplay/android-developer/answer/9888379?hl=en) topic describe that updating source code by any method other than Google Play's update mechanism is restricted. But this restriction does not apply to updating javascript bundles.
259
+
260
260
> This restriction does not apply to code that runs in a virtual machine and has limited access to Android APIs (such as JavaScript in a webview or browser).
261
261
262
262
That fully allow CodePush as it updates just JS bundles and can't update native code part.
263
263
264
264
### App Store
265
265
266
-
Paragraph **3.3.2**, since back in 2015's [Apple Developer Program License Agreement](https://developer.apple.com/programs/ios/information/) fully allowed performing over-the-air updates of JavaScript and assets - and in its latest version (20170605) [downloadable here](https://developer.apple.com/terms/) this ruling is even broader:
266
+
Paragraph **3.3.2**, since back in 2015's [Apple Developer Program License Agreement](https://developer.apple.com/programs/ios/information/) fully allowed performing over-the-air updates of JavaScript and assets - and in its latest version (20170605) [downloadable here](https://developer.apple.com/terms/) this ruling is even broader:
267
267
268
268
> Interpreted code may be downloaded to an Application but only so long as such code: (a) does not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store, (b) does not create a store or storefront for other code or applications, and (c) does not bypass signing, sandbox, or other security features of the OS.
269
269
@@ -277,9 +277,9 @@ This is not necessarily the case for `updateDialog`, since it won't force the us
277
277
278
278
## API Reference
279
279
280
-
*[JavaScript API](docs/api-js.md)
281
-
*[Objective-C API Reference (iOS)](docs/api-ios.md)
282
-
*[Java API Reference (Android)](docs/api-android.md)
280
+
-[JavaScript API](docs/api-js.md)
281
+
-[Objective-C API Reference (iOS)](docs/api-ios.md)
282
+
-[Java API Reference (Android)](docs/api-android.md)
283
283
284
284
## Debugging / Troubleshooting
285
285
@@ -293,14 +293,14 @@ Note that by default, React Native logs are disabled on iOS in release builds, s
293
293
294
294
2. Add the following statement to the top of your `application:didFinishLaunchingWithOptions` method:
295
295
296
-
```objective-c
297
-
RCTSetLogThreshold(RCTLogLevelInfo);
298
-
```
296
+
```objective-c
297
+
RCTSetLogThreshold(RCTLogLevelInfo);
298
+
```
299
299
300
300
Now you'll be able to see CodePush logs in either debug or release mode, on both iOS or Android. If examining the logs don't provide an indication of the issue, please refer to the following common issues for additional resolution ideas:
| Compilation Error | Double-check that your version of React Native is [compatible](#compatibility-table) with the CodePush version you are using. |
305
305
| Network timeout / hang when calling `sync` or `checkForUpdate` in the iOS Simulator | Try resetting the simulator by selecting the `Simulator -> Reset Content and Settings..` menu item, and then re-running your app. |
306
306
| Server responds with a `404` when calling `sync` or `checkForUpdate` | Double-check that the release channel public ID you added to your `Info.plist` (iOS), `strings.xml` or `app/build.gradle` (Android) or that you're passing to `sync`/`checkForUpdate`, is in fact correct. You can run `appzung release-channels list` to view the correct public ID for your app release channel. |
0 commit comments