Without publishing the app on appstore, how to push updates for my iOS application? - ios

After publishing the app on appstore, is there a way to push the changes in the view/layout, also the underlying functionality of the settings screen(or any other screen) without having user to update the app from app store.

No , there is no way to accomplish this you have to create and upload a new build for every view/layout update , your issue is possible if you previously embed that logic inside the uploaded version and dynamically do this according to server responses which is not a recommended way

Think of it this way: There are many, many apps that download changing data and display it in a tableview or collection view. Different text, images, etc. That is, in effect, changing the app without submitting an update.
Depending on what exactly you want to do, it may be fairly straight-forward or it may be complex.
For example, you may have a section of code that lays out an "options" screen, and you decide to add a new option. Your app could connect to a server, download a "configuration" file, and then have your code re-layout the screen as needed.
So, sure, it's possible - you just need to plan ahead and code your app for that flexibility.
One note, however: if you're thinking of significant changes to your app's design and/or functionality, you may run into issues with Apple's guidelines. For example, don't use that idea to try and "get around" having your app rejected for inappropriate content (such as having a "hidden" gambling section that would only be revealed after the app has been published).

Related

Will my app update automatically or will user need to update the app when the code is updated?

I am creating a weather app and want to give local warnings to people through an app. I want to be able to give up to date warnings, but I am wondering: does updating information in Xcode get automatically pushed to the devices or will it need an update every time I put new information in?
If I understand your question correctly - you have an app, which warns people about some unexpected weather conditions?
You basically have two options:
Do a code push to your app every time you do a change. This is not supported by default in Swift and Xcode, and can only be done via some third-party integration or framework (e.g. React Native), and is generally a hard thing to implement.
Setup a back-end server and link it with your app, so the new information is downloaded from this back-end server dynamically.
The only suitable and easy thing to do for your use case seems to be option 2.

iOS Application update that only contains splash screen

I want to update an iOS application, so it only contains a splash screen that says: we are working on updating the app as soon as possible, stay tuned for the next version.
I don't want to remove it from sale, and i also don't want new users to interact with the application, i just want to show them a page with a message.
Is this against apple rules? will they accept my update?
Too simple applications usually don't pass through the Appstore validation.
Have a look a the official documentation : App Store Review Guidelines.
2.12 Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may
be rejected
It's likely it'll be blocked for 2.1 (App Completeness), or 4.2 (Minimum Functionality), but can't be answered conclusively without trying it.
for situations like these you should implement some kind of functionality in your app that lets you control those "maintenance periods" without updating the app. for example some kind of API that returns a special http status code when the app should not be usable for a specific time. then you can react on that status code and show the user some kind of "maintenance message". as soon as you're done you can easily reenable functionality.
This almost certainly won't make it past review. The only way you could do this (and I wouldn't advise it) is to add a splash screen behind a feature flag that you activate remotely after review.

How to work with Firebase App Indexing for IOS Apps

i am in the process of making my app with firebase i am pretty much done with that except Firebase App Indexing. I am very exited with this feature because it could help me to increase my app get more traffic from the web but the problem is i really can't able to see how to implement this. According to Firebase Docs i just need to register my app with this pice of code
[[FIRAppIndexing sharedInstance] registerApp:your Apple ID from iTunes Connect];
I have done that but what should i do after that?
1.My app is firebase app that means i don't have any website to host my content except firebase realtime database. Does my content is available for crawlers? if not how can i make available to them?
2.If i can able to show my content in the google search results i don't wanna show all the content and i wanna show just some of my content for example i have a social app for sharing General Knowledge questions, i wanna show just the question like "What is the highest mountain" in the search results and if the user want to see the answer it should take them to my app how can i do that?
3.As per docs i came to know that i need to create univiersal links for my app content to direct users from google search but how shold i do that ? Lets say should i crate universal links when the user create question?? if so how can i do that ??
Thank you very much for the help.
This is not currently possible on iOS using Firebase App Indexing. The situation is slightly different on Android, but that is not applicable to your question.
On iOS, Firebase App Indexing is simply highlighting pages on your website in Google search results that have corresponding content inside your app. This is achieved by piggybacking on Apple's Universal Links standard, and there is no proactive 'crawling' going on inside your app. This means unless you have a corresponding web page for your app with 1:1 content parity, you can't really benefit from Firebase App Indexing on iOS as it comes out-of-the-box.
The best workaround is to generate little 'placeholder pages' for every piece of content in your app, which the sole purpose of opening your app (if it is installed) or redirecting to the App Store (if it is not installed). Ideally you'll need some sort of deferred deep linking system so that users still see the correct content after downloading. Fun fact: this is essentially how HotelTonight operates their entire business model. Unfortunately Firebase's implementation is not mature enough to support this full flow, and Google hasn't quite figured out how to rank app-only content properly yet in search results so you will probably need to pro-actively submit your placeholder pages to them.
Shameless plug: at Branch, we provide all of the above as a free service. You can read more about it here and take a look at the set up docs here.

Make changes to app w/o update

I was wondering how it works to make changes to an app without re-uploading the binary and go through the whole process again. I have got an example for it:
The developer of Whatsapp made changes to his app twice already, just today for the second time. This "update" included the blue indicators which show wether the chat-partner read your message or not. The 1st time I noticed changes to the app without an update was when he introduced voice messages.
Does anyone have an idea how this works?
You can use Google Tag Manager to make simple tweaks to your app without having to update the entire app. Here is an overview of how it can work (I've used this on Android apps)
Suppose your app's interface is supplied in whole or in part from a server - i.e., it's really a web view showing HTML that you are serving. Then you can just change the code on the server.

Can I find out the location of an app's icon on the home screen?

Is is possible to dynamically figure out the position of an app's icon on the home screen of an iphone/ipad?
Sorry I don't have enough credit to comment yet so I'm posting here.
To my knowledge no you cannot natively or easily do this. I know of no open source or other libraries. The reason being that your app exists in its own world, it is not in touch per say with the rest of the device. It can get permissions to read and write data but it doesn't know of itself.
Does that make sense?
When you open a website it cannot know which tab it is in the browser. Instead it knows how it was accessed and what device (physically) is using it. It knows the user-agent, the time, the browser, etc because that is information sent to it in the request. In turn the phone on launch gives data to the app in how to handle it but not for example how many other apps are running, or where it is on the screen. It's not normally considered relevant to run time. In addition it's a security feature in preventing an app from deleting or altering other apps, as well as itself. If you have an iPhone you will notice that SIRI cannot turn off google maps navigation or any other non-apple specific app. Only apps natively comparable and private party ones (ex apples) are accessible because Apple did that intentionally. They all know of their own existence and each others. However non-native in the sense of apps that do not come preinstalled and manufactured by the company creating the device are less trustworthy, in addition there are no guarantees about how they will be run by the device, where they will be, or what other apps will be there.
It is true that an app can request for another app it may be comparable with but it is up the user to handle that information.
May I ask for curiosities sake why you are trying to do this? Are there any other workarounds?
However in terms of it being physically possible, yes. I doubt that apple allows independent developers to do this however. But an example of this occurring may be gridlock where a user can move their apps around differently on the screen. The app in this case has the ability to access app position. But I believe in this case app position is about the UI and not about nested files. apps cannot to my knowledge modify information outside of their own file. Imagine if you had an app that could edit other games scores.
It is not possible to dynamically find out the position of an app's icon on the Home Screen (even for jailbreak apps). Apple wants you to respect the user's privacy settings.
Extra Info - There is popular JavaScript library that adds a promo bubble to the bottom of your mobile web application, inviting users to bookmark the app to their device's home screen.

Resources