How To Deploy Multiple Different Mobile Apps Inside One Mobile App? - ios

I would like to have multiple different iOS mobile apps inside one master iOS Mobile App.
Once the user login to the master app, they will have a list of the mobile apps, and each individual mobile app will be independently developed by different team and updated/deployed individually. There is only on master app that user will ever need to download to their device.
I know lot of big gaming companies are doing it, just not sure how they did it.

The apps you're talking about(like Roblox) doesn't have any real subapps. It only looks like this, but technically all those apps are just the app screens.
You can split your app code into modules, each representing an "app", and each team will only have access and work on it's own.
If you app will have a lot of resources, you can use On-Demand Resources. So it'll look like you're downloading an app. But you can only use this feature for things like images, videos, textures, but not the code itself - that's the main reason why you won't be able to deploy subapps separately. You'll have to deploy the master app when any of the apps is updated.

If all the sub apps were under 10MB you could use appClips to do this.
The "master" app can host a list of universal links to registered appClips.
This would then download each app as the user interacts with them in the master app.
The apple device will unload unused appClips over time, but with the master app won't be in danger of this as it would be a full App.
Users could then either open them from the master app permanently or open them through the App Library

Related

Can you set up iOS Universal Links without a separate website?

Is it possible to set up iOS universal links without having a separate website?
For example, if you want a universal link that 1) opens your iOS app if the user has it installed on their device and 2) opens up the App store listing on any device without the app installed.
It seems that having a separate domain you control is the standard way to do it. The Apple documentation (here), and other guides like here and here, seem to make it pretty clear that you need to add the JSON code in the Apple App Site Association file to a separate website that you control.
But is it possible to set up universal links without that website?
Detail:
For an iOS mobile app developer, setting up a separate website, dealing with website hosting, etc. is distinct from building an iOS app, and an involved additional task to go through just for universal links. Many developers might have a site already or have experience building websites in addition to mobile apps, but it's still a different thing than building mobile apps.
So I'm surprised if Apple assumes app developers have a website ready to go for the purpose. I note there are non-Apple alternatives that do similar things that clearly don't require a website.
Edit: I am familiar with alternative linking systems, such as Firebase and Branch. I want to see how you can do it with Apple Universal Links.
So let's say you want to stick with Apple universal links. Is there a way to do it without setting up a website, dealing with hosts (and potential costs for that), etc?
If it is necessary, what would be the cheapest and easiest way to set up the bare minimum site for a mobile developer that would work for universal links?

Are Google Play and Apple Store allows InAppBrowser of ionic to view a website only?

Before create a new account for iOS, android to upload web app to Google play and apple store, I want to ask:
Are they allows developer to upload an application that use InAppBrowser of Ionic to view website through that uploaded app ?
We need this to keep our work up to the latest date of updates for all users without need so many versions for both iOS and android.
So, are there any positive, negative or past experiences related to this topic ?
If you take a look at the review guidelines from Apple, https://developer.apple.com/app-store/review/guidelines/ it states that
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.
I would make the case to package your app as an Ionic app, and use either Ionic Deploy, or Code Push to update the content of your app on the fly. Note: This type of deployment cannot update Cordova dependencies, but it does let you keep your html, css and js files up to date.
In general yes, they allow this, but they might get confused (specially Apple) and ask you to be careful about the links that you open inside your app.
For example, Apple has certain guidelines about apps that buy/sell cryptocurrency. If you put a link to a buy/sell cryptocurrency website and open it inside the inAppBrowser, the app reviewer might "think" your app is for buying/selling cryptocurrencty and you might get rejected as a result.
However, if you put links to normal website, for example CNN, they should be ok with it, as there are many apps that already do this.

Auto update iPad app without app store

I have an iPad app and I don't want to publish on app store.
I want to reconfigure the app from server i.e. if the flow of the app was:
Page 1 -> Page 2 -> Page 3
And I change data in the database to:
Page 1 -> Page 3 -> Page 2
My app should be reconfigured. I would also like new pages to be added in my app.
How to download the Swift files in user's app, compile it on the fly and update the app without user's intervention or through app store?
This is a private app and won't be published on app store.
How to download the Swift files in user's app, compile it on the fly and update the app without user's intervention or through app store?
You can't.
You can, however, design your app to have UI not hardcoded in the app, but defined in some configuration file (i.e. in JSON format) which you would download at app launch. You would need to implement functions to create UI elements from their JSON definitions, etc.
No, This is not how it works on iOS. You can't achieve this requirement through Native iOS development. You have to create a web app. You can build the app using React-Native or PhoneGap cross platform environments. Again there, without publishing app store you can't share iOS .ipa file like the .apk file in android. In that case, you have to buy Enterprise developer account and share.
Another option like building a UI using JSON is very tricky and takes lots of efforts. In case if you really want to do like this go for it.

How to maintain one custom B2B iOS app for multiple clients

My company is building one custom B2B app which is quite similar for all clients.
The difference between the apps will be the app's name & icon and perhaps color schema.
Just to be clear - the data in the apps would be different but the layout is identical. e.g. I'd have the same button in all of the apps, but its color maybe be blue in one app and yellow in another.
I was wondering regarding how to maintain this kind of app.
The apps would be either distributed to app store or to clients' MDMs.
Considering the fact I'm going to have hundreds of apps like this - it's not possible to build & submit each of them for every bug fix I do in the app..
Any solutions out there?
If app name and icon has to be different, there is not much you can do - you need a separate binary for each client.
However there is a lot you can do in terms of automating the process, since it looks like most of the codebase is shared between apps. Just to give you an idea - you could have a script which takes some configuration (JSON, XML, etc), Xcode project and then builds and signs apps for each client with correct icon, branding, app name etc.
Essentially you maintain single code base, build tools to provision and distribute the apps and move branding and customisation to a configuration layer.

Get version number of other ios application

Is there any way to check version number of other application which is installed from appstore ?
Note:
1. Not in jail broken devices
2. With out using third party library.
Not Possible. your control is upto the level of your App Sandbox.
What is Sandbox?
For security reasons, iOS places each app (including its preferences and data) in a sandbox at install time. A sandbox is a set of fine-grained controls that limit the app’s access to files, preferences, network resources, hardware, and so on. As part of the sandboxing process, the system installs each app in its own sandbox directory, which acts as the home for the app and its data.
It is not possible to check version of another application as in IOS, Applications work in SandBox environment which doesn't allow the application to access other application.
Two applications can communicate with the help of URL schemes,following is the link for URL Schemes of few Applications:
http://wiki.akosma.com/IPhone_URL_Schemes
http://handleopenurl.com/
using URL schemes we can access limited information(Exposed by the Developers of that application)
Although , there are few options,
1)If two application are using same/common web-services ,then this information can be shared
2)using ICloud this can be achieved If two application are using common/public space.

Resources