0
votes

In essence, I'm building a private journaling app for iOS using Swift that will have a social feature. When creating a new entry, the user can choose to share the entry with specified friends from a friends list. The friend will receive a notification of the new entry, and it will be added to their own journal. The friend can later choose to accept or deny addition of the entry from their personal journal after review. Users won't be able to see each other's journals, they will only be able to share(add) entries to their friend's journals.

While I'd prefer to use iCloud, CloudKit won't allow me to share the entry records between users if I store them in a private database, and the information will be too sensitive to plop into the public database. CKRecordZones would be helpful, but they are only available for organizing a private database, so they will do me no good with sharing entries.

Can the privatized entry sharing I want be accomplished through Parse or perhaps another service I'm unaware of? Or will I have to build a custom backend to accomplish this?

Any advice would be greatly appreciated!!!

2

2 Answers

0
votes

I think below links can solve your problem:

iOS 8 data sharing between users

How to share Core Data between multiple users?

ios share data between users

Read all 3 questions and right answers of them.

0
votes

CloudKit would be the easiest when you are ok with limiting it to Apple devices only. If you wan tot make a quick start with that, then try out EVCloudKitDao

Until now the logical choice for this kind of apps was Parse. It's easy to implement and has a lot of features.

Amazon just released a new AWS Mobile Hub that looks very promising. It integrates with all AWS services, is very powerful and now also easy to use.

You could also use Microsoft Azure Mobile Service. It looks like it has similar features as AWS.

Of course there are more less known environments that also might work in your case but I think it would be wiser to stay with one of the above 4 well known choices.

Which of these you should pick is more or less a personal choice. They can all do what you want. If it's the best use for you depends on your use case.