2

iOS 6.1 に付属するデフォルトの MobileSMS アプリで SMS を送信するための微調整を作成しています。「送信」ボタンにフックすることはできましたが、ユーザーに通知するためのポップアップを作成できませUIAlertViewUIViewController。問題は、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];
    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

これを乗り越える方法はありますか、それとも再設計する必要がありますか?

前もって感謝します、

パナギオティス。

4

1 に答える 1

2

で得られるようなものを単に作成しようとしている場合は、適切なビュー階層がない状況でもUIAlertViewを使用できるはずです。CFUserNotificationCreate()

KennyTM によるこの回答、または私がここに投稿した別の回答を参照してください...デーモンからユーザーに通知セクションの項目 (2) にスキップします。

于 2013-10-26T03:21:13.440 に答える