1.之前在开始做项目的时候, 总共有两个需求, 一个是写一个SDK, 另一个是做一个完整的项目, SDK和APP 大概有70%的相似度,所以开始从APP 下手, 在APP 做的差不多的时候, 开始做SDK, 本来打算在建一个项目开始写SDK, 但是最后说要并行开发, 我也就偷懒, 将SDK 和 APP写在了一起, 刚开始,觉得还挺好的, 都在一个项目中, 调试方便, 但是现在项目要准备上线了, 需要将SDK从项目中分离出来, 本来觉得很简单, 将SDK写的内容删了就行了, 但是并不是这样, 因为, 项目中用到了6家的SDK 配置东西太多, 时间久了, 配置的东西都忘了, 分离出来后总共有几十个错误, 别的错误还能搞定, 另外出现了两个错误,花费了好长时间才解决掉.
错误一:
dyld: Symbol not found: _OBJC_CLASS_$_UIBlurEffect
Referenced from: /var/mobile/Applications/F86B0407-C5CC-4209-BFED-4C5813491495/yimintong.app/yimintong Expected in: /System/Library/Frameworks/UIKit.framework/UIKit
in /var/mobile/Applications/F86B0407-C5CC-4209-BFED-4C5813491495/yimintong.app/yimintong
这个错误的意思是在UIKit框架中没有找到_UIBlurEffect
这个类, 因为运行在ios7上才会有这个问题, 因为ios8才出现毛玻璃效果, 所以在UIKit框架中并不包含这个类,所以才会报错.
解决办法:
就是在导入的UIKit框架中改为Optional.完美解决问题
错误二:
程序一运行就出现这个错误, 本来以为用到了一些私有的API导致这个问题, 但是想了想, 我基本上是没有用的, 难道是拷别人的代码里有,我就把代码检查了一下, 是没有这个问题的 , 然后就Google一下, 发现是在创建项目的时候用的中文名称
build Setting ->product Name
会显示中文, 然后就改成了英文, 解决问题.建议修改名称最好在info.plist 文件
bundle display name
下更改名称错误三:
这个错误是不小心导致的, 在分离项目时,将程序的main.m文件多复制了一份,拖入到了新项目中, 删除一份main.,m文件就可以了