如何向工程项目中添加Three20库

     

Add Three20 to your project

There are two primary means of adding Three20 to your project. The first method is recommended and will automatically add Three20's libraries to your project and set up the necessary project settings. Sometimes this first method will fail, so you can fall back on the second method to add Three20 to your project by hand.

Automatically add Three20 to your project

Three20 includes a python script that adds Three20 to Xcode iOS projects. Running it without any arguments will print the script's help guide.

> python three20/src/scripts/ttmodule.py

In order to add Three20 to your project, it's recommended that you do the following:

> python three20/src/scripts/ttmodule.py -p path/to/myProject.xcodeproj Three20

This will add the Three20 module and all of its dependencies to your project.

If your target's name does not match your project's name, you will need to set it explicitly.

> python three20/src/scripts/ttmodule.py -p path/to/myProject.xcodeproj:myTargetName Three20

If the script displays errors, it's possible that your project is located in a folder with non-standard characters, such as spaces, that aren't being escaped properly. If this happens, it might be easiest to move your project to a path that doesn't contain spaces. If this is not an option, you can follow the manual directions below.

This screencast will walk you through the above process with the "Shared Layout" project layout.

 

Manually add Three20 to your project

  1. Locate the "Three20.xcodeproj" file under "three20/src/Three20/". Drag Three20.xcodeproj and drop it onto the root of your Xcode project's "Groups and Files" sidebar. A dialog will appear -- make sure "Copy items" is unchecked and "Reference Type" is "Relative to Project" before clicking "Add".

  2. Open the Three20 Xcode Project that you just added to your app and expand the "Dependencies" group. Select all of the projects listed there and drag them to your app as well. You should now have the following list of Three20 projects added to your app:

    • Three20Core
    • Three20Network
    • Three20Style
    • Three20UICommon
    • Three20UINavigator
    • Three20UI
    • Three20
  3. Link the Three20 static libraries to your project. Select all of the project items that you just added to the sidebar.Under the "Details" table, you will see a number of items, such as libThree20.a and libThree20Core.a. Check the checkbox on the far right for each of the lib files (not the UnitTests). This will link each part of the Three20 framework to your app.

  4. Add Three20 as a dependency of your project, so Xcode compiles it whenever you compile your project. Expand the "Targets" section of the sidebar and double-click your application's target. Under the "General" tab you will see a "Direct Dependencies" section. Click the "+" button, select "Three20" and each of the other libs, and click "Add Target". You do not need to add the UnitTests target for each lib.

  5. Add the bundle of images and strings to your app. Locate "Three20.bundle" under "three20/src" and drag and drop it into your project. A dialog will appear -- make sure "Create Folder References" is selected, "Copy items" is unchecked, and "Reference Type" is "Relative to Project" before clicking "Add".

  6. Add the Core Animation framework to your project. Right click on the "Frameworks" group in your project (or equivalent) and select Add > Existing Frameworks. Then locate QuartzCore.framework and add it to the project.

  7. Finally, tell your project where to find the Three20 headers. Open your "Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click it. Add the relative path from your project's directory to the "three20/Build/Products/three20" directory.

  8. While you are in Project Settings, go to "Other Linker Flags" under the "Linker" section, and add "-ObjC" to the list of flags. WARNING: Make sure that you do this for all configuration settings, not just the active one.

  9. You're ready to go. Just #import "Three20/Three20.h" anywhere you want to use Three20 classes in your project. It's recommended that you do so in a precompiled header for faster build times.

posted on 2011-12-30 14:28  xxxxcodexxxx  阅读(178)  评论(0编辑  收藏  举报