0

へのコールバックで次のエラーが表示されますloadScoresWithCompletionHandler:

Error Domain=NSURLErrorDomain Code=-1005 
"The operation couldn’t be completed. (NSURLErrorDomain error -1005.)"

前後の Game Center へのその他の呼び出しは成功します。(それらはさまざまなスレッドで動作します)。次のようにリーダーボード リクエストを初期化した場合:

GKLeaderboard *leaderboard = [[GKLeaderboard alloc] init];

leaderboard.identifier  = leaderboardIdentifier; // valid identifier
leaderboard.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
leaderboard.range       = NSMakeRange(1, 100); // max. allowed range.
leaderboard.timeScope   = GKLeaderboardTimeScopeAllTime;

[leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
    // ...
}];

ここで何が起こっていて、どうすればこの問題を解決できますか?

への呼び出しは、いくつかのリーダーボードにスコアの要求 (私はそれぞれに興味があります) を発行し、すべての応答を待つタスクloadScoresWithCompletionHandler:を持つ の操作から行われます。最初の応答には、すでにエラーが含まれています。NSOperationQueuelocalPlayerScore

UPDATE -1005 はkCFURLErrorNetworkConnectionLost; 根本的な原因はまだ不明です。

更新単一のリクエストのみを送信すると (これまで通常は 6 並列で送信されていたのではなく)、エラーNSURLErrorDomain-1001 が表示されます。これはkCFURLErrorTimedOut、またはGKErrorDomain3 ...を示します。

4

1 に答える 1

0

何らかの理由で、この代替呼び出しはエラーにつながりません:

GKLeaderboard *leaderboard = 
    [[GKLeaderboard alloc] initWithPlayers:@[ GKLocalPlayer.localPlayer ]];

leaderboard.identifier = leaderboardIdentifier;
leaderboard.timeScope  = GKLeaderboardTimeScopeAllTime;

[leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
    // ...
}];

問題が解決しました。

于 2015-01-22T07:50:29.777 に答える