iOS项目框架-----BeeFramework 的使用教程
越来越多的框架在技术圈中流行。同样也使得App开发越来越迅速。开发框架为所有的开发者们带来极大的便利。 最近接手一个项目,外包公司用的是BeeFramework这个框架。 之前没有用过。 所以简单记录一下,自己使用这个框架的一些过程和问题。
构建以BeeFramework为基础框架的项目:
准备工作:
1、下载BeeFramework(非ARC)
2、下载Bee项目模板:Bee-Xcode-Template-master
3、下载一个小工具:xproj,用来批量进行ARC、非ARC混编的shell脚本。
前面三个工作做完以后。
1、在Xcode 中安装Bee项目模版
解压Bee-Xcode-Template-master,终端cd到该目录,执行以下命令
sh install.sh

2、打开Xcode,新建项目


3、command+B 编译发现 提示Bee.h引用找不到。(下图所示)

4、把下载好的BeeFramework解压。并将framework这个文件夹添加到新建的项目。


5、 再次编译,还是出现问题,这个时候就需要用到前面下载好的xproj(批量添加-fno-objc-arc)
因为BeeFramework是一个非RAC(ReactiveCocoa)的框架,现在Xcode5.0以后新建的工程,都默认是ARC工程,所以需要对BeeFramework进行混编处理。
framework目录下的所有文件都需要在Build Phases中添加-fno-objc-arc,但是文件非常多,一个个添加,我相信,你会疯掉的。此时,你就需要用到这个小工具:xproj。
第一步: 将下载后xproj的解压后的文件,拷贝到新建的Bee工程的根目录下

第二步:终端cd到工程的根目录,然后运行下面命令:
sh xproj -s (需要添加编译参数的文件所在的文件夹)(本项目就是之前拖进去的framework文件夹) -t 目标工程文件
例如:我的工程是BeeDemo,输入命令:
sh xproj -s /Users/fogaozhang/Desktop/BeeDemo/BeeDemo/framework -t /Users/fogaozhang/Desktop/BeeDemo/BeeDemo.xcodeproj

给framework中的文件添加-fno-objc-arc完成。

6、编译,发现还是不能成功。 接下去,是我个人碰到的问题记录,如果有碰到的伙伴,可以参考一下(没有就略过)。
问题1:返回值错误,手动修改,将 nil 改为 0

问题2: 引用不对

问题3: 返回类型不回

问题4:

问题5:

问题6:

这个问题出现的情况,有挺多的。 重复问题在我这里不存在,后面去stackoverflow找到这个答案,修改完成之后(For me, changing 'No Common Blocks' from Yes to No ( under Targets->Build Settings->Apple LLVM - Code Generation ) fixed the problem.),编译成功(为什么? tm全是英文没看懂😂)。
7、运行command+R 除了启动页,一片黑色。
至此,项目编译成功,可以开始创建页面了。
对于框架的详细说明以及快速开发教程,在《Developer_manual》文档中有较为详细的说明,文档在项目的Document目录下,在BeeFramework-->document-->developer_manual。
借鉴:http://blog.treney.com/index.php/archives/BeeFramework.html?utm_source=tuicool&utm_medium=referral