2013-04-08 1 views
1

Возможно ли записать набор сенсорных событий на iPhone, а затем воспроизвести? Я искал alot, но не смог найти ответа. если возможно, кто-нибудь может объяснить пример. Я не ищу цели тестирования. В моем приложении вместо создания анимации я просто хочу записать множество событий, а затем хочу воспроизвести, чтобы объяснить поток приложений пользователям.Макросъемка в iOS

С уважением.

+0

возможно дубликат [Автоматизированное тестирование для iPhone] (http://stackoverflow.com/questions/402389/automated-testing-for-iphone) – matt

+0

@ Matt: Не боян. Если вы прочитаете вопрос, Мосиб пытается использовать события, чтобы показать пользователям, как его слово в приложении, как своего рода учебник. – zadr

ответ

2

Запись довольно проста. Посмотрите на различные «ответы на события« »и« Ответов на события движения »на UIResponder. Просто создайте свой собственный подкласс UIView (начиная с UIView наследуется от UIResponder) и сохраняйте копию событий, переданных соответствующим методам.

Воспроизведение немного сложнее; нет никакого способа сделать UITouch или UIEvent объектов (так что вы не можете сделать фальшивое событие и передать его -[UIApplication sendEvent:]). Но нет ничего, что мешает вам вручную анализировать массив объектов Event и обрабатывать его самостоятельно (кроме того, что это какой-то уродливый код).

0

Вы можете зеркалировать свое приложение с помощью AirServer и использовать любое программное обеспечение для захвата экрана для создания видео.

2

Нет встроенных возможностей макросов, но вы можете наверняка создать эту возможность в своем приложении. Тем не менее, вам нужно сделать больше, чем просто играть. Прикосновения обычно не видны, но если вы пытаетесь объяснить, как использовать ваше приложение для пользователя, вы, вероятно, захотите иметь какое-то визуальное представление для штрихов, которые вызывают разные ответы, похожие на то, как использует iOS Simulator белые точки, чтобы представить несколько касаний, когда вы удерживаете клавишу выбора.

Предполагая, что вы можете решить эту проблему, две стратегии легко записи действий пользователя приходят на ум:

  • Используйте Undo менеджер: NSUndoManager уже настроен на «запись» невыполнимым события. Если вы потратите некоторое время на то, чтобы сделать все в своем приложении недействительным, вы могли бы (возможно) выполнить набор действий, отменить их всех, чтобы переместить их в стек повтора, а затем сохранить события в стеке повтора в качестве своего скрипта.

  • Доступность: Рамка Accessibility отправляет уведомления при каждом касании элементов пользовательского интерфейса. Ваше приложение может использовать эти уведомления для создания сценария воспроизведения. Однако вам все равно придется писать код для воспроизведения событий в скрипте.