5.删掉以后,再编译,我突然看到一个红色的错误的感叹号,你知道这个红色的感叹号是多么的可爱么,就像在垂死的边缘的一个救命稻草.我打开一看,我激动的都快哭了,提示 Undefined symbols for architecture arm64 一大堆,clang:error :linker command failed with exit code .
我终于找到害我的罪魁祸首,但是不心情也是很忐忑,因为提示的这个文件是我接手之前的一个静态编译库,只有.a文件的接口. 立马一封邮件到日本: "调查发现XX文件不支持arm64位,我需要时间,请等待."
6.开始解决这个问题
首先静态库,不支持,也无法改变,直接删掉,在其他代码中删除调用的地方,先编译通过再说.
时间过去了半个小时.还好这个库,用到的地方不多,之前代码中有进行替换,这里就不说了.
7.编译通过,发现界面的颜色都变了,怎么回事,白色变成绿色,其他颜色全成黑色了,我菜鸟啊,不懂,我猜测是不是我改错了,然后把代码又折腾一遍,发现没动这块啊,颜色这和我改的地方没关系啊,我特么的疯了.时间又过去了半个小时.不管了,我先尝试上传到appstore 试试,发现现在不提ERROR ITMS-90086: Missing 64-bit support.Beginning on February 1 错误了,成功上传.那么接下来就是颜色的问题了.
8.我沉默了,静静的坐着,嘴里默念颜色怎么回事,我突然意识到是颜色出问题了,那就是加载颜色的代码出问题了,我特么的看其他代码干什么,(主要是对自己不自信,以为自己改出问题了.)调出颜色改变的代码 这个时候10分钟又过去了. 看到这段代码我猛然间脑海中闪过一个64位适配的问题,之前64位刚出来要是被的时候了解的.不要将指针类型pointer赋值给整型int (64-bit导致地址数据丢失).我的代码是
const float *components = CGColorGetComponents(color.CGColor);
通过这两项,我不是很懂,但我知道这里有猫腻,直接换成
const CGFloat *components = CGColorGetComponents(color.CGColor);
9.默默的编译,完成,颜色ok ,完美解决.最后的问题是大家猜我几点下班?
参考: 64位 对应问题 http://www.codeceo.com/article/ios-64-bit.html
http://www.open-open.com/lib/view/open1420697675843.html