Architecture (架构)
1. Additional SDKs2. architectures
standard Architectures 选择标准架构, 引用的静态库必须支持
3. Base SDK
4. Build Active Architecture Only
将Build Active Architecture Only改为Yes,但是此种方法都是只会支持armv7和向下兼容,如果想要兼容armv7s,就最好将.a文件用armv7s编译,这样就兼容armv7了
armv6: iPhone 2G/3G,iPod 1G/2G
armv7: iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G
armv7s:iPhone5
arm64: iPhone5s
armv6、armv7、armv7s是armCPU的指令集,一般是向下兼容的。如iPhone4sCPU支持armv7,但它会兼容armv6,只是使用armv6指令可能无法充分发挥它的特性。同理iPhone5是完全支持armv7的,所以不用担心armv7的库不能在iPhone5上跑,一般情况是不会出问题的。但需要提醒的是,苹果是自Xcode4.5之后,就放弃了对armv6的支持,换言之,就是Xcode4.5正常情况是不能编译armv6库的。还有一点提醒大家,就是可能Xcode4.5编译的包没有armv6,提交应用上传时,会提示要支持armv6,将支持的最低版本发为iOS4.3就OK。
arm64: iPhone5s
5.Valid Architectures:应用框架
Build Options (编译选项)
Code Signing (代码签证)
Code Signing Identity 真机调试的证书选择
xcode provisioning profile 配置文件
Deployment (部署)
Kernel Module (内核模式)
Linking (链接)
Packaging (包)
Public Headers Folder Path:对外公开的头文件路径 一般为include
Search Paths (搜索路径)
Header Search Paths:外部头文件路径一般设置为$(SRCROOT)/../include
Library Search Paths:库搜索路径一般设置为$(SRCROOT)/.a文件所在的文件路径
多个.a文件格式就像这样(系统有时会自动生成)
$(inherited) "$(SRCROOT)/xxxx" "$(SRCROOT)/xx"
其中宏$(SRCROOT)代表工程路径,后面只需补全文件路径即可,系统将自动生成完整路径.像这种库文件路径错误经常在团队开发(SVN)出现,因为自动生成的路径往往是绝对路径,其他成员更新代码后就会出现编译错误
Unit Testing (测试)
Versioning (版本)
Code Generation (代码生成)
Custom Compiler Flags (自定义的编译器标志)
Language (语言)
Preprocessing (预处理)
Warnings (警告)