通过GameKit将游戏数据保存到iCloud中
我正在尝试通过下一个代码将游戏数据保存到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。
有什么建议么?
我有一个类似的问题。 在我的设备设置上使用我的iCloud帐户登录后,仍然显示完全相同的错误,并且仅当我为帐户启用iCloud Drive时才会停止,否则它将永远无法运行。
因此,看起来用户必须使用iCloud Drive,否则GKSavedGame将无法运行。 据我所知,Apple文档从未提及过。
-
先决条件:
- 您必须拥有Apple ID。
-
检查您是否设置了function。
function> iCloud> ON
(您必须选中iCloud Documents 。)function>游戏中心>开启
-
转到iCloud并创建您的帐户
- 在您的计算机浏览器中,只需使用您的Apple ID登录并接受条款和条件。 像这里: https : //www.icloud.com/#settings
-
现在,您可以在设置> iCloud中使用您的设备或模拟器登录。