Как создать пустое приложение в Xcode без раскадровки



Xcode6 снял Empty Application шаблон при создании нового проекта. Как мы можем создать пустое приложение (без раскадровки) в Xcode6 и выше, как в предыдущих версиях?

747   13  

13 ответов:

там нет опции в XCode6 для непосредственного создания пустого приложения, как в XCode5 и ранее. Но все же мы можем создать приложение без Storyboard на XCode6 выполните следующие действия:

  1. создать Single View Application С XCode6
  2. удалить Main.storyboard и LaunchScreen.xib (выделите их, щелкните правой кнопкой мыши и выбрать удалите их из проекта или удалите их полностью).
  3. удалить "основное имя базы файлов раскадровки" и " экран запуска взаимодействие имя базы файлов " записи в .
  4. Открыть AppDelegate.M, и редактировать applicationDidFinishLaunchingWithoptions так, что это выглядит следующим образом:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        // Override point for customization after application launch.
        self.window.rootViewController = [[ViewController alloc] init];
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];
        return YES;
    }
    

    Для Swift 2.x:

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
    {
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window?.backgroundColor = UIColor.whiteColor()
        self.window?.makeKeyAndVisible()
        return true
    }
    

    Для Swift 3:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
    {
        self.window = UIWindow(frame: UIScreen.main.bounds)
        self.window?.backgroundColor = UIColor.white
        self.window?.makeKeyAndVisible()
        return true
    }
    

простым подходом было бы скопировать XCode 5 ' s Empty Application шаблон XCode каталог шаблонов.

можно скачать XCode 5 ' s Empty Application шаблон здесь, затем разархивируйте его и скопируйте в так что он может быть доступен даже если Xcode обновляется.
И если такого каталога нет, то вам, возможно, придется создать эту структуру каталогов: Templates/Project Templates/iOS/Application/ на ~/Library/Developer/Xcode/

используя этот простой подход, я могу создать Empty Application in XCode 6. (Скриншот прилагается ниже)

Xcode Empty Application Template Надеюсь, это поможет!

есть несколько шагов, которые вам нужно сделать:

  1. для добавления префиксного файла. (Если вам это нужно)
  2. чтобы добавить изображение запуска по умолчанию, в противном случае размер приложения будет 320x480 на iPhone 5.

Итак, вот полный учебник:

  1. удалить Main.раскадровка файла
  2. удалить LaunchScreen.xib file
  3. удалить "основной раскадровки файл базы название" собственность на информацию.файл plist
  4. удалить "экран запуска имя базы файлов интерфейса " свойство в Info.файл plist
  5. добавить "[имя приложения]-префикс.файл предкомпилированного заголовка" поддержка файлов с содержимым:

    #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
    
  6. добавить " $SRCROOT/$PROJECT_NAME / [PCH file name] "в настройки проекта -> настройки сборки -> Apple LLVM 6.0 - язык - > "префикс заголовка"

  7. добавить "да" в меню Настройки -> Параметры проекта -> построение Яблоко кода LLVM 6.0 - язык -> "предварительной компиляции префикс заголовка"
  8. открыть изображение".xcassets" и добавить LaunchImage
  9. построить проект, то будет предупреждение о пропущенных по умолчанию запуска изображения, просто нажмите на предупреждение и выберите, чтобы добавить по умолчанию, это добавит "Default-568h@2x" Или - если вы хотите использовать всплеск изображения из "изображения.xcassets", перейдите в настройки проекта - > цели -> общие -> В разделе "источник запуска изображений" выберите использовать каталог активов, он создаст новый, Вы можете выбрать, какой из них использовать в качестве каталога активов существующий.
  10. реализовать application:didFinishLaunchingWithOptions: способ:

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    
    return YES;
    

ответ Ахилса совершенно правильный. Для тех из нас, кто использует Swift, это было бы так:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    self.window?.backgroundColor = UIColor.whiteColor()
    self.window?.makeKeyAndVisible()
    return true
}

есть еще один шаг, который нужно сделать:

1) Удалите основное имя базы файлов раскадровки в файле plist

//AppDelegate.h


@property (strong, nonatomic) UIViewController *viewController;
@property (strong, nonatomic) UINavigationController *nav;

//AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {`enter code here`
    // Override point for customization after application launch.

    CGRect screenBounds = [[UIScreen mainScreen] bounds];

    UIWindow *window = [[UIWindow alloc] initWithFrame:screenBounds];


    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];



    self.viewController = [[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    self.nav = [[UINavigationController alloc] initWithRootViewController:self.viewController];

    [window setRootViewController:  self.nav];

    [window makeKeyAndVisible];

    [self setWindow:window];

    return YES;
}

У меня есть исходный пустой шаблон приложения, который использовался в версиях Xcode до Xcode 6. Я загрузил его здесь.

вы можете либо загрузить его и вставить в каталог шаблонов Xcode вручную, либо установить его с помощью диспетчера пакетов для Xcode, Алькатрас. Просто ищите Очистить Приложения Xcode.

на Xcode 8 и Swift 3. Просто удалите .storyboard файл, он автоматически удалит соответствующую ссылку из вашего .plist и в AppDelegate.swift добавить следующий код.

    let initialViewController = UIViewController()
    initialViewController.view.backgroundColor = .white
    window = UIWindow(frame: UIScreen.main.bounds)
    window?.rootViewController = initialViewController
    window?.makeKeyAndVisible()

вы можете написать свой собственный ViewCountroller и использовать его в AppDelegate.swift в своем self.window?.rootViewController, просто замените UIViewController на свой собственный ViewController в приведенном выше коде.

снимите основной.раскадровка файла

это можно просто удалить.

обновить имя проекта-Info.plist file

удалить Main storyboard base file name ключ.

создайте файл nib и ссылку на контроллер вида проекта

1.Создайте файл nib (File - > New - > File - > View)

2.Обновите File's Owner's класс для любого представления проекта контроллер называется

3.Ссылка на File's Owner'sview выход к view объект в файле nib

обновить делегат приложения

1.Импортируйте файл заголовка контроллера вида проекта

2.Обновите приложение:didFinishLaunchingWithOptions: способ:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    MyViewController *viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

Я использую Xcode6 Beta & я искал другое решение этой проблемы, добавив пустой шаблон из XCode5.x. x для Xcode6 бета.

для этого щелкните правой кнопкой мыши на XCode5.x.x в приложениях нажмите "Показать содержимое пакета" и скопируйте " пустое приложение.xctemplate ' от заданного пути

содержание / разработчик / платформы / iPhoneOS.платформа / разработчик / библиотека/Xcode/шаблоны/шаблоны проектов / приложения

теперь выйдите из окна и откройте заданный путь для XCode6

содержание / разработчик / платформы / iPhoneOS.платформа / разработчик / библиотека / Xcode / шаблоны / шаблоны проектов / iOS / Application/

Вставить ' Пустое Приложение.xctemplate ' внутри папки приложения. Теперь перезапустите XCode6, выйдя и создав новый проект. Вы получите опцию "пустое приложение".

теперь, когда я создаю новый пустой проект .PCH файл автоматически добавляется в проект (который мы должны добавить вручную в XCode6)

надеюсь, что это будет работать

да, или просто использовать один из предыдущих бета-версий, чтобы создать его, и продолжить на последней версии после.

вы можете создать свой собственный шаблон проекта для Xcode. Для вашего запроса вы можете использовать шаблон на этом сайте:

https://github.com/elprup/xcode7-project-template

другие уже объяснили, как избавиться от раскадровки, поэтому я пропущу это здесь. Вот как я предпочитаю делать это в своем коде с менее необязательной цепочкой (написанной в Swift 3.1):

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let window = UIWindow(frame: UIScreen.main.bounds)
    window.backgroundColor = .white
    window.rootViewController = MyRootViewController()
    window.makeKeyAndVisible()
    self.window = window

    return true
}

Xcode 9.3.1 и Swift 4

  1. прежде всего вам нужно удалить Главная.раскадровка на проект навигатор.
  2. чем удалить строку основные раскадровки базового имени файла на информация.файл plist.
  3. и не забудьте удалить ячейку Основной Интерфейс (просто удалить Главная) в Цель Проекта -общие -Информация О Развертывании
  4. после этого шаги Перейти к AppDelegate.Свифт и в функции didFinishLaunchingWithOptions написать следующее:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
    
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.makeKeyAndVisible()
        window?.rootViewController = UINavigationController(rootViewController: ViewController())
    
        return true
    }
    

Comments

    Ничего не найдено.