This library for iOS acts as a watchdog for activities on the Core Audio thread that are considered unsafe:
It works by overriding a number of system functions, including malloc, free, objcstoreStrong, objcmsgSend (for 64-bit devices and the 64-bit simulator only, for now), pthreadmutexlock and objcsyncenter, read, write, etc. When a call is intercepted, a warning is printed to the console. You can also put a breakpoint on AERealtimeWatchdogUnsafeActivityWarning.
It won’t catch everything, and it won’t catch anything in Apple’s own system code, but it’ll catch some locks, some memory allocation, all Objective-C use (but not Swift), all object retains, and some common IO tasks, in your code and that of any static libraries you’re using.
Core Audio, Cordially: A sophisticated framework for iOS audio applications, built so you don't have to.
This is a relatively universal, drop-in solution: UIScrollView and UITableView subclasses that handle everything.When the keyboard is about to appear, the subclass will find the subview that's about to be edited, and adjust its frame and content offset to make sure that view is visible, with an animation to match the keyboard pop-up. When the keyboard disappears, it restores its prior size.