问题标签 [cksubscription]
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 - 有没有办法在同一台 Mac 上调试两个 iOS 设备?
我想不可能从同一个 Xcode 中获得,而是通过多次打开 Xcode 来实现?还是有什么其他技巧?我正在测试它们之间的 CKSubscription 和 CloudKit 通信。
ios - 如何通知另一台设备 CloudKit 记录已更新?
CKSubscription 文档说:当记录修改导致订阅触发时,服务器会向所有具有该订阅的设备发送推送通知,但对记录进行原始更改的设备除外。
假设我有两个设备:设备 1 和 iPad 和设备 2 都使用相同的iCloud 帐户登录。让我们假设两个设备都订阅了某个记录类型的记录更新。
我的代码看起来像这样(我已经取出了一些家务)
在我看来,当一台设备更新记录时,应该通知另一台设备。但这不是正在发生的事情 - 没有通知。在 WWDC 2014 Advanced iCloud 视频中,他们谈到当一台设备将通知标记为已读时会收到通知,但我也没有成功。
当登录到同一帐户的另一台设备更新记录时,是否有人成功通知了一台设备?
notifications - CloudKit 订阅仅适用于仪表板操作
我的订阅基于一个简单的谓词
它只是用特定的邀请代码观察一条记录,并在删除记录时发出通知(邀请已被其他用户接受)。但是,如果我以编程方式从其他设备中删除邀请,它不会触发任何推送通知。但是,当我从仪表板中删除邀请时,它确实会向我发送通知。有人可以帮我解决这个错误吗?
PS。我很确定订阅已成功保存在服务器上 - 我在仪表板上看到了它。
更新:
ios - CloudKit、远程通知和 aps 环境
在设置 CloudKit 远程通知时,我启用了“远程通知”功能,它将远程通知字段添加到我的 Info.plist。但是后来我在控制台中收到了这个错误:
错误域 = NSCocoaErrorDomain 代码 = 3000“找不到应用程序的有效 'aps-environment' 授权字符串” UserInfo=0x17db9850 {NSLocalizedDescription=找不到应用程序的有效 'aps-environment' 授权字符串}
当我提交到 iTunes Connect 时,这个错误会通过电子邮件发送给我:
缺少推送通知权利- 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。
好的,所以我应该更新我的配置文件 - 但是当我尝试这样做并启用推送通知时,它需要我创建 SSL 证书以在我的服务器上使用。不过我正在使用 CloudKit - 我没有服务器。如何更新我的配置文件?
cloudkit - 这是一种通过 CKSubscription 获取用户开始使用应用程序的通知的方法吗?
我需要知道用户何时开始使用应用程序。我知道我可以设置CKSubscription
任意记录类型,但它似乎Users
不起作用。
ios - CloudKit + no valid aps-environment entitlement 错误
我尝试在我的应用程序中使用CloudKit
订阅,但didReceiveRemoteNotification
没有被触发。
我保存CKSubscription
到CloudKit
. 为了确保它们存在,当应用程序启动时,我将它们绘制出来,例如:
<CKSubscription: 0x15576310; ; Query Subscription: recordType=DailyVote, predicate=TRUEPREDICATE, subscriptionOptions=7, subscriptionID=1FA456A6-9BA5-411D-97B9-1EB57121A5D0, zoneID=(null)> predicate: TRUEPREDICATE subscriptionType: (Enum Value) subscriptionOptions: C.CKSubscriptionOptions
我尝试按照苹果文档的建议在 APN 服务器上注册我的设备,但错误委托方法被调用,并显示消息:
CloudKit
功能开启- 我没有无效的配置文件
- 我已经成功了:
Xcode
>Preferences
>Accounts
>pick your Account
>pick your Team
>View Details
>PRESS REFRESH BUTTON
- 我什至用新的 iCloud 容器创建了一个新的应用程序,移动了所有逻辑,但错误是一样的,订阅通知不起作用。
ios - 如何从 CloudKit 更新所有客户端记录?
我的应用程序在本地存储所有存储的记录CloudKit
。所以不是大数据小手机的概念,而是全数据服务器-全数据客户端的概念。当应用程序再次启动时,我不时需要所有更新。
我应该为所有现有的记录类型设置CKSubscription
吗?
- 服务器可能会收到很多通知,即使我猜有“静默模式”,iCloud 通知集合的存储容量也应该有限制。
我应该在应用启动时删除所有本地记录并再次下载CloudKit
以获取更新吗?
- 每次都需要更新太多数据。
ios - 用户可以从设置中删除 CKSubscriptions 吗?
我很好奇用户在被接受后是否可以拒绝订阅?
ios - 如何使用 CKSubscription 检查 CKAsset 更改?
您如何检查存储的图像是否CKAsset
已更改CloudKit
?
CKNotification 文档说有关desiredKeys:
- 数组中最多可以包含三个键。
- 对于您指定的键,允许的值为
NSString
、NSNumber
、CLLocation
、NSDate
和CKReference
。您不能指定其值包含其他数据类型的键。
CKAsset
不在名单上
cloudkit - 与 Google Cloud Datastore 中的 CloudKit CKSubscription 类似的服务?
我一直在学习 CloudKit,CKSubscription
尤其是它的 s。由于 CloudKit 和 Google Cloud DataStore 似乎有许多相似之处,我想知道这一点:
是否有CKSubscription
可用于 Google Cloud Datastore 的类似服务,即我可以向服务器提交一次订阅(连同查询)并让它向我推送有关更改的通知,而不是通过重复获取来拉取更改(使用相同的查询)?