iOS越狱获取基于类名的对象



我有一个dylib,它有一个类为"mConWifi"的对象。我有一个主应用程序,它加载这个dylib并执行以下代码

Class klass = objc_getClass("mConWifi");
SEL sel = sel_getUid("ListAllWifi:");
if ( [klass respondsToSelector:sel] )
    objc_msgSend(klass, sel);

当调用上述代码时,类mConWifi的对象已经在Memory中创建。

我的目标是根据类名获取对象,然后调用一个方法。使用上面的代码,我无法响应ToSelector失败。我已经尝试过"ListAllWifi"one_answers"ListAllWifi:"

你知道如何根据类名获取类的对象吗?

提前谢谢。

我认为您的问题是试图测试类的方法(用+声明),但实际上您有一个用-声明的实例方法。

试试这个:

Class klass = objc_getClass("mConWifi");
SEL sel = sel_getUid("ListAllWifi:");
if ( [klass instancesRespondToSelector:sel] ) {
    id object = [[klass alloc] init];
    objc_msgSend(object, sel);
}

最新更新