CloudKit数据和iCloud Drive之外的大多数iCloud数据都被沙箱化为单个应用程序。从保护用户数据不受其控制而从一个应用程序泄漏到另一个应用程序的观点来看,这是有意义的。但是,使用我自己的iCloud凭据作为用户,我可以通过拥有各个存储桶的应用访问我的所有数据。
作为技术用户在我自己的机器上编写代码(不是将在App Stores中分发的代码),是否有可能在iCloud应用程序桶中枚举,读取和/或写入数据作为我自己没有创造?
我特别感兴趣的是在Mac上执行此操作(允许使用开发人员工具和未签名的应用程序),并且我愿意假设我知道感兴趣的存储桶的包ID。能够枚举我的用户存在的所有存储桶会更有用。
答案 0 :(得分:2)
如果您拥有与原始应用相同的开发者帐户,则可以创建可以使用相同CloudKit容器的第二个应用。您必须知道有一个开发人员和一个生产数据库。您只能使用已发布的应用程序访问生产数据库(可能是仅限TestFlight的分发版)
有一种方法可以访问由其他人创建的容器。但是,您确实需要获取API访问Web令牌,该令牌只能由原始应用程序的开发人员帐户分发。然后,您可以使用CloudKit Web API
访问容器