web-dev-qa-db-fra.com

Xcode sans Storyboard et ARC

j'ai téléchargé le nouveau xcode-5 et viens de commencer à l'utiliser.

Nous pouvons créer des applications directement, y compris storyboard et ARC, ce n’est pas une option comme les versions précédentes.

Ma question est donc la suivante: comment utiliser xcode5 sans ARC ni storyboard? nous devons supprimer manuellement le fichier de storyboard? ou existe-t-il une autre option?.

116
PJR

Créer un projet avec une application vide et ajouter un contrôleur de vue (j'ai ajouté TestViewController ici)

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

ÉTAPES POUR RETIR L'ARC

1) Dans le jeu de paramètres de construction Comptage automatique de références à NO .

////////////////////////////////////////////////////// /////////////////////////////FIN//////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// /////////////////////////////

Si vous avez déjà créé une application avec storyboard et ARC alors

ÉTAPES POUR RETIRER LE TABLEAU DE L'HISTOIRE

1) Supprimez le fichier Main.storyboard de votre projet.

2) Ajoutez de nouveaux fichiers avec xib pour votre contrôleur. S'il n'est pas ajouté dans les sources compilées lors des phases de construction, ajoutez-le manuellement.

) Supprimer Nom de la base du fichier du storyboard de plist.

4) Modifier appdelegate didFinishLaunchingWithOptions fichier et ajouter:

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

[self.window makeKeyAndVisible];

juste comme:

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;

     // Override point for customization after application launch.

     TestViewController *test = [[TestViewController alloc]     initWithNibName:@"TestViewController" bundle:nil];
     UINavigationController *nav = [[UINavigationController alloc]  initWithRootViewController:test];
     self.window.rootViewController = nav;
     [self.window makeKeyAndVisible];

     return YES;
}


Maintenant, dans l'exemple ci-dessus, vous devez gérer manuellement la gestion de la mémoire, par exemple:

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

 [test release]; 

ÉTAPES POUR RETIR L'ARC

1) Dans le jeu de paramètres de construction Comptage automatique de références à NO .

150
PJR

Au lieu de supprimer le fichier de story-board, vous pouvez créer un nouveau projet avec un modèle d'application vide. Vous éviterez ainsi la création de fichiers de storyboard.

Utilisez les étapes suivantes pour omettre le storyboard: enter image description here

  1. Créez un nouveau projet avec un modèle d'application vide.
  2. Ajouter un nouveau viewController (Exemple: LoginViewController)
  3. Changer le didFinishLaunchingWithOptions dans AppDelegate.m fichier comme spécifié ci-dessous.

Changer en:

#import "LoginViewController.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];

    LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    UINavigationController *navigationController = [[UINavigationController alloc]  initWithRootViewController:loginVC];

    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}

Remove ARC: Accédez au paramètre de construction -> Comptage automatique de références Objective-C -> NO.

44
Raj Subbiah

créer un nouveau projet

! [Créer un nouveau projet]

remove Main storyboard file base name in Info

// supprime le nom de base du fichier de storyboard principal dans Info

Ajouter ce code dans appdelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];

    LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    UINavigationController *navigationController = [[UINavigationController alloc]  initWithRootViewController:loginVC];

    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}

Ensuite, supprimez automatiquement votre story-board.

S'il vous plaît essayez ceci ... exécuté avec succès. Merci

11
Ketan Patel

Raccourci: je préfère

Créez le projet sans Storyboard et ARC dans xcode 4, puis ouvrez ce projet dans xcode 5.

5
SwapnilPopat

Xcode 4 avait la case "Utiliser les storyboards" lorsque vous avez créé un nouveau projet. Il est possible de récupérer les anciens modèles d’application Xcode 4 (fichiers XML) et de les convertir en Xcode 5. Ainsi, vous récupérez les anciens modèles qui vous permettent de choisir si vous souhaitez ou non des story-boards.


J'ai écrit un script qui fait tout ce qui fonctionne pour vous: https://github.com/jfahrenkrug/Xcode4templates


Après avoir exécuté le script, vous aurez une section "Xcode 4" dans l'écran "Nouveau projet":

enter image description here

Et ensuite - Hélas! - Vous récupérez vos choix bien-aimés:

enter image description here

Vous aurez besoin d'une copie du bundle Xcode 4 .app de http://developer.Apple.com/ios pour utiliser ce script.

3

J'ai un conseil:

  1. Le premier: je crée mon projet avec XCode 4.6 (car cette version est la plus proche de XCode 5).
    • Bien entendu, avec XCode 4.6, vous pouvez choisir d’utiliser ou non ARC, Storyboard.
  2. La seconde: Après cela, je vais ouvrir mon projet avec XCode 5. => Je pense que Xcode 5 comprendra que le projet utilise nonARC et, bien entendu, n’a pas de Storyboard.

J'espère que votre projet fonctionnera! :RÉ

0
Linh Nguyen