NSFileProtectionComplete and Core Data security in Xamarin - ios

There's a lot information and examples how to encrypt or protect files using CoreData and Keychain in iOS applications. But I have trouble to achieve this using .NET and Xamarin. There is way how to use Keychain to store small amount of data. But what about encryption and data/files protection? What I have is app which downloads huge amount of data from webservice and make local cache using sqlite. Now I want to keep the sql file protected AND data in it encrypted. I want it using Xamarin and SQLCipher is not an option.
I'd appreciate your tips and guidances in which direction I should research/think about it.

Related

SDK to Encrypt Core Data

I am working on encrypting the core data files in my app. I found solutions like SQLCipher and encrypted-core-data sdks in git hub as best and most used sdks to secure the data that are open source. But I have seen articles that show case these sdks consuming significantly more cpu.
I went through the Data Protection capability provided by Apple as well, but in my case I can't use it because I need my app to access the core data even when the device is locked.
I know that encrypting and decrypting the data does come with performance problems, but I would like to know if there are any commercial paid sdks that do the encryption with least burden on cpu.
But I have seen articles that show case these sdks consuming more cpu.
Of course. If you encrypt your data, you're doing more work. In addition to whatever your app normally does with its data, you add the work of encrypting and decrypting that data. More work will require more CPU time.

Developing Quiz App - Data Storage iOS

I am planning to develop a quiz app in iOS and doing it offline. I need to store 100s of questions and options in that app. How to store? How does core data comes in handy here? Is there any other good methods for this problem?
The app is meant to be offline.
You can also use SQLite database for saving Questions and Answers offline for your Quiz app. You can create tables in SQLite and save and fetch data from that using SQLite queries.
I would recommend you to use realm.io. It measures better than core data, its fast and simple to use. On https://realm.io there is lots of documentation.
I find realm much easier to set up and in generally to comprehend. It works nicely with SwiftJSON and hence in my view much easier to connect to backend.
Preloading core data can be quite cumbersome and to me it seems that core data still relies heavily on objective c.
On the other Core Data is made by Apple so it could be more stable solution on longer run (parse.com)

Core data, iCloud, and Cloudkit

I am in the planning stage of a new project that will require to use Core Data. It has these requirements: 1. Be able to access same data across multiple devices. 2. Be able to access same data in offline or online 3. Guarantee data will not be lost.
Couple years ago, I embarked on similar project. But I had to abandon these features.
Does Core Data with iCloud syncing work well enough for current iOS 7 and 8 to warrant another attempt?
If not, I am thinking about using CloudKit and local Core Data storage. But then I will have to write extra code to update both.
Any suggestions?
You could use https://github.com/evermeer/EVCloudKitDao It's a CloudKit library with support for local caching (not Core Data, but files using NSCoding)

Alternatives to iCloud + Core Data to sync data between iOS and OS X

I'm developing an application for iOS/OS X and i want to sync data between them.
for now I use Core Data for persistent data.
I read that iCloud is not enough mature to use with core data.
Is that true ?
so i try to use the new DropBox sync API(to sync the SQLite file), but there's no support for OS X.
Is Parse SDK a good idea? (it will also allow me to add Android support)
If no, have you other solution?
Thank you.
i read that icloud is not enough mature to use with core data.
is that true ?
Yes, I've worked with it quite a bit but I cannot recommend it at present.
so i try to use the new dropBox sync API(to sync the sqlite file), but there's no support for mac.
is parse sdk a good idea (that will allow me to add android support)?
if no, have you other solution ?
Parse has a good reputation. There's an open source project called FTASync that integrates it with Core Data.
Some other options:
TICoreDataSync, which syncs via Dropbox but lets you use Core Data
WasabiSync, a third-party project that syncs Core Data via their own servers.
Simperium, another one like Wasabi, syncing Core Data via their own servers.
At present I don't have enough experience with any of these to endorse them. They're all designed to sync Core Data outside of iCloud but I can't say which works best.

Is it possible to migrate Data from iPhone to any Desktop SQL Data Base?

I'm developing an app that stores data in the iPhone, but I need to know if it's possible to export the data (as an entities, tables, .txt or xls) to a desktop because I need the data to be readable on my Computer OR do I need to create a web site to do it?
By the way.. I'm still not sure what method is more effective for this kind of app, Core Data or SQLite.
Core Data on the desktop and iOS are identical. You can stand up a SQLite file created on either on the other with no issues. In these situations it is highly recommended (I would say necessary) to use the same data model in both applications.

Resources