updating content on iOS app without creating new version - ios

How do I update the content of an iOS app without having to create a new version each time? Does the newest version of swift/xcode have a way of doing that?

their are many ways you can do it first just put content on your server and fetch it according to your requiremnet also if needed you can store data on user disk (any type of data Videos sounds picture etc).
secondly you can use On-Demand Resources check out the guide below https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/

Related

Convert UINavigationController-based app to UIDocumentBrowser-based app

I've been working on a UINavigationController-based Swift iOS app for the past few months, but I'd like to switch to a UIDocumentBrowserViewController-based app (or at least be able to implement it in my existing app). Is there a way to do this without creating a whole new project/target?
Is there a way to do this without creating a whole new project/target?
Yes. Make a new document browser based app so you can see how the project is configured, and copy its special features carefully into your existing project.
Have you tried to use UIDocumentPickerViewController? If you implement this class in the section of your existing App then it should work.

iOS app updating process

Apologies if this has been asked before but I couldn't find anything specific to my situation..
I've been tasked with creating a new version of an app already on the market place.
Unfortunately, the client only has access to the binary and not the source code as the previous development team didn't provide this information.
The client has been unable to get in touch with the previous development team so I can assume getting a hold of the original source code is off the table.
I was wondering, in a case like this, how does the iOS upgrade procedure work?
As an additional question, is it possible for the new app to access the data stored by the old app and if so, can anyone point me in the right direction on how to go about doing this please?
Thank you!
To make the update you must have the same bundleIdentifier as the current version. This will be displayed in iTunes Connect.
To get the stored data, you should use a tool called iFunBox.
Here's a little tutorial on how you can do it:
Steps for using iFunBox
Download the current version of the app
You should also use the apps functions, so the app saves the data you wish to extract.
Connect your iDevice to your Mac/PC
Download and install iFunBox (link here: http://www.i-funbox.com)
Launch the program and navigate to your device
Press "User Applications", then your application
Find the data the app stores
The NSUserDefaults plist-file is located in "Library" -> "Preferences" and is called com.yourCompany.appName.plist
A lot of apps also stores files in yourApp/Documents/
You can also explore the apps folder and look for the data you need. Hope this helps :)
If you have access to the iTunes Connect account, with which this app was published the problem is not too large: you can update app with any binary that have the same application id (bundle identifier) and larger version number.
You definitely can have access to the data of previous version - either it's stored in NSUserDefaults or app Documents folder etc., but you should have a clue of its format (e.g. keys of NSUserDefaults) - some reverse engineering of binaries can help.
You must know the bundleIdentifier and use the same otherwise the apps wont update.
The version number must also be higher than the current one
Also the data saved in the old app can be read but you need to know in which format it is.

Publish update-only distribution to Apple App Store

If I have an app that preloads a database when it first launches, is there a way to then in future publish an update only version for the app?
(IE excluding the preloaded db file so the update isn't bigger than necessary as an existing user wont ever overwrite their preloaded db - but at the same time being able to publish one WITH the preloaded db so that new downloaders will get a newer version of the db)
If there's an alternative way to approach it please let me know. Just to clarify, the app automatically updates the db with data when used - that's why I have no need to include the preload for every app distribution for users who have already downloaded.
I've looked on Google and can't find an answer - but maybe I'm just not using the right terms!
When you create an update to your application, your app will need to check if the user already have a database in the Document folder. If one doesn't exists, your updated app will copy the default database from the Application Bundle.
Also, if you add features to the app, new table or columns to your existing database schema it would be nice to use Core Data Model Versioning and Data Migration.
Excerpt from Apple Docs - Reducing Download Size for iOS App Updates:
Starting with iOS 6, the app store will automatically produce an update package for all new versions of apps submitted to the store.

Is text file or sqlite data manageable when submitted to the AppStore?

I have an iPhone app that loads data from 100 different text files. I would like to know if I am able to update and manage those text files when they are in the AppStore. Something like that I have a user named John, but I want to change his name. Can I do this when the app is in the AppStore?
Also, is data in sqlite databases manageable when submitted ?
That depends on where the files are being loaded from. If they're resources built into the app, then no, you can't change anything without resubmitting the app. But you can, of course, change files that your app loads from a server.
A common way to deal with this kind of situation is to include the most up-to-date files you have in your app, but build in the ability to retrieve newer versions from your server. Then, as you make changes and post them on your server, your app will update itself.
Well, that depends. You cannot change any part of the app bundle when it is on the App Store without resubmitting a new version and having it go through the review process. You can however have your app download files from a server and use those in your app. Then just update the files on your server to be whatever you like.

Save Data on iOS app. Using Marmalade 5.2

I'm going to need to update my iPhone app on the app store at some point.
I’m using secure storage functions (s3eSecureStoragePut) for save data that creates an appdata.i3d file.
When I update the app I want to preserve the players save data, how can I ensure this done?
s3eSecureStorage is a bit misleading, it is not secure and this is a historical name related to the Brew and Symbian platforms. Essentially all this is doing is writing to a file so it will be preserved on app updates assuming you don't write over it.

Resources