Я создаю настройку для отправки SMS в приложении MobileSMS по умолчанию, которое поставляется с iOS 6.1. Несмотря на то, что мне удалось подключиться к кнопке «Отправить», я не могу создать всплывающее окно для информирования пользователя ни с помощью UIAlertView
, ни с помощью UIViewController
. Я думаю, проблема в том, что класс CTMmsEncoder
, к которому я подключаюсь, не имеет контроллера представления, который можно было бы каким-то образом переопределить.
Мой вопрос в том, есть ли способ заставить представление появиться в такой ситуации. Я просмотрел множество исходных кодов для твиков, но не могу найти похожий случай. Я даже пытался создать dylib и загрузить оттуда UIViewController, но получил (ожидаемую) ошибку:
Oct 25 14:37:59 Pudge SpringBoard[950] <Warning>: Warning: Attempt to present <ModalViewController: 0x1dbbe1a0> on <KSMSDylibViewOne: 0x1db7da50> whose view is not in the window hierarchy!
При попытке реализовать класс с ViewController непосредственно в моем твике (скажем класс ModalViewController), то Theos явно выдает ошибку:
Tweak.xm:12:6: error: instance method 'presentViewController:animated:completion:' is being used on 'Class' which is not in the root class
[-Werror,-Wobjc-method-access]
[self presentViewController:view animated:YES completion:nil];
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Есть ли способ обойти это, или мне нужно переделывать?
Заранее спасибо,
Панайотис.