我最近决定给已经上架多年的游戏添加成就系统,但是在让它们起作用方面遇到了问题。
我正在使用以下代码来发布成就:
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
[achievement setPercentComplete:100.0];
[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error){
}];
但是 reportAchievements
仅记录 no bundle for bundleID: (null)
。
我想知道这是否与成就尚未上线以及Apple已删除沙盒服务器有关。但它们已在iTunes Connect中注册,并且我正在使用测试用户。
还要注意,此应用程序是从不同的开发人员转移而来。
对于应用程序ID,我尝试使用:
com.olddeveloper.ach_id
com.olddeveloper.appid.ach_id
ach_id
com.newdeveloper.ach_id
com.newdeveloper.appid.ach_id
自转移之前存在的排行榜仍在工作,并且它使用旧开发人员的ID。
我甚至尝试只使用此处第一个答案中的代码获取所有成就的列表,但它仍然显示 no bundle for bundleID: (null)
。
编辑:
我发现即使它显示 no bundle for bundleID: (null)
,它仍然会正确返回所有成就的列表。 我假设此消息只是系统中的一些错误,并且它仍然可以正常工作。
也就是说,我仍然无法使用任何ID组合解锁成就。