iOS7 の新機能、MultipeerConnectivity を使用しています。機能が付いていますdidChangeState:
ViewController.h で、
#import <GameKit/GameKit.h>
#import <MultipeerConnectivity/MultipeerConnectivity.h>
@interface ViewController : UIViewController <GKPeerPickerControllerDelegate, GKSessionDelegate, MCBrowserViewControllerDelegate, MCSessionDelegate>
ViewController.m では、次の両方のメソッドを実装する必要があります。
- (void)session:(MCSession *)session peer:(MCPeerID *)peerID didChangeState:(MCSessionState)state{ ...... }
// この名前は iOS6 Gamekit 関数と重複しています:
- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state { ...... }
iOS は関数のオーバーロードをサポートしていないため、両方の関数を同じプログラムに含めるにはどうすればよいですか? コンパイルに失敗しました。エラー: メソッド 'session:peer:didChangeState:' の宣言が重複しています 最新の XCode 5.0.1 を使用しています。