我可以在Android或基于Web的应用程序上使用CloudKit吗?

Zoy*_*oyt 21 android ios cloudkit

我一直在编写应用程序,使用CloudKit会让我的生活变得更轻松.但是,此应用程序需要iOS应用程序旁边的基于Web的应用程序.我想知道是否有任何方法可以将CloudKit与Android或基于Web的应用程序结合使用.

虽然使用Apple提供的API可能无法直接实现这一点,但另一种可能性是将OS X Server用于CloudKit.是否可以/遵守Apple的CloudKit服务条款?

谢谢!

Jul*_*ert 21

是的你可以.Apple提供专为Web服务设计的CloudKit JS.我对Android知之甚少,但我很确定运行JavaScript并不是一个难题.

此外CloudKit Web服务可以为你有意思.

编辑 建议和讨论

给你一个诚实的建议:更好地使用"拥有"的东西.我目前在AWS EC2实例上使用自定义服务器,我真的很开心.

例如,您可以使用Node.js并连接Mongo DBNoSQL数据库编写一个非常简单的服务器.CloudKit实际上并不比这更多.

这真是一项简单的任务.我以前做过这个并且有一些JavaScript经验和几天节点练习它绝对可行; 你会很快写出非常好的服务器.

最后,在与更多客户打交道时,CloudKit 实际上更昂贵.如果您,为什么,必须转移到其他服务,您将遇到CK问题,因为您无法访问私有存储的数据.

此外,请确保CKs概念符合您的需求.几个月前我就是你的情况.当我阅读有关CloudKit的更多内容并观看了一些WWDC会话时,我越来越意识到它不是您可能期望的BAAS.

一个例子:你没有访问控制:私有或公共,就是这样.有一个公共数据库,每个人都可以访问每个资源.对于任何用户都是私有的,其他人无法访问.

如果您不想或不能自己做某事,您可以简单地将BAASBOX用于自托管API或任何商业广告BAAS.


编辑二

为游戏后期的任何人再次指出:

私有(每用户)数据库绝对无法访问其他人 - 即使您是开发人员和运营商也无法访问假设加密的数据以移动到其他(可能是自托管)服务.

您需要进行更新,然后应用程序需要代表用户将数据移动到您的新服务 - "device-ly".

这类过程通常是有问题的,因为您需要运行两个服务,直到所有活动用户移动他们的数据 - 这真的很难说; 你的客户可能会闲置一段时间,如果他们的数据永远丢失,他们会感到沮丧.

好的 - Cloudkit可能会一直持续到......是的,直到那时.因此,做那种被动的长期运动可能不会有问题.

  • 自2016年以来,CloudKit已经支持共享数据库。设备启动的数据迁移确实是一个问题,但好处仍然超过恕我直言,尤其是在预算较低或为零的情况下。苹果现在还为CloudKit提供了初步的Web服务。CK不会死 (2认同)

jos*_*jan 5

不幸的是,CloudKit仅适用于Apple生态系统.但是,有类似的技术称为ParseFireBase,它们允许您执行相同的操作,但可以跨平台.但是,它们花费更多,而不是客户端服务.

注 - Parse的托管服务将于2017年1月28日完全退休.

  • 3 方服务的问题在于它们一直在关闭、继续前进或被其他公司收购!我喜欢 Parse,但同样的事情发生了。被Facebook收购后就被关闭了。 (2认同)

moh*_*sen 5

使用 CloudKit JS 构建一个 Web 界面,让用户可以访问与在 iOS 或 macOS 上运行的 CloudKit 应用程序相同的公共和私有数据库。

\n\n
\n

您必须拥有现有的 CloudKit 应用并启用 Web 服务才能使用\n CloudKit JS。

\n
\n\n

对于设置您的 app\xe2\x80\x99s 容器并配置 CloudKit JS,请逐步执行以下操作:

\n\n
    \n
  1. 创建您的 app\xe2\x80\x99s 容器和架构。

    \n\n

    如果您是 CloudKit 新手,请先阅读CloudKit 快速入门。您\xe2\x80\x99将使用Xcode创建app\xe2\x80\x99s容器并使用CloudKit Dashboard查看容器。然后创建一个使用 CloudKit 存储您的 app\xe2\x80\x99s 数据的 iOS 或 Mac 应用程序。

  2. \n
  3. 在 CloudKit Dashboard 中,通过创建 API 令牌或服务器到服务器密钥来启用 Web 服务。

  4. \n
  5. 将 CloudKit JS 嵌入您的网页中。

    \n\n

    使用 script 标签将 CloudKit JS 嵌入到您的网页中,并链接到位于 的 Apple\xe2\x80\x99s 托管版本的 CloudKit JS https://cdn.apple-cloudkit.com/ck/2/cloudkit.js

    \n\n

    <script src="https://cdn.apple-cloudkit.com/ck/2/cloudkit.js">

  6. \n
\n\n
\n

CloudKit JS 版本号位于 URL 中。例如,2 指定 CloudKit JS 2.0。

\n
\n\n
    \n
  1. 启用 JavaScript 严格模式。

    \n\n

    要为整个脚本启用严格模式,请将“use strict”放在任何其他语句之前。

    \n\n

    "use strict";

  2. \n
  3. 配置 CloudKit JS。

    \n\n

    使用 CloudKit.configure 方法向 CloudKit JS 提供有关 app\xe2\x80\x99s 容器的信息。另外,指定是使用开发环境还是生产环境。有关示例,请参阅 CloudKit;有关可以设置的 CloudKit.CloudKitConfig 属性的详细信息,请参阅 CloudKit JS 数据类型。

  4. \n
\n\n

现在,您可以在 JavaScript 代码中使用 CloudKit.getDefaultContainer 方法来获取应用程序容器 (CloudKit.Container) 及其数据库对象 (CloudKit.Database)。

\n\n

参考线:

\n\n

云套件快速启动

\n\n

使用 API 令牌访问 CloudKit

\n\n

CloudKit Web 服务参考

\n\n

使用服务器到服务器密钥访问 CloudKit

\n\n

CloudKit 目录:CloudKit 简介(Cocoa 和 JavaScript)

\n\n

iCloud 设计指南

\n\n

参考页:

\n\n

云套件JS

\n