is there way to update iOS app without AppStore? - ios

I want to publish my app in AppStore and update that published app without Appstore!
I wand send new update directly from server to the app

You can do all the work server side.
For example you can do all your UI from the backend. Sending through JSON all the text, size, space, color, constraints etc... That way you can update your App without the AppStore. But it is a lot of work to implement in the first place.
Same logic can be applied for features within the App, you can disable or activate them from the server too.
But all your App needs to be build that way.
I can't see an other alternative to "update" the App without the Appstore.
It really depends on what kind of update you want to achieve.

If it's a Binary Update you should use the App Store, if it's a config update, you can use Firebase Remote Config.

Related

Is there an api to allow the user to update the app from within the app?

Some new users may not know how to use the app store for updating apps. Is there a way from within the app I can provide a button that triggers updating the app ?
No, there is no built in way to do this.
If you have a way of detecting when a newer version is out (e.g. your server reports the version number of the latest version), then you could just direct users to your app's App Store page when they have an old version — just use -[UIApplication openURL:] to open your app's App Store URL, and it'll transfer them to the App Store app.
But as Losiowaty's comment mentions, this is not a thing you should worry about. Most people have automatic app updates turned on. This really is a non-issue.

Fully replacing app that has been submitted to the apple app store

My client wants to update his iphone app but he doesn't have access to the source code. Is it possible to update the already existing app by building it from scratch?
Yep, you just need to use the same bundle ID in your app and maintain the versioning (just make it higher than what it is in the app store). So long as you have the developer account that published the app, then you will be fine
Your client can update the existing app if he has the access to the store. Else, while building the new application, he has to maintain the package identifier with higher app version and the rest will be no problem as far as the practice is going on.

Update iOS App without waiting for submission

I've seen solutions like AppHub that allow changes to an already-published iOS App without submitting an updated version to the App Store but as far as I know it doesn't support Xcode. Are there any others that are similar to AppHub that support AppCode and Swift?
My reason behind this is that I am making an app for my school and don't like using WebView. There is an announcements tab that needs to be updated daily but to submit an update to the App Store takes a couple of days.
If you are adding daily news to your app, putting a new version on the App Store every day is definitely not the way to go. Look into a backend service like Firebase or AWS to deliver content updates without the need for the user to update the app daily to see them.

iOS. Is it legal to store app bundle in Documents folder?

I want to dynamically update localization of my iOS application without submitting an app update on App Store.
I know that i can't modify main bundle of my app (that stores Localizable.strings) without submitting an update to App Store because it's read only.
But there is one thing i can try: my application can download another bundle (with updated Localizable.strings files) from some FTP server to Documents folder and get new localization from there.
So my question is:
Is it legal to download new app bundles from FTP servers and store them in Documents folder without submitting an App Store update?
By "Is it legal" i mean: wouldn't my application get rejected by iOS App Store?
This is not recommended and absolutely not supported. Please consider shipping localizations as part of an app update.
I don't think that your app will be rejected, because Apple will not be aware of what you are actually downloading. But this really sounds like a super overkill and a super bad solution. You could store your strings in a file or database on your server and load it when your app launch, and have some code to handle it in app.
Just do the exact same thing as every other developer in the world does and stop trying to be smarter than the system: push app updates when you update your app.
If you want to download your own special app using your own special app update mechanism to /Documents then expect at least:
users to post reviews thinking you're malware;
the application not to download half the time because the user hasn't given your app access permissions; and
the downloaded application not to launch because the user hasn't gone out of their way to give it Gatekeeper permissions.
Also make sure you've done a cost/benefit analysis on Apple somehow not spotting the Gatekeeper prompt when testing your application and somehow not spotting it later.

How to auto-update apps managed by MDM?

I'm building an in-house app that is distributed via the AirWatch app catalog. The app always runs with Guided Access enabled and all devices running it are managed by AirWatch. My questions are regarding auto-update:
Is there a way that AirWatch can force the update immediately or as soon as the device comes back online, without asking for the user's input? If so, how does the app being open affect this behavior? How does guided access being enabled affect this behavior?
Is there a link from AirWatch, perhaps an itms-services:// link, that the app can call to install the new version if a web service had indicated that it's no longer the latest version? If so, how does Guided Access being enabled affect this behavior?
Is there any other good model for remotely updating the app that will spread the update as quickly as possible and under the above conditions? The solution can be using MDM or a custom web service or both combined.
Thanks a lot for your help!!
If your devices are running iOS7 and you have your app Deployment settings set to "Auto" (as opposed to "On-Demand") the device will automatically take the update once it processes the APNs notification to do so. If the device is locked/offline it will typically check for outstanding APNs messages within a minute or so of being unlocked or coming back online.
What I don't know is since your app is in guided access mode if you're receiving a pop-up to install the new version. I've seen previously where if the app that requires an update is open iOS will prompt. What we have done to battle this is embed a check in the app that phones home to see if the app is current. If the app is NOT current the user can't do anything until they update their app.
Regarding a direct-link to the App Catalog to update the app that might get tricky with guided access enabled. Before you even try to tackle that issue understand that the app catalog webclip URL contains the UDID of the device as of AW7.1 (I think). Since the UDID is no longer programmatically accessible code-side AirWatch allows you to push the UDID upon app installation in the Deployment/Application Configuration section. You can embed {DeviceUid} into the key share on the device which will make it accessible for that applciation, hence allowing you to create the appropriate App Store URL within your app.
Good luck
honestly I didn't work with AirWatch. But I don't think that Apple provides a way for automatic update of ad-hoc or enterprise apps.
Well, I can describe a solution for an enterprise app I developed last year. Hope it will help you somehow.
First of all, I made it as a part of our secure website. (a little test flight)
Here's how app update works
When the app launches it sends special request to a server asking if
it is outdated and a new app version is available. (+ servers sends
url for new version installation (with itms-services://))
Then
if update is required, app fires alert with description of new
version, if user taps update, the app opens Safari where the user
is able to install a new version.
We made to different kinds of alert, optional (minor version change) and compulsory(major version change). With later variant user is unable to get rid of alert view, so he has to update the app.
You can update your internal app through the AirWatch Console and applications versioning.
I never used it but I imagine that at the end of the new version process, there is a way to push the updated app to the related devices. If the Push Mode is set to Auto, the user won't have to do anything and the app should be updated. If it is On Demand, the use will have to initiate the process from the App Catalog. From for the latest option, you have the solution to send a notification to the user.
It is also possible to retire or inactivate older versions to only keep the newest one.
If you have access to AirWatch Online Documentation, I recommend you the page Using Add Version for Applications. If you don't, contact your administrator and ask for all the pages located in Mobile Application Management -> Internal Applications and the page Using Add Version for Applications.
You should try it with a single device though ;)

Resources