2013-02-26 4 views
2

Мне в основном нужно выяснить, есть ли способ захвата движений или нажатий клавиш игры, таких как «Angry Birds» и т. Д., Используя прикосновение экран iPhone и сохранить их в файл на устройстве.захватывающие движения или нажатия клавиш в виде игры (Angry Bird) с использованием сенсорного экрана iphone

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

Пожалуйста, дай мне есть какой-либо способ добиться того же. Ваша помощь будет оценена по достоинству. Спасибо In Advance

+0

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

+0

Hi @CodaFi Спасибо за ваш ответ. Можете ли вы уточнить этот термин: «Вы можете настроить процесс демона для контроля цикла событий кварца». ? – NSExpression

ответ

0

То, что вы пытаетесь сделать, может быть легко достигнуто с помощью MobileSubstrate, очень мощной структуры, созданной Jay Freeman, которая позволяет вам изменять практически любую функцию любого процесса во время выполнения. Среда построения theos, Dustin Howett, может использоваться вместо Xcode, с препроцессором Logos, создающим все это, казалось бы, сложное вредоносное очень очень простая задача.

Нечто подобное может быть выполнено с очень небольшим количеством кода.

Пример:

%hook UIApplication //Hooks into the UIApplication class. 

- (void)sendEvent:(id)arg1{//Hook the sendEvent function, the function which handles all events passed to a UIApplication. 

    if([arg1 isKindOfClass:%c(UITouchesEvent)]){//Make sure we're not processing other events, such as device rotation. 

    for(UITouch *touch in [arg1 allTouches]) 
     NSLog(@"Touch recorded: %@", NSStringFromCGPoint([touch locationInView: [[UIApplication sharedApplication] keyWindow]])); 

    } 

    %orig;//Call the original function, so the app can still process the events, and we don't eat them all. 

} 

Как вы можете видеть, это на самом деле довольно просто.

К сожалению, джейлбрейк-устройства - это ваш единственный вариант. Очевидно, что вы не сможете добавить ничего подобного в App Store. Однако Cydia стала очень важной частью iOS, и успех через нее можно достичь так же легко, если не проще, чем что-то в App Store.