Local storage and sync in iOS 10 - ios

I want to create an iOS 10+ Swift app. Some of the features include persistent local data storage on the device, backup of user's data (text and images) as well as data sync between user's devices.
I'm currently thinking about CloudKit + Core Data combination, but I don't think it is the easiest option and I can't find any up-to-date tutorials on this techs working together. Can someone suggest better options?

Realm is a very good option I use it myself and its very easy and very quick! Also they update their code very offen and they have their own documentation.
It can also be used by other programming languages such android so if you will develop an android version of yours you will follow the same path.
Here is the documantation
You can install it manually or via pods
If you're going to do it manually follow the instructions on this video
And check the next ones for a quick start of how you use this.
Hope it helps.
Happy new year.
Don't forget to accept the answer if you been helped.
EDIT
Check here for icloud and whatever question you have you can ask here or open an issue on github so they can helped you.

Related

What is the best way to store data for iOS app that allows easy data administration

I wonder, what is the best way to store data for an iOS app that allows easy data administration. I mean, manage the data displayed by the iOS app (mainly "fill" it with initial built-in data, namely images and corresponding descriptions) from another utility app, but running on OSX)
Is it good idea to use Sqlite? Thanks very much
You can use Firebase which is an online database owned by Google is very easy to integrate your app
Go here for Firebase
Firebase also has loads of documentation for swift and objective c on how to install and use.
Hope I helped, Toby.

Synchronise Realm data between devices

I have been searching around the internet, but without finding a solution.
Is it possible to synchronise the realm data between more devices? Lets take an example, if the user use the application on both iPhone and iPad.
How can i make the data synchronise? I have been looking into CloudKit, but it doesn't seems like it works together with Realm (Correct me if i'm wrong).
Any suggestions? I want the data to be synchronised, and i want a backup of the data - So the user can delete the app, and still get the data down.
Realm now offers two-way synchronization using their own Realm Object Server, as part of the Realm Mobile Platform: https://realm.io/products/realm-mobile-platform/
EDIT: The Realm Mobile Platform is available (in beta as I edit my answer) so this kind of sync is possible. My previous answer was in an older context, with this technology unavailable.
Previous answer: It's not possible. The binary format for the Realm database on the device is not synced on any service like iCloud or Google Drive efficiently.
The long answer can be found in my previous answer here.
So, I think the best way for doing so is through an API.
Another alternative -> You can try this swift framework to sync Realm database with CloudKit ice cream
I think the Document folder is synchronise through iCloud

Basics of simple text data collection iOS apps. Where is the data stored?

I'm trying to inch my way towards building a data collection app for a specific application. Eventually I want to have drop-down and manual text entries, building a dataset that I can export as a CSV and manipulate further in Excel.
I've used some apps like Fulcrum, but eventually I'd like to add some more functionality to the app. Basically I'm trying to figure out how these apps are storing the entered data, then pushing it to a server when internet access is available. What are some general options that I should explore to do this magic?
Thank you!
You can store data with Core Data, you can use the native API's and methods or external libraries which will make a lot easier all the work, such as Magical Record and more.
If you want native I recommend you AppCoda tutorials, you need to do a lot of research to start with core data.
And also you can use an external library to store this info into a server or in the cloud.
I've heard Parse is great.
Hope it helps.

Can SymmetricDS be used for iOS

SymmetricDS has an android sqlite implementation that is awesome.
I was wondering if i could do the same with iOS .
I couldn't find anything on their website or on google (basic search spent around an hour).
Also, I was hoping someone could tell me if i could synch the iOS sqlite from a remote instance of SymmetricDS and, as to whether this is a good idea.
Not yet. SymmetricDS uses Java, which iOS does not support.
However, if you look at this slide deck from April 2013, it says "iOS (Coming Soon)":
https://www.percona.com/live/mysql-conference-2013/sites/default/files/slides/JumpMind%20SymmetricDS%20Percona%20Live.pdf
Ios feature has been assigned on their roadmap:
http://www.symmetricds.org/issues/roadmap_page.php
As of some time well after this question was asked, they did provide an embedded C solution.
See the docs here
A minimal implementation of the SymmetricDS client is written in C, which includes a shared library named "libsymclient" and a command line executable named "sym" for synchronizing a database. It currently only supports the SQLite database.
As SymmetricDS is released under GPL you would need a commercial license.

Shared data format between iOS and Mac OS

This is mainly a question about architecture and I do apologize if it's inappropriate for SO. I'm building a Mac OS application that is meant for creating content and the iOS application is meant for consuming the content. I am unsure about what data format to use and if I need to convert it to binary format. I know I can use iTunes to share files but I am wondering if anyone has done anything similar?
You can use whatever format you want: iTunes simply copies files and directories. Core Data is available on both iOS and Mac OS, as is SQLite.
I would create a document based application using CoreData. This way you get a lot of features for free (file saving/loading, undo, etc). A bit of a steep learning curve if you are coming from iOS, but it's worth it. Right now this template is only on the Mac, but if you are a registered developer, you can go look up a feature that they are adding in the fall that will help you. (I don't want the NDA police on SO complaining).

Resources