我正试图让游戏中心排行榜工作,但已经陷入困境。我在Xcode模拟器上进行测试,因为我无法登录设备上的沙箱帐户。我可以使用init函数通过游戏登录沙箱帐户,但排行榜不会出现在游戏中心。在游戏下它显示我们的游戏,但在它下面说“没有排行榜或成就”。我在itunes connect中设置了一个leaderboad,并且要求在似乎正常工作的代码中设置HighScore。以下是相关代码:
local function updateCallback(e)
local data = json.encode( e.data )
-- show encoded json string via native alert
native.showAlert( "e.data", data, { "OK" } )
end
--[[
Update the gamecenter learderboard for gamescore.
]]--
function [app name]GameNetwork.updateGamescore()
--Sets the score if it is higher than the one on Apple's server
gameNetwork.request( "setHighScore",
{
localPlayerScore = { category = "com.[domain].[game].gamescore", value = gamescore },
listener = updateCallback
})
end
正如预期的那样,更新回调显示
{"value": 25,"category":"com.[domain].[game].gamescore"}
调用updateGamescore
函数时。我错过了什么吗?关于gamenetwork api的任何好的教程?
答案 0 :(得分:1)
终于明白了。问题在于app id。我们的临时配置文件有一张外卡,而我们的应用程序商店没有外卡。我创建了一个具有特定应用ID的新adhoc配置文件,并且排行榜立即显示。此外,我们的特殊配置文件使用的是与应用商店证书不同的证书,因此也可能是此问题。