When to Submit Your App for Review

HotUpdater enables seamless updates to JavaScript (JS) files and assets required by your app, bypassing the app store review process in many cases. However, certain changes, particularly those involving native code (e.g., written in Swift/Objective-C for iOS or Kotlin/Java for Android), require app store review. Below, we outline when you need to submit your app for review and when HotUpdater can handle updates independently.

Scenarios Requiring App Store Review (Native Code Changes)

  1. Initial Integration of HotUpdater
    During the first integration of HotUpdater, native code modifications are required. This necessitates submitting your app for app store review.

  2. Native Code Changes
    Any updates to native code, such as Swift, Objective-C, Kotlin, or Java, require an app store review before the changes can be distributed.

  3. Installing Native-Dependent Libraries
    When using third-party libraries in React Native that modify native code, your app must go through app store review. A key indicator of native changes is the need for commands like:

    cd ios && pod install && cd ..
    

Scenarios Compatible with HotUpdater (No App Store Review)

Certain updates can be performed entirely via HotUpdater, allowing you to bypass the app store review process:

JavaScript Code Updates

Updates that only modify JS code can be handled by HotUpdater without review.

   export default function App() {
       return (
           <View>
             <Text>Hello</Text> 
             <Text>Update Hello</Text> 
           </View>
       );
   }

Asset Updates viarequire

Changes to assets referenced using require (e.g., images or media files) can also be distributed via HotUpdater.

   <Image source={require("../assets/image.png")} /> 
   <Image source={require("../assets/new_image.png")} /> 

JavaScript Library Updates

Updates that involve only JS library changes are compatible with HotUpdater:

> npm install lodash zustand ...

Understanding HotUpdater Package Versioning

The HotUpdater versioning system helps determine whether app store review is necessary:

Version TypeExampleChangesReview Required?
Patch Version0.5.10 → 0.5.11Only JS logic is updated.No
Minor Version0.5.10 → 0.6.0Updates include JS changes and minor optimizations in the native code.Yes
Major Version0.5.10 → 1.0.0Significant changes to native code, often involving feature enhancements.Yes

If the version change only affects the 0.5.x part of the package (patch version), you can update the hot-updater package without requiring an app store review, as the updates are limited to JS logic. However, if the 0.x.0 portion changes (major or minor version), it indicates changes in the native code. In these cases, the app must go through the app store review process.

Key Notes on Versioning

  • Patch Versions (x.x.Patch): Updates limited to JS logic (e.g., bug fixes or performance improvements). No app store review required.
  • Minor Versions (x.Minor.x): May include minor changes to native code, requiring app store review.
  • Major Versions (Major.x.x): Introduce significant updates to native code, always requiring app store review.

Summary

To ensure a smooth update process:

  • Use HotUpdater for JS updates and asset changes to avoid app store reviews.
  • Submit your app for review when native code changes or third-party libraries affecting native code are integrated.
  • Follow HotUpdater versioning guidelines to determine when a review is required.