5

While watching WWDC 2015 CloudKit JS, I realized that an android device user might need an iCloud to request data from the CloudKit DB since an apple user needs the iCloud account to be turned on. Is my assumption correct? There is no way to have my app cross platform?

Eric Aya
  • 69,473
  • 35
  • 181
  • 253
shle2821
  • 1,856
  • 1
  • 19
  • 26

2 Answers2

6

There is nothing stopping you from using CloudKit on Android. In fact, the sample code at https://cdn.apple-cloudkit.com/cloudkit-catalog/ clearly states that CloudKit JS is supported on embedded web views, including Chrome (on Android).

If you application needs authentication, CloudKit requires an Apple ID. If the user does not already have an Apple ID, the sign-in flow allows the user to sign up for an Apple ID account right there.

Another requirement for CloudKit is that you must have an application (iOS or OS X) published in the App Store with equivalent functionality to what you are providing through the web (be it an embedded web view or not).

BlueCloud
  • 93
  • 6
  • Yes. I wanted to see if there was a way to allow cloudkit for android users without then having to have logged on to cloudkit. – shle2821 Apr 14 '16 at 07:52
4

For reading public data there is no need to have an iCloud account. But if you need to write something then an account is needed.

I haven't tested yet if the login system work from an android device, but from a web browser it works.

Nicolas Rosa
  • 121
  • 2
  • Thank you. This answers my question. Its just too bad apple would implement such measures... – shle2821 Mar 22 '16 at 10:31
  • 3
    Yes, but they are making an effort to open it outside Apple ecosystem. It is now possible to use CloudKit on a website. Let's wait a bit to see if they will propose an sdk for Android – Nicolas Rosa Mar 22 '16 at 10:52
  • do you think there is a way to allow android users to insert into CloudKit DB by giving them my iCloud developer token? It is going thru the web anyway. Or is that too much of a hack? – shle2821 Mar 22 '16 at 13:08
  • 1
    there is a way to do a server to server connection via token, but it's limited to one host per token, so not useable for an android app. The other way is to use a kind of web view on android, and use the system in place by apple to authenticate on icloud via web. But as I said I have not tested it. – Nicolas Rosa Mar 23 '16 at 08:09