2013-02-22 5 views
1

Я пытаюсь выяснить, как я могу переключить текущий вызов на выход аудио через громкоговоритель (как будто человек должен был нажать «динамик» в приложении телефона. В идеале, я хочу принять вызов на громкоговорителе, но один шаг за шагом!Переключить вызов на динамик - iOS private api

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

Первоначально, я ожидал, что он будет присутствовать в CTCall.h, но ничего полезного (в этом отношении) не там ..

Кто-нибудь K теперь, где найден соответствующий метод?

Большое спасибо :)

+0

ли это будет приложение доступно только через джейлбрейк? Если нет, я уверен, что это невозможно. –

+0

@max_ это правильно, из-за использования частных API-интерфейсов он не будет доступен в App Store –

ответ

2

Несколько идей:

1) Посмотрите на широкий генерации системных событий. Вы можете щелкнуть программно по требуемой кнопке (кнопка «Динамик» или «Ответ»). Вот несколько вопросов относительно этого:

Simulating System Wide Touch Events on iOS

Simulating System Wide Touch Events in iOS without jailbreaking the device

How to send a touch event to iPhone OS?

Вы можете быть заинтересованы в Google больше GSEvent, которая является ключом для равномерного моделирования.

2) Перейти к папке симулятора (/Application/XCode/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk

и сделать что-то вроде этого

Grep - R «Динамик» ./

идея заключается в том, чтобы найти динамик в двоичные файлы (по сравнению с заголовочных файлов). Большинство частных API, которые не описаны в заголовочных файлах (это одна из причин, почему они являются частными).

Я считаю, пару интересных хитов являются:

  • TelephoneUI частная структура
  • AudioToolbox рамки (BTW. Он даже имеет в .h файлах следующие вещи: kAudioSessionOverrrideAudioRoute_Speaker)
  • AVFoundation framewokr
  • IOKit * основа (она имеет kIOAudioOutputPortSubTypeExternalSpeaker в .h файлах)

и так далее.

Следующим шагом было бы разобрать их. В большинстве этих фреймворков есть много интересных API, которые не определены в файлах .h. Это полезно для браузера через них, чтобы проверить, найдете ли вы что-нибудь интересное на эту тему.

Если вы не хотите возиться с разборкой, вы можете получить извлекаемые заголовки отсюда: https://github.com/nst/iOS-Runtime-Headers/tree/master/PrivateFrameworks

Смежные вопросы