gpt4 book ai didi

ios - 为什么用户没有被保存在安装类中?

转载 作者:行者123 更新时间:2023-11-29 01:23:09 25 4
gpt4 key购买 nike

我正在尝试将用户 token 保存在安装类中,但没有向类中添加任何内容。

这是我的应用委托(delegate)中用于注册 token 并为该用户创建一行的代码块。

  func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
// Store the deviceToken in the current Installation and save it to Parse
let installation = PFInstallation.currentInstallation()
installation.setDeviceTokenFromData(deviceToken)
if let username = PFUser.currentUser()?.username {
installation.setObject(username, forKey: "user")
}
installation.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
if (error == nil){
print("saved installation")
}else{
print(error)
}
})


}

我将下面的 block 放在我的个人资料 View 中,这是登录后显示的 View Controller 。我将它从应用程序委托(delegate)中移出,因为我希望在用户登录后提示他们允许通知。问题是didRegisterForRemoteNotifications... 未被调用。

    let settings = UIUserNotificationSettings(forTypes: [.Alert, .Sound, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
UIApplication.sharedApplication().registerForRemoteNotifications()

最佳答案

首先想到的是:您是在模拟器中运行它吗?如果是,您将无法获得设备 token ,因为模拟器不处理远程通知。

其次,这一行:

installation["user"] = PFUser.currentUser()?.username

实际上应该是:

if let user = PFUser.currentUser()? {
installation.setObject(user, forKey: "user")
}

Parse 的 iOS 库尚未移植到 Swift,因此目前无法处理订阅。

关于ios - 为什么用户没有被保存在安装类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34359877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com