objc_retainAutoreleaseReturnValue()
and the related methods from the
ARC runtime support are defined in /usr/lib/libobjc.A.dylib
, but not exposed in the
public header files.
When you download http://www.opensource.apple.com/source/objc4/objc4-551.1/ you will find the prototypes in "runtime/objc-internal.h", for example
// wraps objc_autorelease(objc_retain(obj)) in a useful way when used with return values
OBJC_EXPORT
id
objc_retainAutoreleaseReturnValue(id obj)
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
But I have no idea whether or not it is safe to call these internal runtime functions in your code. Some of them do very special things (like inspecting the callers code to check if an object has to be put into the autorelease pool or not).