2012-03-05 4 views
0

iPhoneでBluetoothプログラミングを初めて使用したので、2台のiOSデバイス間でPeerToPeerのBluetooth接続を設定したかったのです。私はこのチュートリアルでは、手順iOS Bluetoothプログラミング - 2つのiPadの間でp2pを確立する際に問題が発生する

http://www.devx.com/wireless/Article/43502/0/page/1

に続き、別のデバイスが検出されたとき、私は受け入れるか拒否オプションを取得するまで、すべてのものは、それが必要として起こります。

私が受け入れるとすぐに、両方のデバイスでアプリがクラッシュします。図示エラーメッセージはこれです: -

wait_fences:応答の受信に失敗しました:10004003 2012-03-05 15:40:25.809ブルートゥース[204:707] - [セッションのViewController:didFailWithError:]:認識されていないセレクタが送信0367fe0 2012年3月15日15:40:25.811 Bluetooth [204:707] *キャッチされていない例外 'NSInvalidArgumentException'のためアプリを終了します、理由: '[ViewController session:didFailWithError:]:インスタンスに送信された認識できないセレクタ0x367fe0 '

誰も何が起こっているのか知っていますか?

ありがとうございます!

+0

あなたのコードの一部を投稿してください。 didFailWithErrorを実装していますか? Appleが提供するドキュメントや例を読むのではなく、チュートリアルに従っているのはなぜですか? –

+1

GKsessionDelegateメソッドを実装しましたか? - (void)session:(GKSession *)session didFailWithError:(NSError *)error;あなたのクラスで? – priyanka

+0

コメントから:人々が正常にビルドして実行できなかった場合は、GameKitフレームワークを読み込み(フレームワークフォルダ>既存のフレームワーク> GameKit.frameworkを右クリックし)、空の#import文を.hで#importに置き換える必要があります。 .mの空の#importを削除します。 –

答えて

0

ちょうど下のあなたが投稿したリンクでCOMENTSからこれを貼り付けるコピー:ケースの人々に

を構築し、正常に実行することができなかった、あなたは>既存の枠組み> GameKitをGameKit framework(右クリックフレームワークフォルダをインポートする必要があります。

#import "GameKit/GKSession.h" 
#import "GameKit/GKPeerPickerController.h" 
0

が問題を発見:フレームワーク)

BluetoothViewController.hファイルに、追加します。かなり愚かな間違いをした!私は、接続が最初に確立された場合、私がチェックするだろうと思った

- (void)peerPickerController:(GKPeerPickerController *)picker 
       didConnectPeer:(NSString *)peerID 
        toSession:(GKSession *) session { 

を次のように

アイブ氏は、この方法を書かれて、その中に私が

[session setDataReceiveHandler:self withContext:nil]; 

を使用してBluetoothを介してデータを受信するアプリを設定し、データ転送について考えてみてください。しかし、データハンドラが設定されていて、それを自分で実装していないということはできません。私がそれを書いたとき、それはうまくいった!

希望は、このような明白な間違いを犯すことを望んでいます!