我曾经破解像
这样的方法 git commit -m "<commit message>" <project directory path>
它在iOS10及以前版本中运行良好,但它无法在iOS11中运行,我们可以在iOS11中调用[]方法吗?
答案 0 :(得分:0)
从iOS 11开始,由于某些原因我还在研究,只能调用一次混合方法。
static dispatch_once_t once;
dispatch_once(&once, ^{
Method originalMethod = class_getInstanceMethod([NSArray class], @selector(objectAtIndexedSubscript:));
Method swapMethod = class_getInstanceMethod([NSArray class], @selector(objectAtIndexedSubscriptNew:));
method_exchangeImplementations(originalMethod, swapMethod);
});
答案 1 :(得分:-1)
我将课程从[NSArray class]
更改为NSClassFromString(@"__NSArrayI")
,现在效果很好。