从reMail中获取MailCore框架
如果你下载了MailCore,那么你下载可能在为编译MailCore而苦恼。
reMail被Google收购后,终于开源了。尽管它运行时也会出错(崩溃) ,但经过简单的处理后,它好歹还是编译通过了。 由于reMail使用了MailCore框架,因此,我们可以从reMail中获得一个可编译的MailCore框架。
根据reMail安装指南,reMail需要安装 Mercurial和Git,如果你的机器上没有安装这两个东西,你可以在这里下载它们:
Mercurial:http://mercurial.selenic.com/
Git:http://code.google.com/p/git-osx-installer/
然后,我们就可以下载reMail项目了:
hg clone https://remail-iphone.googlecode.com/hg/remail-iphone
进入下载目录remail-iphone,运行脚本:
sh pull_dependencies.sh
该命令会自动下载reMail项目依赖的两个主要框架three20和MailCore。 这两个整个过程会比较长(1个多小时),大家做好心理准备。
pull_dependencies.sh脚本执行完毕,可以在 remail-iphone的同级目录下,看到两个新增的目录:three20合MailCore,其中包含了两个框架的源文件。
一、编译Remail
打开ReMailIPhone.xcodeproj,Scheme选择“ReMail”,Build。
由于 Xcode4.2的一个bug,当编译到CTCoreFolder.m文件时,编译器会报一个错误:
Implicit declaration of function 'uid_list_to_env_list' is invalid in C99
这是由于,当编译器在看见函数'uid_list_to_env_list'定义时,未发现该函数原型。解决方法是在函数定义之前加入函数原型声明。
注意:要解决此错误,可以把函数原型插入到类的interface声明内(.h头文件),也可以把函数原型插入到类的implementation语句之前(.m文件)。
打开CTCoreFolder.h头文件,在@end语句之前插入函数原型声明,即可解决此错误。
Build,ReMail即可在模拟器中运行。
二、拷贝MailCore项目
现在,可以把MailCore项目移植到你的Xcode项目中了。
新建Xcode项目(本例中的项目名称未TestApp),将MailCore整个目录拷贝到新项目的文件夹下(在Finder中操作),如下图所示:
--TestApp
----MailCore
----TestApp
----TestApp.xodeproj
将MailCore文件夹从上图的Finder窗口拖到TestApp的Xcode出口中
。打开TestApp的Build Phases窗口,将MailCore项目增加为TestApp的依赖项目(子项目),如下图所示:
在LinkedBinary With Libraries中增加如下框架和库:
转到Build Settings窗口,在Header Search Paths中增加如下头文件路径:
注意:勾选Recursive选择。
编译TestApp,如果没有任何错误,表明MailCore框架添加成功。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>