CloudKit +没有有效的aps-environment授权错误

时间:2014-12-13 16:15:45

标签: ios apple-push-notifications cloudkit cksubscription

我尝试在我的应用中使用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服务器上注册我的设备,如apple doc推荐的那样,但会调用错误委托方法,并显示消息:

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&gt; Preferences&gt; Accounts&gt; pick your Account&gt; pick your Team&gt; View Details&gt; PRESS REFRESH BUTTON
  • 我甚至创建了一个新的应用程序,使用新的iCloud容器,移动了所有逻辑,但错误是相同的,订阅通知不起作用。

2 个答案:

答案 0 :(得分:2)

即使Apple Doc说here您也无需在会员中心为应用的显式应用ID启用推送通知,以接收订阅通知。启用CloudKit时,Xcode会自动将APN权利添加到您的权利文件中。

如果您在Push Notification Developer Portal下添加App IDs,那么它会起作用,或至少第二次尝试对我有效。

答案 1 :(得分:0)

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

尝试此操作,在文本编辑器中打开您的配置文件,然后搜索以下内容,

APS-环境

如果你没有找到这个,那么问题是配置配置文件关联,如果确实如此,那么试试这个..

How to fix "no valid 'aps-environment' entitlement string found for application" in Xcode 4.3?