我试图通过下一代码将游戏数据保存到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。
有什么建议吗?
答案 0 :(得分:2)
我有类似的问题。在我的设备设置上使用我的iCloud帐户登录后,仍然显示完全相同的错误,并且仅当我为帐户启用iCloud Drive时才会停止,否则它将无法正常工作。
因此,看起来用户必须使用iCloud Drive,否则GKSavedGame将无法运行。就我所知,Apple文档从未提及过。
答案 1 :(得分:1)
先决条件:
检查您是否设置了功能。
能力> iCloud> ON
(您必须选中 iCloud Documents 。)
能力>游戏中心> ON
转到iCloud并创建帐户
现在,您可以在设置>中使用您的设备或模拟器登录。 icloud的。