来自 GKLeaderboard loadScoresWithCompletionHandler 的 NSURLErrorDomain 代码=-1005:
NSURLErrorDomain code=-1005 from GKLeaderboard loadScoresWithCompletionHandler:
我在 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:
的调用是通过对 NSOperationQueue
的操作进行的,其任务是向多个排行榜发出分数请求(我对每个 localPlayerScore
都感兴趣)和等待所有回应。第一个响应已经出现错误。
更新 -1005表示kCFURLErrorNetworkConnectionLost
;根本原因尚不清楚。
UPDATE 如果我只发送一个请求(而不是到目前为止通常并行发送 6 个请求),我会收到错误 NSURLErrorDomain
-1001,表示 kCFURLErrorTimedOut
,或 GKErrorDomain
3 ...
出于某种原因,此替代调用不会导致错误:
GKLeaderboard *leaderboard =
[[GKLeaderboard alloc] initWithPlayers:@[ GKLocalPlayer.localPlayer ]];
leaderboard.identifier = leaderboardIdentifier;
leaderboard.timeScope = GKLeaderboardTimeScopeAllTime;
[leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
// ...
}];
问题已解决。
我在 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:
的调用是通过对 NSOperationQueue
的操作进行的,其任务是向多个排行榜发出分数请求(我对每个 localPlayerScore
都感兴趣)和等待所有回应。第一个响应已经出现错误。
更新 -1005表示kCFURLErrorNetworkConnectionLost
;根本原因尚不清楚。
UPDATE 如果我只发送一个请求(而不是到目前为止通常并行发送 6 个请求),我会收到错误 NSURLErrorDomain
-1001,表示 kCFURLErrorTimedOut
,或 GKErrorDomain
3 ...
出于某种原因,此替代调用不会导致错误:
GKLeaderboard *leaderboard =
[[GKLeaderboard alloc] initWithPlayers:@[ GKLocalPlayer.localPlayer ]];
leaderboard.identifier = leaderboardIdentifier;
leaderboard.timeScope = GKLeaderboardTimeScopeAllTime;
[leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
// ...
}];
问题已解决。