Wes*_*ton 5 macos cocoa objective-c
我想创建一个类似于TextExpander的应用程序,但我不确定你将如何拦截文本.据我所知,我需要从NSAccessability开始.任何人都可以分享一些片段,或者至少指出我正确的方向吗?
首先,您应该知道,由于沙盒要求,如果您想在App Store中销售应用程序,则根本不可能.
如果您不打算对应用程序进行沙盒处理,则可以使用NSEvent类方法addGlobalMonitorForEventsMatchingMask:创建一个全局键事件处理程序,该句柄在其他应用程序中按下键时会被调用(但不是您自己的应用程序,请使用addLocalMonitor...它).
要实际插入片段,如TextExpander,有几种方法.您可以使用辅助功能API,但这要求您定位的应用程序支持辅助功能,但情况并非总是如此.
另一种选择是使用Quartz Event Services(CGEvent)API,它提供(除其他外)一种低级方法来模拟关键事件.