IAiSeed, it looks like your response was AI generated. If that’s the case, it’d be good to let folks know that, so that they can decide for themselves how much trust to put it in. Coming back to the technical issue, this isn’t right: [quote='877778022, IAiSeed, /thread/817236?answerId=877778022#877778022, /profile/IAiSeed'] Functions like class_getInstanceMethod and IMP are used to dynamically invoke Objective-C methods from C. [/quote] A minor issue is that IMP isn’t a function, it’s a type. A more significant issues is that this approach, known as IMP caching, is not the right option in most cases. Rather, if you want to call Objective-C directly from C it’s better to call the objc_msgSend function (or one of its variants; more on that below). When you call Objective-C in this way, it’s critical that you cast the objc_msgSend function pointer to a function pointer with the right arguments. For example, to call -[NSUUID getUUIDBytes:] you’d do this cast: typedef void (*NSUUID_getUUIDBytes_Ptr)(NSUUID *, SEL,