Which is the best iCloud approach for my iOS notes app with text, photo, audio & drawing notes. Should I...
up vote
0
down vote
favorite
I am developing an iOS notes app where a user can add image, text, audio and drawing notes. I want to implement iCloud synchronization between multiple devices. Out of the 3 options (key value, document storage, CloudKit) which one should I choose? I would like to implement the sharing of notes (collaboration) among users as well. I am using core data as my DB currently.
ios iphone icloud cloudkit icloud-documents
New contributor
add a comment |
up vote
0
down vote
favorite
I am developing an iOS notes app where a user can add image, text, audio and drawing notes. I want to implement iCloud synchronization between multiple devices. Out of the 3 options (key value, document storage, CloudKit) which one should I choose? I would like to implement the sharing of notes (collaboration) among users as well. I am using core data as my DB currently.
ios iphone icloud cloudkit icloud-documents
New contributor
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am developing an iOS notes app where a user can add image, text, audio and drawing notes. I want to implement iCloud synchronization between multiple devices. Out of the 3 options (key value, document storage, CloudKit) which one should I choose? I would like to implement the sharing of notes (collaboration) among users as well. I am using core data as my DB currently.
ios iphone icloud cloudkit icloud-documents
New contributor
I am developing an iOS notes app where a user can add image, text, audio and drawing notes. I want to implement iCloud synchronization between multiple devices. Out of the 3 options (key value, document storage, CloudKit) which one should I choose? I would like to implement the sharing of notes (collaboration) among users as well. I am using core data as my DB currently.
ios iphone icloud cloudkit icloud-documents
ios iphone icloud cloudkit icloud-documents
New contributor
New contributor
New contributor
asked yesterday
Aditi Gupta
1
1
New contributor
New contributor
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday
add a comment |
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Key-value storage is out of question due do being too limited for your goal, document storage is only recommended when you need to handle and store the document as a whole. Since you are already using CoreData
for local storage, it only makes sense to use regular CloudKit
with it for cloud storage and sharing.
Synchronisation of CoreData
and CloudKit
can be tough. I am personally using a combo of RxCoreData
and RxCloudKit
libraries which provide some relief in synchronisation and some syntax sugar too.
A word in advance about uniqueness constraints: for CoreData
, you define them based on key(s) or hash of all values, for CloudKit
it is only possible (and also required) for the CKRecord
key, to the best of my knowledge. So it is best to take care of it from the very start.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Key-value storage is out of question due do being too limited for your goal, document storage is only recommended when you need to handle and store the document as a whole. Since you are already using CoreData
for local storage, it only makes sense to use regular CloudKit
with it for cloud storage and sharing.
Synchronisation of CoreData
and CloudKit
can be tough. I am personally using a combo of RxCoreData
and RxCloudKit
libraries which provide some relief in synchronisation and some syntax sugar too.
A word in advance about uniqueness constraints: for CoreData
, you define them based on key(s) or hash of all values, for CloudKit
it is only possible (and also required) for the CKRecord
key, to the best of my knowledge. So it is best to take care of it from the very start.
add a comment |
up vote
0
down vote
Key-value storage is out of question due do being too limited for your goal, document storage is only recommended when you need to handle and store the document as a whole. Since you are already using CoreData
for local storage, it only makes sense to use regular CloudKit
with it for cloud storage and sharing.
Synchronisation of CoreData
and CloudKit
can be tough. I am personally using a combo of RxCoreData
and RxCloudKit
libraries which provide some relief in synchronisation and some syntax sugar too.
A word in advance about uniqueness constraints: for CoreData
, you define them based on key(s) or hash of all values, for CloudKit
it is only possible (and also required) for the CKRecord
key, to the best of my knowledge. So it is best to take care of it from the very start.
add a comment |
up vote
0
down vote
up vote
0
down vote
Key-value storage is out of question due do being too limited for your goal, document storage is only recommended when you need to handle and store the document as a whole. Since you are already using CoreData
for local storage, it only makes sense to use regular CloudKit
with it for cloud storage and sharing.
Synchronisation of CoreData
and CloudKit
can be tough. I am personally using a combo of RxCoreData
and RxCloudKit
libraries which provide some relief in synchronisation and some syntax sugar too.
A word in advance about uniqueness constraints: for CoreData
, you define them based on key(s) or hash of all values, for CloudKit
it is only possible (and also required) for the CKRecord
key, to the best of my knowledge. So it is best to take care of it from the very start.
Key-value storage is out of question due do being too limited for your goal, document storage is only recommended when you need to handle and store the document as a whole. Since you are already using CoreData
for local storage, it only makes sense to use regular CloudKit
with it for cloud storage and sharing.
Synchronisation of CoreData
and CloudKit
can be tough. I am personally using a combo of RxCoreData
and RxCloudKit
libraries which provide some relief in synchronisation and some syntax sugar too.
A word in advance about uniqueness constraints: for CoreData
, you define them based on key(s) or hash of all values, for CloudKit
it is only possible (and also required) for the CKRecord
key, to the best of my knowledge. So it is best to take care of it from the very start.
answered yesterday
Maxim Volgin
1,6501119
1,6501119
add a comment |
add a comment |
Aditi Gupta is a new contributor. Be nice, and check out our Code of Conduct.
Aditi Gupta is a new contributor. Be nice, and check out our Code of Conduct.
Aditi Gupta is a new contributor. Be nice, and check out our Code of Conduct.
Aditi Gupta is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53408948%2fwhich-is-the-best-icloud-approach-for-my-ios-notes-app-with-text-photo-audio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What do you mean by document storage? Storing in iCloud Drive?
– LinusGeffarth
yesterday
Apple provides the following iCloud storage APIs - 1) Key value Storage 2) iCloud document storage (mostly for document based apps) 3) CloudKit Storage. See link developer.apple.com/library/archive/documentation/General/… . The link specifies the difference the three options.
– Aditi Gupta
yesterday
I tried out iCloud's key-value storage option. It doesn't suit apps that are looking for instant sync between devices as we cannot manually fetch the data, so I'd not recommend that option. iCloud Drive (document storage visible to the user) might be suitable, if you don't mind that the user has direct access to the files. That can get quite messy, though, with many files. From a UX perspective, I'd not recommend that either. Idk about CloudKit, but it's the only option left. Or: use your own server and database. That's the most flexible option you have, but requires the most effort.
– LinusGeffarth
yesterday
Thank you so much for the response! If I use iCloud Drive (document storage with iCloud), how will things work if the user is offline or logged out of iCloud account?
– Aditi Gupta
yesterday
You're welcome. I'm not sure about that. You'll have to try it yourself or do more research. Sorry.
– LinusGeffarth
yesterday