我正在使用 Objective-C 进行元编程,并尝试自动化一些应用程序功能。因此,我没有更改应用程序的源代码文件和视图控制器,而是从另一个文件中获取 UI 导航堆栈,并且我正在使用Objective-C 运行时参考来查找可点击的 UI 元素和操作。例如对于一个按钮,我找到了目标和操作并调用 objc_msgSend 以编程方式触发事件。
step = (NSObject *)objc_msgSend(element.target, NSSelectorFromString(element.action));
但是,我需要在操作完成时收到通知,或者换句话说,我需要等到操作完成,然后继续我的自动化。我正在考虑使用 NSNotificationCenter
//引发事件 [[NSNotificationCenter defaultCenter] postNotificationName:FIRE_EVENT_NOTIFICATION object:self];
但看起来不像工作。
我什至在考虑使用类别或所以我不确定是否有任何等待 objc_msgSend 以及我应该在哪里继续。