当前位置:编程学习 > wap >>

从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'定义时,未发现该函数原型。解决方法是在函数定义之前加入函数原型声明。

 

注意:要解决此错误,可以把函数原型插入到类的inte易做图ce声明内(.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框架添加成功。

 

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,