Skip to content

Instantly share code, notes, and snippets.

@Whelton
Created August 13, 2014 11:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whelton/7bb47fdce72ae278bdb4 to your computer and use it in GitHub Desktop.
Save Whelton/7bb47fdce72ae278bdb4 to your computer and use it in GitHub Desktop.
Adding Back "Empty Application" Template to Xcode

It sucks that Xcode6-Beta3 and later removed the "Empty Application" template. You can of course start with a single view template and rip out storyboard and whatnot, but heres how to bring back the "Empty Application" template. At time of writing this, this is working for Xcode6-Beta5.

Adding "Empty Application" Template to Xcode

  1. Go to {Xcode.app}/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application/
  2. Create a directory called Empty Application.xctemplate
  3. Copy the below file TemplateInfo.plist into that directory
  4. Download TemplateIcon.tiff from SendSpace here and copy it into the same directory
  5. Fire up Xcode and you should now have the "Empty Application" template you can create empty applications from just like before
  6. ???
  7. Profit
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kind</key>
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
<key>Identifier</key>
<string>com.apple.dt.unit.emptyApplication</string>
<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.cocoaTouchApplicationBase</string>
<string>com.apple.dt.unit.coreDataCocoaTouchApplication</string>
</array>
<key>Concrete</key>
<true/>
<key>Description</key>
<string>This template provides a starting point for any application. It provides just an application delegate and a window.</string>
<key>Options</key>
<array>
<dict>
<key>Identifier</key>
<string>languageChoice</string>
<key>Units</key>
<dict>
<key>Objective-C</key>
<dict>
<key>Definitions</key>
<dict>
<key>AppDelegate.m:implementation:methods:applicationdidFinishLaunchingWithOptions:body</key>
<string>self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];</string>
<key>AppDelegate.m:implementation:methods:applicationdidFinishLaunchingWithOptions:return</key>
<string>[self.window makeKeyAndVisible];
return YES;
</string>
</dict>
</dict>
<key>Swift</key>
<dict>
<key>Definitions</key>
<dict>
<key>AppDelegate.swift:implementation:methods:applicationdidFinishLaunchingWithOptions:body</key>
<string>self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
self.window!.backgroundColor = UIColor.whiteColor()</string>
<key>AppDelegate.swift:implementation:methods:applicationdidFinishLaunchingWithOptions:return</key>
<string>self.window!.makeKeyAndVisible()
return true
</string>
</dict>
</dict>
</dict>
</dict>
</array>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment