我尝试在我的应用中使用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
答案 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?