私はObjective-Cでメタプログラミングを行っており、アプリケーション機能の一部を自動化しようとしています。したがって、アプリケーションのソースコードファイルとビューコントローラーを変更するのではなく、UIナビゲーションスタックを取得するために管理している別のファイルから、Objective-Cランタイムリファレンスを使用してタップ可能なUI要素とアクションを検索しています。たとえば、ボタンの場合、ターゲットとアクションを見つけ、objc_msgSendを呼び出してプログラムでイベントを発生させます。
ステップ=(NSObject *)objc_msgSend(element.target、NSSelectorFromString(element.action));
ただし、アクションが完了したときに通知を受ける必要があります。つまり、アクションが完了するまで待ってから自動化を続行する必要があります。NSNotificationCenterの使用を考えていました
//イベントを発生させる[[NSNotificationCenterdefaultCenter]postNotificationName:FIRE_EVENT_NOTIFICATION object:self];
しかし、働いているようには見えません。
カテゴリを使用することも考えているので、objc_msgSendを待つ必要があるかどうか、どこに進むべきかわかりません。