我有一个非常大的项目与第三方框架,并希望禁用方法调配,以确保第三方框架不会混淆默认的预期行为。 可能吗?项目设置中是否有一些标志?
答案 0 :(得分:1)
没有选项可以禁用它,但如果你避免从NSObject继承子类,那么你就是安全的。 如果你想阻止Any Library的混乱,你可以覆盖它的核心方法,即
public func class_addMethod(_ cls: Swift.AnyClass!, _ name: Selector!, _ imp: IMP!, _ types: UnsafePointer<Int8>!) -> Bool
和
public func method_exchangeImplementations(_ m1: Method!, _ m2: Method!)
喜欢这个
public func method_exchangeImplementations(_ m1: Method!, _ m2: Method!) {
}
public func class_addMethod(_ cls: Swift.AnyClass!, _ name: Selector!, _ imp: IMP!, _ types: UnsafePointer<Int8>!) -> Bool
{
return false
}
我不建议这样做,但你可以尝试一下。