Manage Databases without CloudKit Dashboard? - ios

I would like use CloudKit without CloudKit Dashboard.
Could I have diffulculties or other during my development?
Regards

There are a couple of things that you can only do from the dashboard. You can use your app to create recordTypes with fields, but if you want to index fields and make them queryable, then you need to do that from the dashboard. You also need the dashboard to migrate your data structure to production.

What are you trying to do? This is like asking if you can develop an app with Xcode, but not use the debugger. It's possible, but why would you want to avoid a tool that helps make your job easier?
CloudKit was designed so that you could start writing code and using the database right away without needing to configure anything in the dashboard. However, at some point you're going to need to move to production or tweak the schema in your container and you're going to need the dashboard for that.

Related

Is there any way to migrate data from CloudKit?

I'd like to build a simple iOS only app that's going to be social. I don't yet have a way to monetize this app, so I'd like to keep this project as cheap as possible. Since it's iOS only, I figured I would use CloudKit because of its very generous free tier. However, if I ever decided to make this a cross platform app, would I be able to migrate my user data somewhere else?
I think you can use CloudKit with Android because of the CloudKit JS implementation. The real problem is, that I think that also the android user needs an iCloud Account do something with that.
So maybe the better way is to use google firebase.
https://firebase.google.com
As of December 2019, there is no simple way to migrate data from CloudKit. The data stored in each user's private data base is not accessible by the developer.
There is always the option to do this inside of the app for each individual user. If the data is not too large and complicated it should be easily done.
But make sure to inform the user and give them a choice to move or don't move the data. Let both services run for some time parallel before removing the cloudkit option for old users completely. Obviously moving data using the app can cause certain issues if the move doesn't go as planned.

create relationship in parse dashboard

does anyone know if it is possible to create relationships in the dashboard of parse?
I'm running the bitnami parse api 1.0.18 through aws ec2 and can't see anyway of doing it and the documentations only says you can do it through code. i want to have these set up in the background as the user won't write to them, probably just download some data and images.
i could just go and create a whole heap of tables with unique identifiers but this seems a bit of a dumb work around.
I strongly suggest you look into Cloud code. This is one of the reason why cloud code works so well! Simple to setup and little bit of javascript you'll be on your way.
http://parseplatform.github.io/docs/cloudcode/guide/
If its something that needs to happen before the insert, look at the beforeSave method.

Need advice on syncing data between iOS devices in one app

I built an in-house app for selling tickets and checking-in students to our High School dances. At the moment the app can scan a QR code with the student's information and add their name to either a "Sales" list or "Check In" list. Then the app can export these lists to a CSV file and we compile all the data.
App works perfectly as expected. NOW I want to be able to sync data between multiple devices so that every device will see an up to date Sales and Check in list. The check in list is most important because then our faculty chaperones can all see who has arrived to the dance in real time. I figured I would need to build a server to hold all the data as opposed to on the individual devices like I am doing now (CoreData). Can anyone please give me guidance or advice as to where to go from here? I am using Swift and developing for iOS 10.
I would just answer the general approach to tackle this problem since the implementations would largely be depending on many factors (what database technology is available, the platform of the server, etc.)
You are absolutely right, you need a server to hold the data. Technically speaking, it is a database that holding the data. Thus, you need a database running on your server (there are tons of selections here: Maria DB, SQL Server, Mongo DB, etc.).
Next, you need to build a web service on top of the database so that the iOS app can interact with the database (add/delete/update/read rows). Web service is a very common layer in full-stack application since you normally don't access the database directly.
Finally, you need to guard your web service with some sort of authentication. I.e. you don't want any random person out there to be able to access your web service without permission. There are many implementations out there to secure your web service and you should be able to google that easily.
Firebase might be the easiest solution. Its pretty simple to setup, and its pretty simple to set up data persistence when you go off line. I'm big on trying to stick with the built in Apple services, but Firebase is hard to beat for simple apps.
Take a look at CloudKit, or perhaps Firebase or Azure, as services that will provide a back end server for you, and give you a tested SDK to build against.

link 2 iPhones for a single iOS app database

I'm developing an app for my summer iPhone class that is designed for couples, and am not sure the best way to have two different users phones reading and writing to the same database for a single account. The two users create and grant points to each other for "rewards", "penalties" and "prizes". I'm attempting to put the local databases into CoreData and then push it into iCloud. However, I'm only finding ways that that works for a single persons app. This is a two player game that needs to update a shared database. I would greatly appreciate if you would have any suggestions on ways to either send notifications directly to each and maintain congruent separate local databases, or to have a single back end database for two users in a single account that both users' phone can push and pull from to read and write. I'm having trouble finding the right path to pursue for this.
Thanks.
You can easily save Database on server side with the help of many mechanism like PHP Script is the best example for this.
link - Advices on server implementation for server/client structure iOS App development?
There is a third-party framework for iOS called Parse. It's a terrific backend service that adds a cloud database. You can create objects and store it in the cloud and access it anytime, and it comes with push notifications and analytics functionality. It's tuned for many platforms, including iOS and it's straightforward to access all of its functionalities.
The site is here: https://parse.com
Whenever you try to use one database for multiple device, you need to create / save database in server side or you can try Parse. because local database is always used for device specific.

Parse Users make and join groups in app

I have an app that uses Parse.com as the backend. I have the login successfully working. But now I want users to be able to create and join groups within the app. Then I also want them to be able to chat with the group but my main concern is just having them be able to create and join. What is the best way to go about this? Is there a tutorial for it I could go off of?
Don't. Parse is a horrible platform to build off, as you may know Apple just released CloudKit at WWDC. Use this. I was going to initially use Parse and it was hard to get anything done, and it took me a few weeks to get one of my tasks done. At WWDC my team and I got almost the entire app done in one day with CloudKit

Resources