删除Info.plist中的"Launch screen interface file base name"属性
将“[app name] -Prefix.pch”文件添加到包含内容的支持文件:
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
13 回答
XCode6
及以上版本中没有用于直接创建空应用程序的选项,如XCode5
及更早版本 . 但是我们仍然可以通过以下步骤创建一个没有Storyboard
的应用程序:创建
Single View Application
.删除
Main.storyboard
和LaunchScreen.xib
(选择它们,右键单击,然后选择从项目中删除它们,或者完全删除它们) .删除
Info.plist
文件中的"Main storyboard file base name"和"Launch screen interface file base name"条目 .打开AppDelegate.m,编辑applicationDidFinishLaunchingWithOptions,使其如下所示:
Swift 3及以上:
Swift 2.x:
Objective-C的:
我正在使用XCode6 Beta,我通过将XCode5.x.x中的空模板添加到XCode6 Beta来搜索此问题的另一个解决方案 .
右键单击应用程序中的XCode5.x.x,单击“显示包内容”并从给定路径复制“Empty Application.xctemplate”
目录/开发人员/平台/ iPhoneOS.platform /开发人员/库/ Xcode /模板/项目模板/应用程序
现在退出Window并打开XCode6的给定路径
目录/开发人员/平台/ iPhoneOS.platform / Developer / Library / Xcode / Templates / Project Templates / iOS / Application /
在Application文件夹中粘贴'Empty Application.xctemplate' . 现在通过退出并创建新项目来重启XCode6 . 您将获得“空应用程序”选项 .
现在,当我创建新的Empty项目时,会在项目中自动添加.pch文件(我们必须在XCode6中手动添加)
希望它会奏效
一个简单的方法是将
XCode 5
的Empty Application
模板复制到XCode
的模板目录 .您可以从here下载
XCode 5
的Empty Application
模板,然后解压缩并复制到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application
目录 .P.S这种方法也适用于swift!
Edit
正如@harrisg在下面的评论中所建议的那样,您可以将上述模板放在
~/Library/Developer/Xcode/Templates/Project Templates/iOS/Application/
文件夹中,这样即使Xcode得到更新,它也可以使用 .如果没有这样的目录,那么您可能必须创建此目录结构:
Templates/Project Templates/iOS/Application/
in~/Library/Developer/Xcode/
使用这种简单的方法,我可以在
XCode 6
中创建一个Empty Application
. (下面的截图)希望这有帮助!
还有一些步骤需要做:
添加前缀文件 . (如果你需要的话)
要添加默认启动图像,否则iPhone 5上的应用程序大小将为320x480 .
所以这是一个完整的教程:
删除Main.storyboard文件
删除LaunchScreen.xib文件
删除Info.plist中的"Main storyboard file base name"属性
删除Info.plist中的"Launch screen interface file base name"属性
将“[app name] -Prefix.pch”文件添加到包含内容的支持文件:
将“$ SRCROOT / $ PROJECT_NAME / [pch文件名]”添加到项目设置 - >构建设置 - > Apple LLVM 6.0 - 语言 - >“前缀 Headers ”
将"YES"添加到项目设置 - >构建设置 - > Apple LLVM 6.0 - 语言 - > "Precompile Prefix Header"
打开"Image.xcassets"并添加LaunchImage
构建项目,然后会有关于缺少默认启动图像的警告,只需按下警告并选择添加默认值,这将添加"Default-568h@2x"或 - 如果要使用来自"Images.xcassets"的启动图像,请转到项目设置 - >目标 - >常规 - >在"Launch Images Source"中选择使用资产目录,它会创建一个新的,然后可以选择,从现有的资产目录中使用 .
实现
application:didFinishLaunchingWithOptions:
方法:阿基尔斯的回答是完全正确的 . 对于我们这些使用Swift的人来说,它会是这样的:
还有一个步骤需要做:
1)删除plist文件中的主故事板文件基本名称
我有原始的空应用程序模板,它在Xcode 6之前的Xcode版本中使用 . 我上传了它here .
您可以下载它并将其手动粘贴到Xcode模板目录中,也可以使用Xcode的包管理器安装它,Alcatraz . 只需搜索Xcode Empty Application .
For Xcode 8 and Swift 3. 只需删除
.storyboard
文件,它会自动删除.plist
中相应的引用,并在AppDelegate.swift
中添加以下代码 .您可以编写自己的自定义ViewCountroller并在
AppDelegate.swift
中使用self.window?.rootViewController
,只需在上面的代码中用您自己的ViewController替换UIViewController即可 .Remove the Main.storyboard file
这可以简单地删除 .
Update the ProjectName-Info.plist file
删除
Main storyboard base file name
键 .Create a nib file and link to the project’s view controller
1.创建一个nib文件(文件 - >新建 - >文件 - >查看)
2.将
File's Owner's
类更新为调用项目视图控制器的任何内容3.将
File's Owner's
view
插座连接到nib文件中的view
对象Update the app delegate
1.导入项目的视图控制器的头文件
2.更新应用程序
:didFinishLaunchingWithOptions:
方法:Xcode 9.3.1 和 Swift 4
首先,您需要在 Project navigator 菜单中删除 Main.storyboard .
比删除 Info.plist 中的行 Main storyboard file base name .
并且不要忘记删除单元格 Main Interface (只需删除 Main ) Project Target - General - Deployment Info
之后的步骤转到 AppDelegate.swift 并在函数 didFinishLaunchingWithOptions 中写下一个:
是的,或者只是使用之前的Beta之一来创建它,然后继续使用最新版本 .
您可以为Xcode创建自己的项目模板 . 根据您的要求,您可以在此网站上使用模板:
https://github.com/elprup/xcode7-project-template
其他人已经解释了如何摆脱故事板,所以我会在这里跳过那个 . 这是我喜欢在我的代码中使用较少的可选链接(用Swift 3.1编写)的方式: