Automatic Updates for Phonegap applications are now available on the Apple App Store

While I have come across similar inquiries, none of them precisely match my question. Currently, I am working on developing an app with Phonegap.

I understand that Apple permits apps to request external JS (such as those using Google Maps) by including a script tag in the header and referencing the external js file. However, my goal is to achieve a similar outcome but through code, utilizing jQuery getScript.

The functionality works correctly, but my concern lies in Apple's policy against downloading code to your app. Isn't having a script tag in the header pointing to external JavaScript essentially downloading code to the app?

In my opinion, whether you grab the javascript via a script tag or programmatically, it still amounts to 'downloading' code.

If anyone knows the definitive answer to this query, please share. Otherwise, how can I seek clarification? Even if the app gets approved, there remains the risk of building multiple apps with this code only to discover later that they are all taken down.

Answer №1

Opinions on using PhoneGap for app development vary among developers. Some have faced challenges with approval when using PhoneGap, leading to a preference against it. For a comprehensive discussion reflecting the views of numerous developers, you can explore this link:

Additionally, further insights and perspectives on this topic can be found here:

It is important to note that while using PhoneGap does not inherently hinder app approval, Apple's guidelines specify that apps downloading code externally are likely to face rejection. Including JavaScript in your app is acceptable, but executing code that downloads scripts from external sources is discouraged. The key requirement is that all code must be contained within the app itself. Essentially, apps which download codes directly may encounter issues, whereas those incorporating scripts internally and then fetching related content (similar to Facebook) should not face obstacles.

Answer №2

Apple has strict restrictions on loading code at a later time. While exceptions can occur, the general consensus is clear and it's not something I would depend on.

Answer №3

The main purpose of this 'guideline' is to make sure that the app's functionality remains unchanged after receiving approval from Apple. Apple is now limiting the ability to modify screenshots post-approval. This is primarily for security reasons, but the ultimate objective is consistent presentation of your app's features.

Based on the title of your inquiry, it seems you are utilizing <script> or getScript to deliver the latest version directly to the device, rather than packaging and updating the entire app?

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Tips for incorporating a Survey Monkey website embed into an Angular application

I have a Survey Monkey account with multiple surveys. I am trying to embed a survey from this website into my Angular website, which already has Bootstrap and jQuery added. I attempted to directly add the script in an HTML component, but it did not work. ...

Problem: Change an Object to json data in an iOS application

In my code, I have a main entity class named "Store" which looks like this: Store.h :- #import <Foundation/Foundation.h> #import "SignIn.h" @interface Store : NSObject @property (nonatomic, retain) NSString *storeId; @property (nonatomic, retain) ...

"Upon refreshing, the background image reverts back to its original default setting

With React, I have implemented a feature where users can navigate to their 'settings' page and select an image to set as their background. I used DOM manipulation to achieve this functionality successfully! However, whenever the page is refreshed ...

Styling a <slot> within a child component in Vue.js 3.x: Tips and tricks

I'm currently working on customizing the appearance of a p tag that is placed inside a child component using the slot. Parent Component Code: <template> <BasicButton content="Test 1234" @click="SendMessage('test') ...

Tips for shortening extra text in a non-wrapping HTML table cell and adding "..." at the end

My HTML template includes text imported from a database field into a <td> tag. The length of the text can range from 3 to 200 characters, and the <td> spans 100% of the screen width. If the text surpasses the width of the screen, I want it to b ...

How to Utilize Muuri Javascript Library with Bootstrap Tabs: Resizing Required for Expansion?

Struggling for days and feeling frustrated, I'm hoping someone can help me crack this mystery. My idea is straightforward - three Bootstrap 4 tabs with drag and drop functionality inside each, all displayed in a responsive stacked masonry layout. To a ...

Add content to the beginning and end of the page depending on the user's browser

Looking for a way to optimize a function that moves an HTML element within the DOM based on window size. The current implementation uses prepend and append to adjust the position of the image, but since the function is triggered every time the window is re ...

Trigger event listener of AngularJS directive on click and send information to it

During my exploration of AngularJS directives, I encountered a task that required me to activate the directive's listener upon clicking a button and passing data from the controller to it. Sample Directive app.directive('graphVisualization&apos ...

Understanding how to resize SDWebImage before caching based on the size of the UIImageView

In my project, I am utilizing SDWebImage to load and store images that are displayed in tableViewCells. To optimize scrolling performance, I decided to implement a resizing function as an extension to UIImageView, which resizes images to fit the dimensio ...

JavaScript tool: Verify the presence of both jQuery and jQuery UI

I have been working on developing a Javascript Widget (almost complete), and when integrating it into the first site I encountered some issues. My Widget requires loading multiple libraries (jquery, jquery ui, mustache, ...); this is achieved by injecting ...

Utilizing factory service within a decorator in AngularJS

Utilizing the TextAngular plugin and attempting to customize a toolbar, I am striving to inject my own service (LinkService) into the module but encountering an [$injector:unpr] Unknown provider issue. module.config(function($provide, LinkService){ $p ...

Tips for converting a QR code to data URL encoding to include in a JSON response

I created a nodejs function to encode a QR code and I want to return the result back to the caller function in order to create a JSON response. However, for some reason my code is not returning the data response. Can someone please help me figure out what& ...

obtaining selections from a dropdown menu and transferring them to an unordered list using jquery

Currently, I am in the process of developing a plugin that transforms select boxes into visually appealing elements. This transformation involves converting select boxes on a page into definition lists, where each definition description contains a nested u ...

Is it possible for a controller within a directive in AngularJS to define the ng-model of the directive itself?

Having a directive that utilizes ng-model controller and fetches its model value from the parent controller, "myController", I am seeking guidance on how to enable the consumer to dynamically set the ngModel value as they desire. The directive is designed ...

Chart Vue, Component

I am currently working with a chart implemented using vue-chart. I am facing a challenge where I need to populate the mydata array with data retrieved from the store.js file. I want to automatically push this data into the mydata array without the need for ...

Converting a file into a blob or JavaScript file in NodeJS: A step-by-step guide

I have a function that is designed to accept a file in this particular format using the multer package. Now, my goal is to upload this file to Firebase storage, but before I can do that, it needs to be converted into either a Blob or a Javascript file. Th ...

When downloading files that I uploaded to Google Drive using React Native, I noticed that the file size is not consistent with the original file

Greetings Everyone! I am aiming to transfer the database (RealmJS) that is currently stored on my device storage to Google Drive using Google Drive API V3. To accomplish this, I have already installed various node modules such as react-native-fs and @reac ...

Removing duplicate elements from an array using lodash

What is the best way to remove duplicate values from an array? var numbers = [1, 1, 5, 5, 4, 9]; I want my result to be: var numbers = [4, 9]; Is there a method in lodash that can help me achieve this? ...

What is the best way to implement ajax loading on scroll?

I need to implement lazy loading for multiple ajax pages on my website. I want the ajax content to load dynamically as the user scrolls down the page, similar to infinite scroll or lazy image loading. $('.lazy_content').on('load', fu ...

Learn how to effectively declare data as global within Angular2 or Typescript

I am facing an issue with fetching the id inside the Apiservice despite being able to get it in the console. Can anyone provide assistance on how to solve this problem? TS: deleteProduct(index,product) { var token = this.auth.getAccessTokenId(); ...