"Legality" of using web resources and appcache inside UIWebView/Phonegap - iphone

We are trying to develop a hybrid app that can update itself by using css/javascript/html from the internet, instead of storing them in the phonegap project.
Like so
Html5 cache manifest in a UIWebView?
HTML5 AppCache in UIWebView
It now does work fine on iOS 5 and 5.1
In fact, inside phonegap index.html we do or location.href redirect to the web site. The web site has offline manifest, which allows the phonegap app to start and work the second time in an offline mode (after all resources were cached the first time). And changes to manifest do update the app correctly. I have tried terminating the app in the phone, and restarting it while the web site is down - it still works.
There are solutions that allow self update - for example the phonegap-based Worklight. So silent self-update doesn't seem to be an issue anymore.
So the question is, did anybody submit similar an app to appstore? There's potentially no code at all in the app, all it does is goes to the web site.

Apple appears to allow apps to download data updates and Javascript/HTML for use in UIWebViews. They even presented a WWDC session on data driven apps a couple years back.
But note this item in Apple's app review guidelines:
2.12 Apps that are ... simply web sites bundled as apps ... may be rejected.
The only way to know for sure if your app is acceptable is to submit it to Apple for review, as "similar" apps do not appear to set any precedent for any future approvals.

Related

Loading remote application would it lead to App Store rejection?

I have an application using JQtouch and would like it to be on the App Store.
Will my application get rejected from the App Store if all the functionality is done remotely (loading in UIWebView) and I provide no offline functionality?
Thanks.
From the Apple App Approval Guidelines:
12.3: Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected.
Basically if your app does not add anything to the experience of viewing the website, then you may get rejected.
I have had apps approved in the app store that were just a web view pointed on a JQTouch application. However, I loaded the .html from a local file included in the app. I believe the no "web clippings" clause of section 12.3 in the App Approval guidelines is only meant for clippings of full web sites. Embedding a mobile web application in a local app will likely get accepted.
I don't think this should be a problem. Apple reviewers are probably the most fickle people on the planet, but I can think of several apps that are UIWebView based, and which provide little or no offline functionality.

Download additioanal functionality into an app - is it possible?

I'm currently developing an iPhone version of existing Android application.
Customer wants to provide his web services via mobile apps. On Android this is made in a modular way: user installs main app, and then he can download additional modules to it if needed. That way he can install only modules that he needs.
Is there a way to achieve same functionality on iPhone? I read about In-App Purchasing, but I don't know if it will work because additional functionality will not be built-in and unlocked - it needs to be downloaded and added to my app as a new module - so user's space would not be wasted with unneeded modules.
Thank you!
2.7 Apps that download code in any way or form will be rejected
From App Store Review Guidelines
Judging by the question, this is not a world-facing app - it has a specific customer. With Terente's answer in mind, do consider side-loading, AKA in-house distribution. That is - bypass the app store. The prohibition on the downloadable code is an App Store policy, not a limitation of the platform.
The enterprise contract with Apple is $300/year instead of regular $100/year. But you get to install your app on as many devices as you wish, completely bypassing the App Store. Either over the air (by browsing from the phone) or via iTunes.
Under this model, your app can download, store and run custom code all you want. The specifics of the plug-in model are up for you and your customer.
EDIT: so app store is a must. How about this: have a WebView in the project, have it download HTML pages with JavaScript in them, have code hooks for JavaScript to call. To the best of my knowledge, AppStore does not reject apps that display Web pages from the Net, and if the Web page happens to have a script, there's no prohibition on executing that script.
This violates the spirit of the rule while relying on letter and precedent. Technically speaking, JavaScript IS code. And again, technically speaking, WebView is capable of downloading and running it. And App Store is choke full of apps with WebView in them.
How will this fly with your customers, who knows.

Does Apple reject "mobile web shell" applications?

