问题标签 [icloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 权利和 iCloud 问题
我尝试为我的应用程序配置 iCloud。我为我的 iPhone 应用启用了 iCloud,生成了一个新的供应开发者资料。当然,我在 Xcode 中使用了新的配置文件(而不是通配符),我启用了权利,但是当我尝试与 iCloud 同步时仍然出现以下错误:
NSUbiquitousKeyValueStore 错误:com.company.app 没有有效的 com.apple.developer.ubiquity-kvstore-identifier 权利
我真的不明白发生了什么,我开始失去理智。
奇怪的是它非常适合我的 iPad 应用程序(我做了同样的步骤)。
iphone - 我使用哪个 NSMergePolicy?
我正在将一个核心数据应用程序与 iCloud 同步,并且没有任何文档说明在什么情况下你会选择一个 NSMergePolicy 而不是另一个。我正在使用 NSMergeByPropertyStoreTrumpMergePolicy,但有时我会随机删除。还有一个我应该使用的吗?
ios - 将本地 sqlite 文件同步到 iCloud
我将一些数据直接存储在我的 iOS 应用程序中的本地 .sqlite 文件中。我选择这样做而不是 CoreData,因为数据需要与非 Apple 平台兼容。
现在,我正在尝试想出通过 iCloud 同步此文件的最佳方式。我知道您无法直接同步它,原因有很多。我知道 CoreData 能够同步其数据库,但即使忽略使用 CD 本质上会将这个文件锁定到 Apple 平台(我认为?我只研究过 CD 一点),我需要这个文件的 iCloud 同步才能工作iCloud 支持的所有平台——应该包括 Windows。我必须假设 Windows API 中的 CoreData 文件不会有任何兼容性。如果 Apple 告诉我们的不仅仅是“将会有一个 Windows API [最终?]”,那么计划出实现这一目标的最佳方法会容易得多。
此外,我最终还需要实现至少一项同步服务来支持 iCloud 不支持的平台。如果我用于 iCloud 的方法可以大部分用于未来的服务,这将是有帮助的,尽管不是必需的。
由于这些原因,我认为 CoreData 无法帮助我解决这个问题。我这样想对吗?
从那里继续,我需要为此设计一个算法,或者找到一个现有的或现有的第 3 方解决方案。我还没有偶然发现任何东西。但是,我一直在考虑可以实现的几种可能的方法:
方法一:
做一些类似于 CoreData 如何同步 sqlite DB 的事情:将“事务日志”发送到 iCloud,然后从这些文件中构建每个本地 sqlite 文件。
我认为每个设备都会发送一个(唯一命名的)文本文件,其中列出了该设备执行的所有 sql 命令以及时间戳。该设备将存储它已执行的每个命令列表中的距离,并在每次更新文件时从该点继续。如果它一次接收到多个日志文件的更新,它将按时间戳顺序执行每个命令。
一旦这些文件变大,事情可能会在效率方面变得“有趣”,但这似乎是一个可以解决的问题。
方法二:
定期将工作数据库的副本同步到 iCloud。在每条记录中都有一个修改时间戳字段。当更新的数据库副本通过时,查询所有时间戳比某个参考时间更新的记录,并根据新数据更新本地数据库中的记录。
我看到这种方法有很多潜在的问题:
- 必须进一步实施以识别记录删除。
- 数据库文件可能会发生冲突。可以通过按时间戳顺序处理每个冲突版本来处理它们。
- 确定检查每个更新的日期可能很棘手,因为这取决于更新来自哪个设备。
方法2有很多潜在的问题,但方法1对我来说似乎可行......
有没有人对什么可能是最好的行动方案有任何建议?有什么比我的“方法 1”更好的想法(或它不起作用的原因)?
objective-c - MPMediaItem 和 iTunes 匹配
我有一个应用程序使用 iPod Library API 来访问 iOS 中的歌曲数据库。随着 iTunes Match 的发布,任何不在设备上的歌曲都将无法加载。有没有办法要求我下载歌曲?也许使用新的 iCloud API?
编辑: 要清楚,我不是在问如何使用 iPhone 使用 iTunes Match 下载歌曲。iOS SDK 允许通过 MPMediaQuery/MPMediaItems 访问 iPod 库。在启用了 iTunes Match 的 iOS 设备上,iTunes Match 库中但不是设备本地的歌曲通过 MPMediaQuery 返回,但是 MPMediaItem 的“可导出”标志设置为 false。当我在音乐应用程序中访问这些歌曲时,它们会自动下载。我想通过 MPMediaItem 触发相同的自动下载。
我已经看到 iTunes Match 中的项目被称为 iCloud 的一部分,并且 iOS 5 SDK 中有一个新的 iCloud 部分。但是,据我了解,我只能获取我的应用上传的数据。我希望有一种方法可以通过 MPMediaItem 或通过 iCloud 使用 URL 来触发 iTunes Match 下载。
ios - Mac / iPhone 应用程序 - 将核心数据同步到 iCloud 和设备(使用核心数据)
我正在使用使用 Core Data 的 iPhone 应用程序和 Mac 应用程序。
我想让这两个应用程序通过 iCloud 存储同步它们的数据库。
我已经从更新的食谱示例代码中对managedObjectContext
& persistentStoreCoordinator
& 添加的实现进行了调整:mergeiCloudChanges
当我构建/运行 myapp 时,我可以看到文件出现在我的“/Users/me/Library/Mobile Documents”目录中。
但我不知道它是否正在同步到 iCloud 存储 - 显然 iphone 和 mac 之间的数据没有同步。
我还需要实施其他方法来使数据迁移到云端吗?
有什么方法可以让我查看 iCloud 存储中实际有哪些文件?
iphone - iOS - 防止使用相机拍摄的照片进入 iCloud
有没有办法防止使用 UIImagePickerController 拍摄并保存到相机胶卷以转到 iCloud。任何状况之下。
这个问题也与我自己的这个问题有关:iOS - 如何知道是否启用了 iCloud 照片传输功能
ios - 由于无效的权利,应用程序未能通过协同设计验证
我已经用谷歌搜索了这个垃圾,找不到任何解决方案。几个月前,当我更新另一个应用程序时,它也发生在我身上。
我正在运行 Xcode 4.2。
构建日志:
ios - 使用两个应用程序配置 iCloud 的权利未读
我尝试为我的两个应用程序使用一个 iCloud 容器。我的问题是,它不会读取我的授权文件。无论我指定什么 iCloud 容器,它都不会读取它。相反,它使用配置文件中的默认值...我什至不需要在目标设置中启用授权来使用与我的应用程序 ID 同名的默认容器。
但是,当然,如果我想为两个应用程序使用一个 iCloud 容器,我需要在至少一个应用程序中指定一个不同的 iCloud 容器,以便让这些东西正常工作。
我尝试了一个全新的项目,当然它可以工作。我可以在权利中指定任何内容,并且我将拥有一个有效的 iCloud URL。
我能做些什么?我删除了权利,重新添加了至少一千次……我不知道该怎么办了……
ios5 - iCloud 丢失 NSData
我正在使用 iCloud 创建一个应用程序。但我有一些问题。
它使用 iCloud 在 iCloud 上创建目录NSFileWrapper
,然后NSData
在目录中创建(文本)文件NSFileWrapper
。
我正在使用此代码转换NSData
为NSString
:
它仅在创建此文本文件的设备上才能正常工作。在其他设备上成功加载文件,但是当我尝试转换或打印它(或其他调用方法)时,结果是**BAD_ACCESS**
并且对象不存在(文件数据的保留计数为 2)。
有任何想法吗?
macos - 对 Mac App Store 应用程序进行 Beta 测试
我有一个应用程序,我将把它放到 Mac App Store 中。我想为偏好同步添加 iCloud 支持,因此,我想分发以他们可以访问 iCloud 的方式签名的测试版。
但是,我在 Mac 文档库中找不到任何关于分发应用程序、使用分发密钥签名、在 App Store 之外以及能够访问 iCloud 的任何内容。
到目前为止,我分发此类应用程序的尝试遇到了无法在测试人员的机器上启动的问题,控制台中的消息抱怨该应用程序具有 iCloud 权限。
是我追求的可能,还是我应该放弃 iCloud 支持?如果可能的话,我需要做什么来制作一个可分发的、支持 iCloud 的构建?
编辑:需要明确的是,您可以将此问题中的“iCloud support”替换为仅适用于 App Store 应用程序的任何其他功能。我提到它是为了确定解决方案不是“只分发未签名的”。在我的具体情况下,iCloud 是目标;我问的是一般流程。