115

我已经下载了新的 xcode-5 并开始使用它。

我们可以直接创建应用程序,包括故事板和 ARC ,它不像早期版本那样要求选项。

所以,我的问题是我们如何在没有 ARC 和情节提要的情况下使用 xcode5。我们必须手动删除情节提要文件?还是有其他选择。

4

6 回答 6

150

创建一个带有空应用程序的项目并添加任何视图控制器(我在此处添加了 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;
 }

消除电弧的步骤

1)在构建设置中将Automatic Reference Counting设置为NO

///////////////////////////////////////// /////////////////////////结尾//////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// /////////////////////

如果您已经使用故事板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]; 

消除电弧的步骤

1)在构建设置中将Automatic Reference Counting设置为NO

于 2013-07-29T10:57:52.467 回答
44

您可以使用空应用程序模板创建一个新项目,而不是删除故事板文件。这样您就可以避免创建故事板文件。

使用以下步骤省略情节提要: 在此处输入图像描述

  1. 使用空应用程序模板创建一个新项目。
  2. 添加一个新的 viewController(示例LoginViewController:)
  3. 如下指定更改didFinishLaunchingWithOptionsin文件。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 自动引用计数 -> 否

于 2013-09-20T06:30:01.607 回答
11

创建新项目

![创建新项目]

删除信息中的主故事板文件基本名称

//删除信息中的主故事板文件基本名称

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

然后自动删除你的故事板。

请试试这个...成功执行。谢谢

于 2013-12-11T08:31:57.527 回答
5

捷径:我更喜欢

在 xcode4 中创建没有 Storyboard 和 ARC 的项目,然后在 xcode5 中打开该项目。

于 2013-10-01T10:16:59.087 回答
3

当您创建一个新项目时,Xcode 4 有“使用情节提要”复选框。可以获取旧的 Xcode 4 应用程序模板(XML 文件)并将它们转换为 Xcode 5。这样,您可以恢复旧模板,让您选择是否需要情节提要。


我写了一个脚本,为你完成所有工作: https ://github.com/jfahrenkrug/Xcode4templates


运行脚本后,您将在“新建项目”屏幕中看到“Xcode 4”部分:

在此处输入图像描述

然后——唉!- 你得到你心爱的选择:

在此处输入图像描述

您需要一份来自http://developer.apple.com/ios的 Xcode 4 .app 包的副本才能使用此脚本。

于 2013-11-04T21:21:04.790 回答
0

我有一个提示:

  1. 第一个:我通过 XCode 4.6 创建我的项目(因为这个版本最接近 XCode 5)。
    • 当然,对于 XCode 4.6,您可以选择使用或不使用 ARC、Storyboard。
  2. 第二:之后我将使用 XCode 5 打开我的项目。 => 我认为 Xcode 5 会理解该项目是使用 nonARC,当然,没有 Storyboard。

我希望你的项目能成功!:D

于 2014-03-21T10:31:16.800 回答