Three20框架的使用(Xcode3.2)
- 在three20/src/Three20/目录下找到Three20.xcodeproj,将它拖到你的项目的Groups and Files根目录下。在弹出窗口中,确认不要选中Copy Items,同时Reference Type为Relative to Project。然后点击Add。
- 打开你刚刚加入的Three20项目,在Groups and Files中展开Dependencies。选中所有下面列出的项目并拖到你的app中:
- Three20Core
- Three20Network
- Three20Style
- Three20UICommon
- Three20UINavigator
- Three20UI
- Three20
- 将Three20静态库链接到你的项目。选择你刚才加入的所有项目,在Details列表中,你会看到类似libThree20.a和libThree20Core.a这样的项目,在每个lib文件(不是UnitTests单元测试文件)最右边打上勾。这会把Three20框架的每一部分都链接到你的app中。
- 把Three20作为你的项目的依赖库,这样Xcode会在每次编译你的项目的同时编译Three20。打开Targets,双击你的target。在General标签页,找到Direct Dependencies节。点击+号按钮,选择Three20及其他lib,点击Add Target。但不要加入每个lib的UnitTests。
- 在你的app中加入资源束。在three20/src下找到Three20.bundle,将它拖到你的项目中。弹出窗口中,确保选中“Create Folder Reference”,反选Copy items,Reference Type选择Relative to Project,然后点击Add。
- 在项目中加入Core Animation框架(QuartzCore.framework)。
- 打开Project Settings,定位到Build标签页。找到Header Search Paths,将three20/Build/Products/three20目录相对于你的项目的相对路径加入其中。
- 同时,Linker下的Other Linker Flags中加入-ObjC标志。确保所有配置都被设置。
- 在项目中使用Three20时,加入#import “Three20/Three20.h”,建议你将它放在预编译头文件中。
Xcode 4 迁移指南
苹果将Xcode4作为首选的iOS开发环境,因此许多人将从Xcode3.2迁移到了Xcode4。本指南将帮助你将你的app顺利迁移至Xcode4。
你需要做的什么
对于存在的项目
如果你想在Xcode4中打开用Xcode3.2开发的工程,你仅仅需要运行ttmodule:
> python three20/src/scripts/ttmodule.py -ppath/to/your/project/project.xcodeproj Three20 --xcode-version=4
这将在你的项目中加入两个头文件搜索路径:
"$(BUILT_PRODUCTS_DIR)/../three20""$(BUILT_PRODUCTS_DIR)/../../three20"
如果你不想使用ttmodule,你可以手动进行。简单地修改目标设置,将两个值添加到Header Search Paths中。请确保用双引号括住路径。这是预防你的路径中包含有空格的情况,如果没有引号,Xcode会将空格视作两个路径之间的分隔符。我们将这两项加在已有的搜索路径前,因为我们想优先搜索这两个路径。
对于新建项目
请使用ttmodule 脚本将Three20加到你的项目中。我们目前不直接支持工作空间。
请注意!
在迁移到Xcode4之前,请清除three20/Build目录除了ignoreme文件。这是为了防止你万一使用到老版本的Three20头文件。
其他细节
Build输出默认是“deriveddata location”。这是假定Three20生态系统处于以下环境:它自己管理build输出的位置。当你在Xcode4中打开Xcode3.2工程时,它将用一个新的“deriveddata location”编译你的Three20依赖工程。当你的app用../three20/Build/Products/three20去搜索Three20头文件时,应该无法找到文件。如果找到文件的话,则说明你仍然使用了从Xcode3.2遗留下来的文件。我们通过增加一个额外的搜索路径以及Xcode版本检测和条件编译来解决这个问题。