2015-09-11 8 views
20

は、Crossy道路の開発者は、Apple TVのゲームのための第二のコントローラとしてiPhoneを使用して実証:iPhoneをtvOSアプリケーションのゲームコントローラとして使用しますか? Apple TVの発表時には

http://www.macrumors.com/2015/09/09/cooperative-play-for-crossy-road/

私の最初の考えはMultipeer Connectivity Frameworkを使ってこれを実装することでした。ただし、tvOSではサポートされていません。 Multipeer ConnectivityなしでiPhoneをApple TVに接続する良い方法はありますか?

更新:それはGKPeerPickerControllerがtvOSにGameKitから削除されているので、私はGameKitを使用できることは表示されません。

答えて

0

まあ、私はそれが「良い方法」として認定されているとは確信していませんが、GKMatchRequestGKMatchmakerがそこにあります。

https://developer.apple.com/library/prerelease/tvos/documentation/GameKit/Reference/GKMatchRequest_Ref/

+1

残念ながら、GKPeerPickerControllerはtvOSにGameKitから削除されました。 – AaronBaker

+1

これがtvOSでサポートされているかどうかわからないhttps://developer.apple.com/library/ios/samplecode/WiTap/Introduction/Intro.html –

3

CFNetworkがTvOSに利用可能であるように見えます。 CFNetworkの使用に関するヘルプについては、this questionをお試しください。

EDIT:CoreBluetoothもご覧ください。私は同じ問題に取り組んでいます。私は自分のTvOSアプリケーションのために仲間のiPhoneアプリを持っていたいと思います。

10

私のライブラリを試すことができます。私は私のアプリのためにこれもあなたのために役立つかもしれない構築。

https://github.com/vivianaranha/TvOS_Remote

Apple TVのプロジェクト(レシーバー)

ステップ1:TvOSプロジェクトを作成し、RemoteReceiver

からファイルをインポート

libRemoteReceiver.a

RemoteReceiver.h

手順2:ViewController.mファイルにRemoteReceiver.hファイルをインポートします

#import "RemoteReceiver.h" 

ステップ3:remoteReceiver

self.remoteReceiver = [[RemoteReceiver alloc] init]; 
self.remoteReceiver.delegate = self; 

ステップ5のためのデリゲートを内部のviewDidLoadのallocと設定:インサイドViewController.mファイルには、次のコードに

@interface ViewController() <RemoteReceiverDelegate> 
@property (nonatomic, strong) RemoteReceiver *remoteReceiver; 
@end 

ステップ4を追加実装メッセージのためのデリゲートメソッド次のiOSリモートアプリから送信

-(void) didReceiveMessage:(NSDictionary *)userInfo{ 
    NSLog(@"%@",userInfo); 
} 

iOSのプロジェクト(送信者/リモートコントロール)

ステップ1:iOSのプロジェクトを作成し、RemoteSender

libRemoteSender.a

RemoteSenderからファイルをインポートします。H

ステップ2:あなたのViewControllerにRemoteSenderクラスをインポート

#import "RemoteSender.h" 

ステップ3:更新ViewController.m次のコード

@interface ViewController() 
@property(nonatomic, strong) RemoteSender *remoteSender; 
@end 

ステップ4:割り当てとremoteSenderオブジェクトを初期化

self.remoteSender = [[RemoteSender alloc] init]; 

ステップ5:ジェスチャーとメソッドを実装します(ちょうどボタンコード)

- (IBAction)sendSomeInformation:(id)sender { 
    NSDictionary *theDictionaryToSendToTV = @{@"name": @"John Smith",@"age": @"35", @"address":@"123 Main St"}; 
    [self.remoteSender sendInfo:theDictionaryToSendToTV]; 
} 
+0

これは面白そうです。カスタムイベントを送受信するサポートを追加する可能性はありますか?おそらくuserInfo NSDictionaryといいます。 – David

+0

今すぐ何かを追加するようにカスタマイズすることができます。私はそれを数日でより有用にするでしょう。現在私は自分自身のマルチプレイアプリに取り組んでいます – vivianaranha

+0

これは素晴らしいですね。あなたは正しいApple TVに接続していることをどのように確認できますか?私はIDが表示されません – AlexKoren

6

は、私は、ソフトウェアベースのコントローラの作成をサポートし、あなたがソフトウェアとハ​​ードウェアの両方のコントローラを処理する単一のコードベースを持つことができるように、MFiのプロファイルを介して入力を指示するフレームワークを開発しました。同様に他の多くの機能が:

https://github.com/robreuss/VirtualGameController

NSNetserviceは、接続のために使用され、すべてのAppleのプラットフォームは(iOS版、OS X、watchOSとtvOS)がサポートされています。

すべての機能:AppleのGameControllerフレームワーク(GCController)

  • ソフトウェア・コントローラのデバイスの動きをサポート
  • カスタムコントローラ要素
  • カスタム元素マッピング
  • WiFi-ため

    • 模倣API Bluetoothフォールバック付き、
    • コン(転送コントローラを使用して)Apple TVでのハードウェアコントローラのトローラフォワーディングApple TVのシミュレータと
    • 作品
    • を無制限
    • 動きの安価なスライドオン/フォームフィットコントローラーを増強する能力、拡張プロファイル要素とカスタムアップルを含む(ソフトウェア・コントローラを使用して、画面上のソフトウェア・コントローラ
    • 活用とBluetoothキーボード上の要素
    • iCadeコントローラのサポート(彼らはMFiのハードウェアとして表示されますので、MFiのプロファイルによってマップされた)
    • 簡単に実装する3Dタッチをテレビ)
    • (Appleのスナップショット形式と互換性)のスナップショットをサポート
    • スウィフト2.1
    • Frameworkベース
  • +0

    これは理想的な世界で受け入れられる答えです。 – user3069232

    +0

    ありがとう!私は一部の人々がそれが有用であることを願っています。 –

    関連する問題