常見錯誤描述:
Undefined symbols for architecture i386: “_OBJC_CLASS_$_XXX”, referenced from: objc-class-ref in XXX ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
這個錯誤的發生原因一般是“XXX”這個文件(類庫)雖然引入了工程中,但是由於種種原因(常見於多人開發,svn同步不規范)導致“XXX”並未被添加到project.pbxproj這個文件中。
解決方法是點擊工程,在targets界面中找到Build Phases,根據提示信息“XXX”來判斷缺少什么文件,一般如果缺少自定義的文件,XXX會是缺少的類名,那么就在Complie Sources中加入該文件。如果缺少類庫,則在Link Binary With Libraries中加入該類庫。
