Obtain details of categories on a class at runtime?

In Objective-C, is there a way to list the categories on a particular class at runtime?

With the Objective-C runtime functions I can obtain details for the class and instance methods, class hierarchy, instance variables, etc. but seemingly not the category information.

  • Runtime error handling in Swift
  • How to override a method in framework's class (runtime)
  • How to list variables for NSManagedObject
  • iOS - Linking framework storyboard to ViewController for use in main project
  • object_setClass to bigger class
  • Dynamically change an object's superclass
  • Looking at F-Script, I see that it doesn’t display category information (indeed, it appears not to display methods from categories at all). On the other hand, class-dump extracts category information but this is from the binary and not at runtime.

    There’s a mention of struct objc_category in objc/runtime.h but this looks to be private. Is there a supported way?

    Solutions Collect From Internet About “Obtain details of categories on a class at runtime?”

    from “The Objective-C Programming Language” in the SDK doc:

    Category methods can do anything that methods defined in the class proper can do. At runtime, there’s no difference.

    the support for objc_category struct has been removed with modern objective-c (ios, 10.5), making this information opaque.

    I’m afraid you can’t get the information you want.