It recently came to my attention that NSAssert only works in debug mode. Is there an analog that will work in normal builds?
You are right. Xcode automatically turns off assertions for release builds. If you really want to have them in your release build you can remove the -DNS_BLOCK_ASSERTIONS=1
flag from Other C / C++ flags in your build settings.