Подтвердить что ты не робот

Использовать iPhone в качестве игрового контроллера в приложении tvOS?

Во время анонса Apple TV разработчики Crossy Road продемонстрировали использование iPhone в качестве второго контроллера для игры в Apple TV:

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

Моя первая мысль заключалась в том, чтобы реализовать это, используя Multiper Connectivity Framework. Однако он не поддерживается на tvOS. Есть ли хороший способ подключения iPhone к Apple TV без подключения к Multipeer?

Обновление: Не похоже, что я могу использовать GameKit, потому что GKPeerPickerController был удален из GameKit на tvOS.

4b9b3361

Ответ 1

Вы можете попробовать мою библиотеку. Я построил это для своих приложений, может быть, и полезно для вас.

https://github.com/vivianaranha/TvOS_Remote

Проект Apple TV (приемник)

Шаг 1. Создайте проект TvOS и импортируйте файлы из RemoteReceiver

libRemoteReceiver.a

RemoteReceiver.h

Шаг 2. В файле ViewController.m импортируйте файл RemoteReceiver.h

#import "RemoteReceiver.h"

Шаг 3: Внутри файла ViewController.m добавьте следующий код

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

Шаг 4: Внутри viewDidLoad выберите и установите делегат для remoteReceiver

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

Шаг 5: Внесите следующий метод делегата для отправки сообщений из удаленного приложения iOS

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

Проект iOS (отправитель/пульт дистанционного управления)

Шаг 1. Создайте проект iOS и импортируйте файлы из RemoteSender

libRemoteSender.a

RemoteSender.h

Шаг 2: Импортируйте класс RemoteSender в ViewController

#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];
}

Ответ 2

Я разработал фреймворк, который поддерживает создание программных контроллеров и направляет входные данные через профиль MFi, позволяя вам иметь единую кодовую базу, которая обрабатывает как программные, так и аппаратные контроллеры. Многие другие функции:

https://github.com/robreuss/VirtualGameController

NSNetservice используется для подключения, поддерживаются все платформы Apple (iOS, OS X, watchOS и tvOS).

Все функции:

  • Интерфейс Mimics для платформы Apple GameController (GCController)
  • Поддержка движения устройств в программных контроллерах
  • Пользовательские элементы контроллера
  • Отображение пользовательских элементов
  • Wi-Fi, с откатом Bluetooth.
  • Контроллер-экспедиторская
  • Работает с Apple TV Simulator
  • Неограниченное количество аппаратных контроллеров на Apple TV (с использованием перенаправления контроллера)
  • Возможность улучшать недорогие контроллеры с плавным включением/форматированием с движением, расширенными элементами профиля и настраиваемыми элементами.
  • Поддержка контроллера iCade (отображается через профили MFi, чтобы они отображались как аппаратные средства MFi).
  • Простая в использовании 3d touch на программных контроллерах.
  • Использование экранных и Bluetooth-клавиатур с использованием программных контроллеров (в том числе с Apple TV).
  • Поддержка моментальных снимков (совместимая с форматом моментальных снимков Apple)
  • Swift 2.1
  • Framework на основе

Ответ 3

Похоже, что CFNetwork доступен на TvOS. Попробуйте этот вопрос за помощью по использованию CFNetwork.

EDIT: посмотрите также CoreBluetooth. Я работаю над одной и той же проблемой - я хочу иметь приложение для iPhone со спутника для моего приложения TvOS.