I want to write an Anti-debugging/Anti-disassembly program that will make the binary it is protecting secure against tampering while on disk and in memory (like cryptanium). What are the best resources for this (books)? (Mac OS X/iOs initially, it may be ported to Windows, android latter).
Protecting an executable binary against reverse engineering without hardware means is generally recognized to be impossible, regardless of the source language. The best that you can hope for is to use an obfuscator to make the disassembled code difficult to manually reverse engineer. This will stop low-budget hackers but will have no effect on high-budget hackers (corporate level) who have de-obfuscation software that can reduce the obfuscated code to minimal execution paths. At the very best it will delay reverse-engineering.
However, obfucators can be an effective means of protecting low-value code. If the code that you are writing isn't worth the effort to de-obfuscate, then there is a low chance that anyone will bother to try.
Writing a good obfuscator requires expertise that you need to gather from many different sources. There is an annual contest for C obfuscators. You might start there. Note that most of the examples are not general obfuscators, but are simply examples of obfuscated source. See also this post to Programmers Stack Exchange.
There are a small number of commercial products, such as Rummage for .NET. IMHO the small number of commercial offerings is testiment to the inefectiveness of the technique except for low-value code.