2

まず、

私はObjectiveC/ xcode devにかなり慣れていないので、マペットになっている可能性が高いです。私は物事を試すためにいくつかの簡単なアプリを書きました、そして私の最新のものはゲームセンターのクラス/機能をテストしています。

リーダーボードと実績にOKをリンクしましたが、チャレンジを機能させることはできません。

私は次のコードを追加しました....これは私の.mにあります

         GKLeaderboard *query = [[GKLeaderboard alloc] init];
          query.category = LoadLeaderboard;
          query.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
          query.range = NSMakeRange(1,100);

          [query loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error)
           {NSPredicate *filter = [NSPredicate predicateWithFormat:@"value < %qi", scoreint];
                NSArray *lesserScores = [scores filteredArrayUsingPredicate:filter];

               [self presentChallengeWithPreselectedScores: lesserScores];

           }
           ];

このコードは基本的にアップルから取得され、変数名を置き換えるだけです。ただし、これにより[self presentChallengeWithPreselectedScores:lesserScores]でエラーが発生します。

エラーObjective-Cポインタの'int64_t*'(別名'long long *')への暗黙の変換はARCでは許可されていません

LoadLeaderboardは文字列として定義され、scoreintは整数として定義されます。これは、int64_tではないとして問題になる可能性があると考えられますが、違いはないようです。

なんらかの手がかりを持っている人にとって、これは簡単な修正だと確信しています。しかし、私は現在苦労しています。だから誰かが親切で困っている愚か者を助けることができればそれは最もありがたいです

ありがとう、マット

4

1 に答える 1

2

StackOverflowへようこそ。メソッドの実装がわからないのでわかりませんpresentChallengeWithPreselectedScores(メソッドが64ビット整数を取り、配列をフィードしようとしているように見えますが)。

チャレンジを発行する方法は2つあります。

1-これはより簡単な方法です-リーダーボードとゲームセンターへのスコア投稿を正常に実装した場合、iOS6でチャレンジはすぐに機能し、ユーザーはいつでもリーダーボードを表示できます-送信されたスコア(または完了したスコア)を選択します達成)そして「チャレンジフレンド」を選択します。

2- 2番目の方法は、フレンドピッカーを作成し、ユーザーがゲーム内でチャレンジを発行できるようにすることです。しかし、Objective-cとGame Centerを初めて使用することを考えると、それほど簡単ではありません。しかし、ここでの参考のために、それをどのように行うかを示します。

リーダーボードのGKScoreオブジェクトを送信すると、次のようにそのGKScoreオブジェクト(myScoreObjectと呼びます)を保持して使用できます。

[myScoreObject issueChallengeToPlayers:selectedFriends message:yourMessage];

ここで、selectedFriendsはNSArrayです(フレンドピッカーがこれを生成する必要があります)-メッセージはオプションであり、チャレンジされたフレンドにメッセージを送信する場合にのみ使用できます。

于 2012-10-08T21:10:17.727 に答える