Hi,
We encounter an issue on tvOS15 where players are unable to save to cloud when they first play the game on tvOS.
If they have played the game before on other platforms before playing on Apple TV, they will not encounter this issue.
I am getting this error:
CKError 0x281a07060: "Internal Error" (1/5000); "Failed to sync user keys">
whenever I call save. Anyone have encountered this issue before and if there is a known fix?
The code to save data is as follows:
CKContainer *container = [CKContainer containerWithIdentifier:self.containerIdentifier];
CKDatabase *privateDatabase = [container privateCloudDatabase];
[privateDatabase saveRecord:record completionHandler:^(CKRecord * _Nullable savedRecord, NSError * _Nullable error) {
if (error) {
NSLog(@"CloudKitManager::saveRecord - name=%@ error=%@", record.recordID.recordName, [error debugDescription]);
}
Thank you.
Post
Replies
Boosts
Views
Activity
Hi,
I have this error when i tried automatically manage signing. It is trying to look for com.apple.application-identifier entitlement.
I downloaded my provisioning profile and took a look, it's just application-identifier, instead of com.apple.application-identifier.
I am on the version of xcode 13.4.1
Is there any thing that can be done on my end to ensure the tag is correct?
Thank you
Hi,
I have an application that would require sync between iOS and tvOS devices. The cloudkit saving/loading code is exactly the same for both platforms but the data does not seems to be synchronised between the 2 devices.
Even when I tried to output the data that was updated, iOS only show the data:
CKRecord: 0x123456789>
whereas tvOS showed more details like:
CKRecord: 0x987654321; recordType=SavedGame, recordID=save_file.dat:(_defaultZone:__defaultOwner__), recordChangeTag=ln2rxsh8, values={
data = "<CKAsset: ??; referenceSignature={length = 21, bytes = 0x??????}, path=~/Library/Caches/save_file.dat, size=8005, UUID=?????, signature={length = 21, bytes = 0x?????????}, wrappedAssetKey=<24 bytes>>";
*I replaced the actual data information with ????
Although both have the exact same uploading code, I am having difficulty synchronising between both devices. Not sure what other settings did I missed out to ensure that both can be synchronised properly. Both are using the same iCloud account and apple account.
Would appreciate any help.
Thank you.
Hi,
I am using Node.js for updating my game achievements. Also not sure what is the recommended programming language to use for this.
I will want to add Achievement Localization to my existing achievement.
I was following the document here:
https://developer.apple.com/documentation/appstoreconnectapi/post-v1-gamecenterachievementlocalizations
const postData = {
type: "gameCenterAchievementLocalizations",
attributes: {
locale: "it-IT",
name: "XXXXXXXXXXX",
afterEarnedDescription: "XXXXXXXXXXXXXX",
beforeEarnedDescription: "XXXXXXXXXXXXXXXXXXXXXXXX"
},
relationships: {
gameCenterAchievement: {
data: {
type: "gameCenterAchievement",
id: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}
}
};
let axiosConfig = {
headers:{
Authorization: `Bearer ${token}` }
};
const response = axios.post('https://api.appstoreconnect.apple.com/v1/gameCenterAchievementLocalizations', postData, axiosConfig);
After I run the above code, it throw me an error 422.
status: '422',
code: 'ENTITY_UNPROCESSABLE',
title: 'The request entity is not a valid request document object',
detail: "Unexpected or invalid value at 'type'.",
meta: { position: [Object] }
Any idea what went wrong with my code?
Thank you