1. llvm3.0 must be used to use arc. llvm3.0 has a powerful new feature called automatic reference counting. After this option is enabled, llvm will automatically help developers to manage the memory manually during the compilation phase. At the same time, retain, release, and autorelease in all code will be marked as errors. That is to say, we do not need to manage the memory in a way that is too painful. Arc not only fixes errors, but also enhances performance. According to WWDC
During the 2011 conference, retain/release was 2.5 times faster, @ autoreleasepool was 6 times faster, and objc_msgsend was 33% faster. If you do not need an arc file, add the "-fno-objc-arc" Compilation option.
2. When arc is not used, the compiler can use GCC or llvm3.0.
3. introduced the C ++ static library. The. M files related to the static library should be changed to. Mm files, including appdelegate. M and Main. M.
4. Do not forget to configure header search paths
5. If the introduced static library contains category, add-objc and-all_load to the other linker flag.