I'm not sure how to word this correctly, so I'm going to be a little verbose:
I'm tasked with building an app for my company that will just load a mobile website into a barebones browser with no address bar or anything. So basically the app will be just the same as if the user had navigated there in Safari (sans normal browser controls).
My question is: does Apple reject this sort of app because of it just being a wrapper around a mobile site? I'm totally lost on this, as I've never developed for iOS before and have no idea what kinds of roadblocks i might hit.
Apple may reject your app if all it does is wrap a web site in a UIWebView. You need to have more functionality in your app than just loading a web page.
From the app review guidelines for iOS:
4.2 Minimum Functionality
Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value, it may not be accepted.
You may want to investigate developing your company's app as a mobile web app. There's plenty of information published by Apple (and others) about how to write mobile web apps that function similarly to native iOS apps.
Put some functionality that gives your app look like native application.
Make sure that your description for app is enough for understanding to Apple app tester about you app.
and resend your app to apple store or you can send reply to apple review team about your application.
FWIW a company I worked for put an app through the App Store that was little more than a browser in May 2013.
It probably helped that the website it pointed to had an extremely responsive design, was a media player with play buttons etc. Also played video inline, which you can't do on mobile Safari (because mobile Safari will play the video full screen).
See section 2.12 in App Store Review Guidelines:
Apps that are not very useful, are
simply web sites bundled as apps, or
do not provide any lasting
entertainment value may be rejected

iPhone Web Appication deployment and distribution process

--I haven't develop any iPhone Web Application ever...so i am little bit confuse about that.
--I want to build a Web Application for iPhone which will be made using(CSS+JavaScript).
--I read some where that no approval is required for iPhone Web Application.
is it correct ?
--And if i have made my iPhone Web Application (using CSS+JavaScript)and uploaded at my server.
--and if i want to open it in UIWebView using iPhone SDK simply...
--is this Application is valid for iPhone Web Application portal https://adcweb.apple.com/iphone/index.php or not ?
--how can end users get the Application on their iPhone after submiting to the portal...
--can any one explain me the whole process of iPhone Web Application deployment and distribution process ?
Thanks in advance...
iPhone (and others) have support for "stand alone" web apps. These are web apps that are designed to work offline. These applications are hosted on the web, but along with the application is a manifest file that describes all of the resources that the application will need. These resources are all downloaded to the device.
On the iPhone, to "install" one of these applications, you need to simply bookmark it. When you bookmark the app, the phone asks if you want an icon for it in the standard app area, vs just a bookmark in the browser.
Once bookmarked, the user can simply tap on the icon like any other application. This will launch safari for your application, and it starts using its local resource. There's no reason a standalone application that never touches the internet can't be written. The Safari Reference Library has a lot of information on this.
If you'r building a web application, we talk about something, that does not need to be installed on the iPhone, because it runs inside the browser. So yes, you don't have to go through the approval process, it's just a website optimized for the iPhone. The submission you linked to in your question is to get listed at apple with your web application (I'm not sure about the guidelines for that), it,s not a submission for the app store. You don't have to (and you should not) make use of the SDK by using UIWebView, because that would mean to build an native application which needs approval, has to be installed etc. If your goal is or can reached by building a web application, all the user needs is safari.
You do not need approval for a web application. The iPhone can view any web page through its browser (as long as there's no flash), so just implement your application as you normally would, but design for the smaller screen. The submission form is just for listing in portals (I don't know which portals).
If you want to make a native iPhone application that talks to the server, then you need to sign up for a developer account and develop the application in Objective-C (with the help of UIWebViews, which are essentially embedded browser windows). That will require approval.
What about a web application that needs to be installed. By that I mean an application that consists of a web page (with embedded CSS and Javascript) that uses HTML5's localStorage to work offline. You still need to be able to access the page itself if you lost the connection, i.e. the page needs to be stored locally, because once you are offline, you can't access it from a server outside...

updating iPhone apps via the web

I'm working on an eBook app for the iPhone. Given the time it takes for Apple to review and publish updates, I'm considering adding a feature to update the content via my own (Google App Engine-powered) web site.
This would allow me to update the content at will, rather than being at the mercy of the App Store review team. Is Apple likely to reject this kind of behavior in an app? I've asked in the Apple Developer forums, but received no response.
We have developed an application on the App Store that will go our web server and get new content when new content is available and store it on the iPhone. You should not have any problem as long as the content is not offensive. This could lead to your application being removed from the app Store. I've also heard that they may make your app 17+ because of getting content from the web.
You probably received no response because no one knows for sure. Apple has allowed apps that embed webkit before, but it has also rejected them as well.
iphone + web hybrid apps perfectly ok i think, not sure why apple would be concerned.