tutorial software saber publicidad programar plataformas para moviles hacer gratis español desarrollo crear como aprender apps app aplicaciones ios xcode storyboard xcode6
here

ios - software - swift tutorial español



Cómo crear una aplicación vacía en Xcode sin Storyboard (14)

Xcode6 ha eliminado la plantilla de Empty Application al crear un nuevo proyecto. ¿Cómo podemos crear una aplicación vacía (sin Storyboard) en Xcode6 y superior, como en versiones anteriores?


Estoy usando XCode6 Beta y busqué otra solución de este problema agregando una plantilla vacía de XCode5.xx a XCode6 Beta.

Para esto, haga clic derecho en XCode5.xx en Aplicaciones, haga clic en ''Mostrar contenido del paquete'' y copie ''Empty Application.xctemplate'' de la ruta dada

Contenidos / Desarrollador / Plataformas / iPhoneOS.platform / Desarrollador / Biblioteca / Xcode / Plantillas / Plantillas de proyectos / Aplicación

Ahora salga de la ventana y abra la ruta dada para XCode6

Contenidos / Desarrollador / Plataformas / iPhoneOS.platform / Desarrollador / Biblioteca / Xcode / Plantillas / Plantillas de proyectos / iOS / Aplicación /

Pegue ''Empty Application.xctemplate'' dentro de la carpeta de la aplicación. Ahora reinicie XCode6 al salir y crear un nuevo proyecto. Obtendrá la opción ''Aplicación vacía''.

Ahora, cuando estoy creando un nuevo proyecto vacío, un archivo .pch se agrega automáticamente en el proyecto (que tenemos que agregar manualmente en XCode6)

Espero que funcione


Hay algunos pasos más que debes hacer:

  1. Para agregar un archivo de prefijo. (Si lo necesitas)
  2. Para agregar una imagen de inicio predeterminada, de lo contrario, el tamaño de la aplicación será 320x480 en el iPhone 5.

Así que aquí hay un tutorial completo:

  1. eliminar el archivo Main.storyboard
  2. eliminar el archivo LaunchScreen.xib
  3. eliminar la propiedad "Nombre base del archivo del guión gráfico principal" en Info.plist
  4. eliminar la propiedad "Iniciar el nombre base del archivo de interfaz de pantalla" en Info.plist
  5. agregue el archivo "[nombre de la aplicación] -Prefix.pch" a los archivos de soporte con contenido:

    #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. agregue "$ SRCROOT / $ PROJECT_NAME / [pch file name]" a la configuración del proyecto -> Configuración de la compilación -> Apple LLVM 6.0 - Idioma -> "Encabezado de prefijo"

  7. agregue "SÍ" a la configuración del proyecto -> Configuración de compilación -> Apple LLVM 6.0 - Idioma -> "Encabezado de prefijo de precompilación"
  8. abra "Image.xcassets" y agregue LaunchImage
  9. compila el proyecto, luego aparecerá una advertencia sobre la falta de imagen de inicio predeterminada, solo presiona la advertencia y selecciona para agregar la predeterminada, esto agregará "Default-568h @ 2x" O - Si quieres usar imágenes de bienvenida de "Imágenes .xcassets ", vaya a la configuración del proyecto -> OBJETIVOS -> General -> en" Iniciar fuente de imágenes ", elija usar el catálogo de activos, creará uno nuevo, puede elegir luego, que usará como catálogo de activos del existente .
  10. application:didFinishLaunchingWithOptions: implementación application:didFinishLaunchingWithOptions: método:

    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;


Hay un paso más que debes hacer:

1) eliminar el nombre base del archivo principal del guión gráfico en el archivo 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; }


La respuesta de Akhils es totalmente correcta. Para aquellos de nosotros que usamos Swift, sería así:

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 }


No hay ninguna opción en XCode6 y versiones anteriores para crear directamente una aplicación vacía como en XCode5 y XCode5 anteriores. Pero aún así podemos crear una aplicación sin Storyboard siguiendo estos pasos:

  1. Crear una Single View Application .
  2. Elimine Main.storyboard y LaunchScreen.xib (selecciónelos, haga clic con el botón derecho y elija eliminarlos del proyecto o eliminarlos por completo).
  3. Elimine las entradas "Nombre base del archivo de guión gráfico principal" y "Nombre base del archivo de interfaz de pantalla de Info.plist " en el archivo Info.plist .
  4. Abra AppDelegate.m y edite applicationDidFinishLaunchingWithOptions para que se vea así:

