2014年3月25日

关于Build Active Architecture Only属性

摘要: 关于Build Active Architecture Only属性Architecture 属性在BuildSetting里。这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。而设置为no时,会编译所有的版本。这个是设备对应的architecture:armv6:iPhone 2G/3G,iPod 1G/2Garmv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3Garmv7s:iPhone5, iPod5编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iph 阅读全文

posted @ 2014-03-25 11:26 Mallory 阅读(184) 评论(0) 推荐(0) 编辑

关于Xcode的Other Linker Flags

摘要: 背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker Flags到底是用来干什么的呢?还有-ObjC和-all_load到底发挥了什么作用呢?链接器首先,要说明一下Other Linker Flags到底是用来干嘛的。说白了,就是ld命令除了默认参数外的其他参数。ld命令实现的是链接器的工作,详细说明 阅读全文

posted @ 2014-03-25 11:23 Mallory 阅读(193) 评论(0) 推荐(1) 编辑

Undefined symbols for architecture i386

摘要: 这个错误的发生原因一般是“XXX”这个文件(类库)虽然引入了工程中,但是由于种种原因(常见于多人开发,svn同步不规范)导致“XXX”并未被添加到project.pbxproj这个文件中。解决方法是点击工程,在targets界面中找到Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。Undefined symbols for architecture i386:解决方法:是编译器没有找到程序的入 阅读全文

posted @ 2014-03-25 11:20 Mallory 阅读(135) 评论(0) 推荐(0) 编辑

导航