RunTime - linhay/Stem GitHub Wiki

RunTime

public class RunTime

Properties

hookSetAssociatedObjectPoint

全局hook objc_setAssociatedObject 唯一指针

var hookSetAssociatedObjectPoint

print

DEBUG
let print

Methods

exchange(selector:by:class:kind:)

交换方法

public static func exchange(selector: String, by newSelector: String, class classType: AnyClass, kind: MethodKind = .instance)

Parameters

  • selector: - selector: 被交换的方法
  • newSelector: - newSelector: 用于交换的方法
  • classType: - classType: 所属类型
  • kind: - kind: 方法类型 | [类方法 | 对象方法]

exchange(selector:by:class:kind:)

交换方法

public static func exchange(selector: Selector, by newSelector: Selector, class classType: AnyClass, kind: MethodKind = .instance)

Parameters

  • selector: - selector: 被交换的方法
  • newSelector: - newSelector: 用于交换的方法
  • classType: - classType: 所属类型
  • kind: - kind: 方法类型 | [类方法 | 对象方法]

classList()

获取已注册类列表

public static func classList() -> [AnyClass]

Returns

已注册类列表

hookSetAssociatedObject(hook:)

全局hook objc_setAssociatedObject 函数

@available(OSX 10.15, *) @available(iOS 13.0, *) @available(tvOS 13.0, *) @available(watchOS 6.0, *) static func hookSetAssociatedObject(hook: objc_hook_setAssociatedObject?)

Parameters

  • call: - call: call

metaclass(from:)

获取类型元类

static func metaclass(from classType: AnyClass) -> AnyClass?

Parameters

  • classType: - classType: 类型

Returns

元类

instanceSize(from:)

获取该类的实例变量大小

static func instanceSize(from classType: AnyClass) -> Int

Parameters

  • classType: - classType: 类型

Returns

实例变量大小

methods(from:)

获取方法列表

static func methods(from classType: AnyClass) -> [Method]

Parameters

  • classType: - classType: 所属类型

Returns

方法列表

properties(from:)

获取属性列表

static func properties(from classType: AnyClass) -> [objc_property_t]

Parameters

  • classType: - classType: 所属类型

Returns

属性列表

protocols(from:)

获取协议列表

static func protocols(from classType: AnyClass) -> [Protocol]

Parameters

  • classType: - classType: 所属类型

Returns

协议列表

ivars(from:)

成员变量列表

static func ivars(from classType: AnyClass) -> [Ivar]

Parameters

  • classType: - classType: 类型

Returns

成员变量

get_list(close:format:)

static func get_list<T, U>(close: ( _ outcount: inout UInt32) -> AutoreleasingUnsafeMutablePointer<T>?, format: (T) -> U) -> [U]

get_list(close:format:)

static func get_list<T, U>(close: ( _ outcount: inout UInt32) -> UnsafeMutablePointer<T>?, format: (T) -> U) -> [U]
⚠️ **GitHub.com Fallback** ⚠️