iPhone开发技巧之环境篇(6)--- 创建工程模板

经常用 Visual Studio 的朋友可能都熟悉该IDE中的向导模板,类似的项目工程都有固定的模式,框架,库结构等。在开发iPhone 的时候也可以自己定制这样的模板,提高我们的开发效率。

这一回就介绍一下创建模板的方法。

拷贝

iPhone应用程序的模板一般保存在下面的路径:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/
Project Templates/Application

 

Xcode_template

首先拷贝这个文件夹到下面的路径,作为我们的基础模板。

~/Library/Application Support/Developer/Shared/Xcode/Project Templates/
Application/

最后的目录名不一定是Application,可以起自己喜欢的名称,这将反映到Xcode中的建立新工程中。

定制

打开新目录中的 XCode 下面项目文件。按照自定需要的定制。比如包含 Utility 宏,修改plist中的 Bundle identifier 等。

创建新工程后 ___PROJECTNAME___ 和 ___PROJECTNAMEASIDENTIFIER____ 将被置换为项目的名称。

 

Xcode_template

完成后像下面这样子;

 

Xcode_template

例子

以下是几个定制的例子:

1. 定制 Window-Based Application
  • 定制原来模板中的 Window-Based Application 。
  • 删除新目录中的 MainWindow.xib 。
  • 删除 Info.plist 中的 Main nib file base name。
  • 删除 ___PROJECTNAME___.xcodeproj/project.pbxproj 中关于 MainWindow.xib 的记述。
  • 修改下面代码:
删除nib,xib文件的理由是定制不使用 Interface Builder 的模板。

 

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];

}
2. 定制 View-Based Application
  • 定制原来模板中的 View-Based Application 。
  • 删除新目录中的 MainWindow.xib 。
  • 删除新目录中的 ___PROJECTNAMEASIDENTIFIER___ViewController.xib。
  • 删除 Info.plist 中的 Main nib file base name。
  • 删除 ___PROJECTNAME___.xcodeproj/project.pbxproj 中关于 MainWindow.xib 的记述。
  • 修改下面代码:
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];
}

以上只是很简单地举例说明模板的定制方法,你可以加强你的模板,比如包含常用的类库,风格控件等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值