解析iOS8&必须指定Swift deviceType

时间:2015-01-20 03:00:54

标签: ios swift parse-platform ios8

大家好我正在开发一个使用Parse进行通知的应用程序。当我尝试运行应用程序时,它会在日志屏幕上显示此错误。 enter image description here

我按照文档添加了所有框架,证书,当然我把appId& Parse.setApplicationId()

中的clientId

我不知道原因。我尝试删除应用程序并再次安装,但它显示相同的错误。

如果有人可以帮助我。感谢' S

1 个答案:

答案 0 :(得分:1)

我认为您缺少的是在注册推送通知后运行[PFIntallation currentInstalation]。以下是文档中有关此方法的说明:从磁盘获取当前正在运行的安装并返回它的实例。如果此安装未存储在磁盘上,则返回“PFInstallation”'  将 deviceType installationId 字段设置为  目前的安装。

以下是如何进行设置的示例:

在您应用的AppDelegate中添加以下方法

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
   PFInstallation *currentInstallation = [PFInstallation currentInstallation];
   [currentInstallation addUniqueObject:@"global" forKey:@"channels"];
   [currentInstallation setDeviceTokenFromData:deviceToken];
   [currentInstallation saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
      if(error){
        NSLog(@"error saving parse current installation: %@", error);
      }
   }];
}