通过GameKit将游戏数据保存到iCloud中

时间:2014-12-03 13:34:48

标签: ios icloud gamekit

我试图通过下一代码将游戏数据保存到iCloud:

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer saveGameData:[NSData dataWithBytes:rawData->data() length:rawData->size()]
                 withName:[NSString stringWithUTF8String:fileName.c_str()]
        completionHandler:^(GKSavedGame *savedGame, NSError *error) {
            if (error == nil) {
                DebugLog(@"Snapshot successfully saved");
            } else {
                DebugLog(@"saveSnapshot error: %@", error.description);
            }
        }];

但收到错误消息:The requested operation could not be completed because you are not signed in to iCloud

我已尝试在iOS模拟器和设备上执行此操作但未成功。
并尝试使用测试苹果ID,开发苹果ID,新苹果ID,但也没有成功。
用户在iOS设置中登录iCloud并登录到Game Center。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我有类似的问题。在我的设备设置上使用我的iCloud帐户登录后,仍然显示完全相同的错误,并且仅当我为帐户启用iCloud Drive时才会停止,否则它将无法正常工作。

因此,看起来用户必须使用iCloud Drive,否则GKSavedGame将无法运行。就我所知,Apple文档从未提及过。

答案 1 :(得分:1)

  1. 先决条件:

    • 您必须拥有Apple ID。
    • 检查您是否设置了功能。

      能力> iCloud> ON
      (您必须选中 iCloud Documents 。)

      能力>游戏中心> ON

  2. 转到iCloud并创建帐户

  3. 现在,您可以在设置>中使用您的设备或模拟器登录。 icloud的。