Xcode без раскадровки и ARC

Я загрузил новый xcode-5 и только начал его использовать.

Мы можем создавать приложения напрямую, включая раскадровку и ARC, и не запрашивать такую ​​опцию, как более ранние версии.

Итак, мой вопрос в том, как мы можем использовать xcode5 без ARC и раскадровки. мы должны вручную удалить файл раскадровки? или есть другой вариант.

Ответ 1

Создайте проект с пустым приложением и добавьте любой диспетчер представлений (я добавил здесь TestViewController)

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

ШАГИ ДЛЯ УДАЛЕНИЯ ARC

1) В настройке сборки установите Автоматический подсчет ссылок на НЕТ.

///////////////////////////////////////////////////////////////////////////КОНЕЦ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Если у вас уже создано приложение с раскадрой и ARC, то

ШАГИ ДЛЯ УДАЛЕНИЯ СЕТИ СТОРИИ

1) Удалите файл Main.storyboard из вашего проекта.

2) Добавьте новые файлы с xib для своего контроллера, если они не добавлены в скомпилированные источники в фазах сборки, а затем добавьте их вручную.

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

4) Измените файл appdelegate didFinishLaunchingWithOptions и добавьте:

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

[self.window makeKeyAndVisible];

, как:

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


Теперь, в приведенном выше примере вам нужно управлять памятью вручную, например,

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

 [test release]; 

ШАГИ ДЛЯ УДАЛЕНИЯ ARC

1) В настройке сборки установите Автоматический подсчет ссылок на НЕТ.

Ответ 2

Вместо удаления файла раскадровки вы можете создать новый проект с пустым шаблоном приложения. Чтобы вы могли избежать создания файла раскадровки.

Используйте следующие шаги для исключения раскадровки: enter image description here

  • Создайте новый проект с пустым шаблоном приложения.
  • Добавить новый viewController (Пример: LoginViewController)
  • Измените файл didFinishLaunchingWithOptions в AppDelegate.m, как указано ниже.

Изменить на:

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

Удалить ARC: Перейти к настройке сборки → Objective-C Автоматический подсчет ссылок → НЕТ

Ответ 3

создать новый проект

! [Создать новый проект]

remove Main storyboard file base name in Info

//удалить базовое имя основного раскадровки в Info

Добавить этот код в 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;
}

Затем автоматически удалите свою раскадровку.

Пожалуйста, попробуйте это... успешно выполнено. спасибо

Ответ 4

ShortCut: я Prefer

Создайте проект без Storyboard и ARC в xcode4, а затем откройте этот проект в xcode5.

Ответ 5

Xcode 4 установил флажок "Использовать раскадровки" при создании нового проекта. Можно захватить старые шаблоны приложений Xcode 4 (файлы XML) и преобразовать их в Xcode 5. Таким образом, вы получаете старые шаблоны, которые позволяют вам выбирать, хотите ли вы раскадровки или нет.


Я написал script, который делает все, что сработает для вас: https://github.com/jfahrenkrug/Xcode4templates


После запуска script на экране "Новый проект" появится раздел "Xcode 4":

enter image description here

А потом - Увы! - ты вернешь свой любимый выбор:

enter image description here

Для использования этого script вам понадобится копия пакета Xappode 4.app из http://developer.apple.com/ios.

Ответ 6

У меня есть подсказка:

  • Первый: я создаю свой проект с помощью XCode 4.6 (потому что эта версия ближе всего к XCode 5).
    • Конечно, с XCode 4.6 вы можете использовать или не использовать ARC, Storyboard.
  • Второе: после этого я открою свой проект с помощью XCode 5. = > Я думаю, что Xcode 5 поймет, что проект использует nonARC и, конечно же, не имеет раскадровки.

Я надеюсь, что ваш проект будет работать!: D