Xcode 7 创建 Empty Application 工程
前言
新手入门记录一下,从Xcode 6正式版开始就没有了 Empty Application 这个模板。 网上可以查到的大部分创建 Empty Application 工程的方式一般为如下两种:
- 通过创建的 Single View Application 工程来自行修改。
- 通过将 Xcode 6 beta 中的模板复制过去。
通过这两种大部分可查到的方法和模板创建的 Empty Application 工程在 Xcode 7中都会报错。 大致错误如下:
Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
简单解释下:从第二条信息中可以看到,应用程序窗体需要有一个根控制器。
如果想要你的空项目跑起来,只需要为window的根控制器赋个值就可以了。
方法1: 创建一个 Empty Application 工程
下面还是详细的说一下通过一个 Single View Application 工程得到一个 Empty Application 工程的方法:
1. 首先创建一个 Single View Application 工程,下面以 swift 语言的工程为例进行说明:
把工程目录下的 Main.storyboard 和 ViewController.swift 文件删除。
2. 打开Info.plist,把 Main storyboard file base name 一项删除(点击旁边的减号即可)。
3.打开工程项目属性文件,查看 Deployment Info 中的 Main Interface 的内容是否为空,如果不是则删掉它。
4.最后,在AppDelegate的第一个方法里面内返回之前添加代码,代码分为4部,分别是:
- 创建window
- 设置window背景
- 设置window的根控制器
- 设置可见
Objective-C:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.backgroundColor = [UIColor whiteColor]; self.window.rootViewController = [[UIViewController alloc]init]; [self.window makeKeyAndVisible];
Swift:
self.window = UIWindow(frame: UIScreen.mainScreen().bounds) self.window?.backgroundColor = UIColor.whiteColor() self.window?.rootViewController = UIViewController() self.window?.makeKeyAndVisible()
5.一个 Empty Application 工程创建完成。
方法2: 添加 Empty Application 模板到 Xcode 7
如果你依旧觉得如上步骤很麻烦,我简单的制作了个Empty Application的模板,获取地址: https://github.com/featherJ/Empty-Application-For-Xcode-7
使用方法:
复制 Empty Application.xctemplate 到目录{Xcode.app}/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application/ 中
接下来就可以简单愉快的直接创建 Empty Application 工程啦:
转载于:https://my.oschina.net/ldm95/blog/683997