iPhone开发技巧之环境篇(6)--- 创建工程模板
来源:互联网 发布:mac intellij idea 编辑:程序博客网 时间:2024/05/28 19:24
经常用 Visual Studio 的朋友可能都熟悉该IDE中的向导模板,类似的项目工程都有固定的模式,框架,库结构等。在开发iPhone 的时候也可以自己定制这样的模板,提高我们的开发效率。
这一回就介绍一下创建模板的方法。
拷贝
iPhone应用程序的模板一般保存在下面的路径:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
首先拷贝这个文件夹到下面的路径,作为我们的基础模板。
~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application/
最后的目录名不一定是Application,可以起自己喜欢的名称,这将反映到Xcode中的建立新工程中。
定制
打开新目录中的 XCode 下面项目文件。按照自定需要的定制。比如包含 Utility 宏,修改plist中的 Bundle identifier 等。
创建新工程后 ___PROJECTNAME___ 和 ___PROJECTNAMEASIDENTIFIER____ 将被置换为项目的名称。
完成后像下面这样子;
例子
以下是几个定制的例子:
- 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 的模板。
123456789101112131415161718192021222324252627282930
// 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 的记述。
- 修改下面代码:
123456789101112131415161718192021222324252627282930313233343536373839
// 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];}
以上只是很简单地举例说明模板的定制方法,你可以加强你的模板,比如包含常用的类库,风格控件等。
- iPhone开发技巧之环境篇(6)--- 创建工程模板
- iPhone开发技巧之环境篇(1)--- 使用Emacs开发iPhone应用程序
- iPhone开发技巧之环境篇(5)--- 用Subversion管理iPhone程序
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇(2)--- XCode中的快捷键
- iPhone开发技巧之环境篇(3)--- Xcode中的帮助文档
- iPhone开发技巧之环境篇(4)--- 配置Xcode的窗口布局
- iPhone开发技巧之环境篇(8)--- 使用非公开的API
- iPhone开发技巧之环境篇(9)— Xcode中的注释
- iPhone开发技巧之网络篇(4)--- 确认网络环境 3G/WIFI
- iPhone开发技巧之网络篇(4)--- 确认网络环境 3G/WIFI
- iPhone开发技巧之网络篇(4)--- 确认网络环境
- iPhone开发技巧之环境篇— 区分不同版本的iPhone
- iPhone开发技巧之环境篇--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇--- 区分不同版本的iPhone
- iOS —— iPhone开发技巧之环境
- iPhone开发技巧之网络篇(1)--- 解析XML
- 求助MFC 多行编辑框显示数据问题
- Study on Android【四】--显示控件使用
- extaspnet 实现2个表格行相互拖拽
- linux--df
- Study on Android【五】--自定义ContentProvider的语义
- iPhone开发技巧之环境篇(6)--- 创建工程模板
- 证明:在RB-DELETE中,如果y是红色的,则当y被删除后,红黑性质得以保持
- string与cstring的区别
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇(8)--- 使用非公开的API
- 开始
- Android中aidl如何import文件
- PostgreSQL 注入整理
- 如何在Android模拟器上安装已下载的APK软件包