CloudKit + 没有有效的 aps 环境授权错误



我尝试在我的应用程序中使用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 服务器上注册我的设备,但错误委托方法被调用,并显示消息:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert, categories: nil))
    application.registerForRemoteNotifications()
    return true
}
func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) {
    println("error: (error.localizedDescription)")
    //error: no valid aps-environment entitlement found for application
}
  • CloudKit功能已开启
  • 我没有无效的预配配置文件
  • 我已经做到了诀窍:Xcode> Preferences> Accounts> pick your Account> pick your Team> View Details> PRESS REFRESH BUTTON
  • 我什至创建了一个新的应用程序,带有新的iCloud容器,移动了所有逻辑,但是错误是相同的,订阅通知不起作用。

即使 Apple Doc 在这里说:您无需在会员中心为应用程序的显式应用程序 ID 启用推送通知即可接收订阅通知。当您启用 CloudKit 时,Xcode 会自动将 APNs 授权添加到您的授权文件中。

如果您在App IDs下添加Push Notification Developer Portal,它将起作用,或者至少对我来说第二次尝试它起作用了。

该错误主要提示您使用的配置文件不支持 aps 环境,请确保在修改应用程序 ID 后刷新配置文件,

尝试一下,在文本编辑器中打开预配配置文件并搜索以下内容,

APS-环境

如果您没有找到这个,那么问题在于与预配配置文件相关联,如果是,请尝试此操作。

如何修复 Xcode 4.3 中的"找不到有效的应用程序'aps-environment'权利字符串"?

最新更新