分类: 嵌入式
2012-01-19 15:03:37
经常用 Visual Studio 的朋友可能都熟悉该IDE中的向导模板,类似的项目工程都有固定的模式,框架,库结构等。在开发iPhone 的时候也可以自己定制这样的模板,提高我们的开发效率。
这一回就介绍一下创建模板的方法。
拷贝iPhone应用程序的模板一般保存在下面的路径:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/
首先拷贝这个文件夹到下面的路径,作为我们的基础模板。
~/Library/Application Support/Developer/Shared/Xcode/Project Templates/最后的目录名不一定是Application,可以起自己喜欢的名称,这将反映到Xcode中的建立新工程中。
定制打开新目录中的 XCode 下面项目文件。按照自定需要的定制。比如包含 Utility 宏,修改plist中的 Bundle identifier 等。
创建新工程后 ___PROJECTNAME___ 和 ___PROJECTNAMEASIDENTIFIER____ 将被置换为项目的名称。
完成后像下面这样子;
例子
以下是几个定制的例子:
1. 定制 Window-Based Application
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// main.m // 定制前 int retVal = UIApplicationMain(argc, argv, nil, nil); ↓↓ // 定制后 int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate"); // ___PROJECTNAMEASIDENTIFIER___AppDelegate.m // 定制前 - (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for customization after application launch [window makeKeyAndVisible]; } ↓↓ // 定制后 - (void)applicationDidFinishLaunching:(UIApplication *)application { UIWindow *w = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window = w; [w release]; [window makeKeyAndVisible]; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// main.m // 定制前 int retVal = UIApplicationMain(argc, argv, nil, nil); ↓↓ // 定制后 int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate"); // ___PROJECTNAMEASIDENTIFIER___AppDelegate.m // 定制前 - (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for customization after application launch [window addSubview:viewController.view]; [window makeKeyAndVisible]; } ↓↓ // 定制后 - (void)applicationDidFinishLaunching:(UIApplication *)application { UIWindow *w = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window = w; self.viewController = [[___PROJECTNAMEASIDENTIFIER___ViewController alloc] initWithNibName:nil bundle:nil]; [window addSubview:viewController.view]; [window makeKeyAndVisible]; [w release]; } // ___PROJECTNAMEASIDENTIFIER___ViewController.m - (void)loadView { UIView *contentView = [[UIView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]]; contentView.backgroundColor = [UIColor whiteColor]; self.view = contentView; [contentView release]; } |
以上只是很简单地举例说明模板的定制方法,你可以加强你的模板,比如包含常用的类库,风格控件等。