it-swarm.com.de

Xcode ohne Storyboard und ARC

ich habe neuen Xcode-5 heruntergeladen und gerade damit begonnen.

Wir können eine Anwendung direkt erstellen, einschließlich Storyboard und ARC. Sie verlangt keine Option wie frühere Versionen.

Meine Frage ist also, wie wir xcode5 ohne ARC und Storyboard verwenden können. müssen wir die Storyboard-Datei manuell entfernen? oder gibt es eine andere möglichkeit.

116
PJR

Erstellen Sie ein Projekt mit einer leeren Anwendung und fügen Sie einen beliebigen Viewcontroller hinzu (ich habe TestViewController hier hinzugefügt)

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

Schritte zum Entfernen des Lichtbogens

1) In der Build-Einstellung setzen Sie Automatic Reference Counting auf NO .

////////////////////////////////////////////////// /////////////////////////////ENDE//////////////////// //////////////////////////////////////////////////// //////////////////////////////////////////////////// //////////////////////////////////////////////////// //////////////////////////////////////////////////// ///////////////////////////

Wenn Sie bereits eine Anwendung mit Storyboard und ARC erstellt haben, dann

SCHRITTE ZUM ENTFERNEN DES STORY BOARD

1) Entfernen Sie die Main.storyboard Datei aus Ihrem Projekt.

2) Fügen Sie neue Dateien mit xib für Ihren Controller hinzu. Wenn diese in kompilierten Quellen in Erstellungsphasen nicht hinzugefügt wurden, fügen Sie sie manuell hinzu.

) Entfernen Sie Name der Hauptstoryboard-Dateibasis von plist.

4) Appdelegate ändern didFinishLaunchingWithOptions Datei und hinzufügen:

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

[self.window makeKeyAndVisible];

genau wie:

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


Im obigen Beispiel müssen Sie nun die Speicherverwaltung manuell wie folgt verwalten:

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

 [test release]; 

Schritte zum Entfernen des Lichtbogens

1) In der Build-Einstellung setzen Sie Automatic Reference Counting auf NO .

150
PJR

Anstatt die Storyboard-Datei zu löschen, können Sie ein neues Projekt mit einer leeren Anwendungsvorlage erstellen. Damit können Sie die Erstellung der Storyboard-Datei vermeiden.

Führen Sie die folgenden Schritte aus, um das Storyboard auszulassen: enter image description here

  1. Erstellen Sie ein neues Projekt mit einer leeren Anwendungsvorlage.
  2. Füge einen neuen viewController hinzu (Beispiel: LoginViewController)
  3. Ändern Sie das didFinishLaunchingWithOptions in AppDelegate.m Datei wie unten angegeben.

Ändern zu:

#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: Gehe zu Build Setting -> Objective-C Automatic Reference Counting -> NO

44
Raj Subbiah

neues Projekt erstellen

! [Neues Projekt erstellen]

remove Main storyboard file base name in Info

// Hauptstoryboard-Dateinamen in Info entfernen

Diesen Code in appdelegate hinzufügen

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

Dann entfernen Sie automatisch Ihr Storyboard.

Bitte versuchen Sie dies ... erfolgreich ausgeführt. Vielen Dank

11
Ketan Patel

ShortCut: Ich bevorzuge

Erstellen Sie das Projekt ohne Storyboard und ARC in xcode 4 und öffnen Sie das Projekt in xcode 5.

5
SwapnilPopat

Xcode 4 hatte das Kontrollkästchen "Storyboards verwenden", als Sie ein neues Projekt erstellt haben. Sie können die alten Xcode 4-Anwendungsvorlagen (XML-Dateien) abrufen und in Xcode 5 konvertieren. Auf diese Weise erhalten Sie die alten Vorlagen zurück, mit denen Sie auswählen können, ob Sie Storyboards verwenden möchten oder nicht.


Ich habe ein Skript geschrieben, das alles für Sie erledigt: https://github.com/jfahrenkrug/Xcode4templates


Nach dem Ausführen des Skripts wird im Bildschirm "Neues Projekt" der Abschnitt "Xcode 4" angezeigt:

enter image description here

Und dann - Ach! - Sie bekommen Ihre geliebte Wahl zurück:

enter image description here

Sie benötigen eine Kopie des Xcode 4 .app-Bundles von http://developer.Apple.com/ios , um dieses Skript zu verwenden.

3

Ich habe einen Tipp:

  1. Der Erste: Ich erstelle mein Projekt mit XCode 4.6 (da diese Version XCode 5 am nächsten kommt).
    • Natürlich können Sie mit XCode 4.6 wählen, ob Sie ARC oder Storyboard verwenden möchten oder nicht.
  2. Das Zweite: Danach werde ich mein Projekt mit XCode 5 öffnen. => Ich denke, dass Xcode 5 verstehen wird, dass das Projekt nonARC verwendet und natürlich kein Storyboard hat.

Ich hoffe, Ihr Projekt wird funktionieren! : D

0
Linh Nguyen