首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS上扩展激活器来识别新的输入手势?

如何在iOS上扩展激活器来识别新的输入手势?
EN

Stack Overflow用户
提问于 2013-03-16 03:58:18
回答 1查看 442关注 0票数 2

我正在iOS上开发一个定制的越狱解决方案。我试图在Activator中添加新的触发器。具体来说,我试图为主按钮定义一个点击释放-点击和保持的行为,尽管理论上这可以适用于任何设备输入。

现在,我非常熟悉MobileSubstrate,它允许您在运行时针对现有类执行方法摆动 (请参阅这里获得更多信息:http://iphonedevwiki.net/index.php/MobileSubstrate),并提供其他特性和好处。但是,我不知道如何将其插入Activator,因为我没有访问代码的权限,虽然我可以使用ClassDump导出Activator的头部并筛选它们,但Activator是一个极其复杂的应用程序,所以我希望其他人知道这个粗略的“注入点”(因为没有一个更好的术语),它可以让我朝着正确的方向前进。

请注意,虽然我可以在系统级别上简单地听我的动作,但这样做会导致短路激活器,它会违背我试图完成的任务的目的,这就是添加一个可以与激活器一起使用的新动作:如果你愿意的话,一个激活器扩展。

那么,有没有人有任何信息,或一个很好的起点来实现这一点?我希望有一个小小的方向,这样我就不必撕开代码的整个头类转储。

EN

回答 1

Stack Overflow用户

发布于 2013-07-25 06:50:46

似乎你想做一些类似LAEvent的东西。以下是一些信息可以帮助您开始:

  1. 实现LAEventDataSource协议 @ LAEventDataSource @required - (NSString *)localizedTitleForEventName:(NSString *)eventName;- (NSString *)localizedGroupForEventName:(NSString *)eventName;- (NSString *)localizedDescriptionForEventName:(NSString *)eventName;@可选-(eventName*)eventWithNameIsHidden:(NSString *)eventName;-(BOOL*)eventWithName:(NSString*)NSString:(*);@end
  2. 注册事件数据源 @interface LAActivator : NSObject - (void)registerEventDataSource:(id)dataSource forEventName:(NSString *)eventName;@end 现在,您的事件在availableEventNames属性LAActivator中可用。 @property (非原子,只读) NSArray *availableEventNames;
  3. 发送事件 @ LAEvent : NSObject + (id)eventWithName:(NSString *)name;+ (id)eventWithName:(NSString *)name模式:(NSString*)模式;- (id)initWithName:(NSString *)name;- (id)initWithName:(NSString *)name模式:(NSString*)模式;@end @interface LAActivator : NSObject - (void)sendEventToListener:(LAEvent *)event;@end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15445399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档