Swift 3 y superior:

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 }

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 }

C objetivo:

- (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; }


Otros ya han explicado cómo deshacerse del guión gráfico, por lo que omitiré ese aquí. Así es como prefiero hacerlo en mi código con menos encadenamiento opcional (escrito en 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 }



Sí, o simplemente use una de las versiones beta anteriores para crearla y continúe con la última versión posterior.


Tengo la plantilla de aplicación vacía original que se usó en las versiones de Xcode anteriores a Xcode 6. La he subido here .

Puede descargarlo y pegarlo en el directorio de plantillas de Xcode manualmente o instalarlo usando el administrador de paquetes para Xcode, Alcatraz . Simplemente busque Xcode Empty Application .


Un enfoque simple sería copiar la plantilla de Empty Application XCode 5 el directorio de plantillas de XCode .

Puede descargar la plantilla de Empty Application XCode 5 desde here , luego descomprimirla y copiarla a /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application directorio.

PD: este enfoque también funciona con Swift.

Editar
Como lo sugiere @harrisg en un comentario a continuación, puede colocar la plantilla mencionada anteriormente en ~/Library/Developer/Xcode/Templates/Project Templates/iOS/Application/ folder para que esté disponible incluso si se actualiza Xcode.
Y si no existe tal directorio, entonces es posible que deba crear esta estructura de directorio: Templates/Project Templates/iOS/Application/ en ~/Library/Developer/Xcode/

Utilizando este enfoque simple, puedo crear una Empty Application en XCode 6 . (Captura de pantalla adjunta a continuación)

¡Espero que esto ayude!


Actualización: Swift 5 y iOS 13:

  1. Crear una aplicación de vista única.
  2. Eliminar Main.storyboard (clic derecho y eliminar).
  3. Elimine "Nombre del guión gráfico" de la configuración de escena predeterminada en el archivo Info.plist:
  4. Abra SceneDelegate.swift y cambie la func scene de:

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). guard let _ = (scene as? UIWindowScene) else { return } }

a

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).x if let windowScene = scene as? UIWindowScene { let window = UIWindow(windowScene: windowScene) window.rootViewController = ViewController() self.window = window window.makeKeyAndVisible() } }


Eliminar el archivo Main.storyboard

Esto simplemente se puede eliminar.

Actualice el archivo ProjectName-Info.plist

Elimine la clave del Main storyboard base file name principal.

Cree un archivo plumín y enlace al controlador de vista del proyecto

1.Cree un archivo plumín (Archivo -> Nuevo -> Archivo -> Ver)

2. Actualice la clase File''s Owner''s a lo que se llama el controlador de vista del proyecto

3.Enlace la salida de view File''s Owner''s al objeto de view en el archivo plumín

Actualiza el delegado de la aplicación

1.Importar el archivo de encabezado del controlador de vista del proyecto

2. Actualice la aplicación :didFinishLaunchingWithOptions: método:

- (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; }


Para Xcode 8 y Swift 3 . Simplemente elimine el archivo .storyboard , eliminará automáticamente la referencia correspondiente de su .plist y en su AppDelegate.swift agregue el siguiente código.

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

Puede escribir su propio ViewCountroller personalizado y usarlo en AppDelegate.swift como su self.window?.rootViewController , simplemente reemplace el UIViewController con su propio ViewController en el código anterior.


Xcode 9.3.1 y Swift 4

  1. En primer lugar, debe eliminar Main.storyboard en el menú Navegador de proyectos .
  2. Que eliminar el nombre base del archivo principal del guión gráfico en Info.plist .
  3. Y no se olvide de eliminar la interfaz principal de la celda (solo elimine Main ) en su objetivo de proyecto - General - Información de implementación
  4. Después de esos pasos, vaya a AppDelegate.swift y en la función didFinishLaunchingWithOptions escriba lo siguiente:

    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 }