Xcode 7 创建 Empty Application 工程

来源:互联网 发布:乐乎青年公寓通州北苑 编辑:程序博客网 时间:2024/05/21 07:56

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 工程啦:

0 0
原创粉丝点击