Создание другого устройства вывода в приложении iOS с другим содержимым

ПРИМЕЧАНИЕ. Пожалуйста, загляните в раздел Редактировать. Этот раздел предназначен только для справки.

Я новичок в архитектуре разработки приложений для IOS. Пожалуйста, мне просто нужно уточнить, возможно ли сделать два выхода, один из которых постоянно работает в фоновом режиме, подключаясь к другому устройству вывода (HDTV, монитор и т. д.), как показано в этой ссылке здесь

Например, я провожу семинар с подключенным проектором, запускаю свою презентацию в качестве фонового процесса, в то же время я могу управлять своими материалами на экране ноутбука, используя «EXTEND Mode».

Пожалуйста, не продвигайте мой вопрос, мне просто нужно знать, предоставляет ли это «Архитектура разработки IOS» или нет.? Нужно сделать:

1) Можно сделать с другими экранами вывода с фоновым процессом (непрерывно, когда MyApp жив).

2) Один дисплей на переднем плане в моем iPad, который не поддается MyApp.


Изменить: Обновление моего собственного вопроса:

Для вышеупомянутой проблемы,

Я нашел интересное решение ЗДЕСЬ и ЗДЕСЬ< /а>.

Я пройду через это, но если у кого-то есть идея или решение этой проблемы, пожалуйста, предложите мне некоторую полезную информацию.

Краткое объяснение проблемы:

Я просто хочу показать какой-то другой контент на другом устройстве вывода, подключенном к iPad, когда мое приложение запущено.


person Kumar KL    schedule 26.04.2013    source источник


Ответы (2)


Да, это возможно с помощью AirPlay.

По умолчанию при подключении внешнего дисплея к iPad или iPhone вы получаете зеркальное изображение своего приложения на внешнем экране. Но вы можете получить доступ ко второму экрану из приложения для iPad или iPhone и использовать его для другого контента. Вы можете получить все доступные экраны через класс UIScreen. Из документов для [UIScreen screens]:

Возвращаемый массив включает в себя основной экран и все дополнительные экраны, подключенные к устройству. Главный экран всегда имеет индекс 0.

Не все устройства поддерживают внешние дисплеи. В настоящее время внешние дисплеи поддерживаются устройствами iPhone и iPod touch с дисплеями Retina и iPad. Старые устройства, такие как iPhone 3GS, не поддерживают внешние дисплеи. Для подключения к внешнему дисплею требуется соответствующий кабель между устройством и дисплеем.

В качестве примеров того, что вы можете сделать, вы можете проверить Real Racing 2, который показывает карту на iPad и реальную гонку на внешнем экране; или Tweetwall, который также использует этот подход (раскрытие информации: я отвечал за частично за создание Tweetwall).

EDIT: вы можете инициализировать внешний экран следующим образом:

// Get second screen
UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1];
secondScreen.currentMode = secondScreen.preferredMode;

// Get the screen's bounds so that you can create a window of the correct size.
CGRect screenBounds = CGRectMake(secondScreen.bounds.origin.x,
                                 secondScreen.bounds.origin.y,
                                 secondScreen.currentMode.size.width,
                                 secondScreen.currentMode.size.height);
    
UIWindow *secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
secondWindow.screen = secondScreen;
 
// Setup external view controller
YourExternalScreenViewController *extVC = [[YourExternalScreenViewController alloc] init];
// Set VC for second window
secondWindow.rootViewController = extVC;
// Show the window.
secondWindow.hidden = NO;

Там немного больше работы, но это концепция.

EDIT 2: А вот ссылка на Руководство Apple по программированию нескольких дисплеев для iOS

person nikolovski    schedule 17.07.2013
comment
Привет, вы знаете, как анимировать некоторые элементы (например, текст UIlabel с анимацией) на внешнем дисплее. Я также пытался использовать основной поток. но не повезло. результат есть, а эффекта анимации нет. - person Kumar KL; 15.04.2014

Вы можете использовать Airplay server, если хотите зеркально отразить вывод вашего мобильного устройства на экран.

person Deepak Srivastava    schedule 20.05.2013
comment
Я не хочу дублировать отображение. Пожалуйста, поймите вопрос... Мне просто нужно сделать в приложении. Мне нужно это знать, возможно или нет? - person Kumar KL; 21.05.2013
comment
Нет, исходя из моего опыта до сих пор, я не думаю, что это возможно. - person Deepak Srivastava; 21.05.2013