Xcode 5没有故事板和ARC
我已经下载了新的xcode-5,并开始使用它。
我们可以直接创build应用程序,包括故事板和ARC,它不要求像早期版本的选项。
所以,我的问题是我们如何使用Xcode5没有ARC和故事板。 我们必须手动删除故事板文件? 或者还有其他的select。
用Empty应用程序创build一个项目并添加任何viewcontroller(我在这里添加了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)在build立设置中将自动引用计数设置为NO 。
////////////////////////////////////////////////// /////////////////////////结束//////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////
如果你已经创build应用程序与故事板和ARC然后
删除故事板的步骤
1)从你的项目中删除Main.storyboard文件。
2)为你的控制器添加新的xib文件,如果它没有被编译的源代码添加到构build阶段,然后手动添加。
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; }
现在,在上面的例子中,你必须手动pipe理内存pipe理,
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; [test release];
拆除ARC的步骤
1)在build立设置中将自动引用计数设置为NO 。
而不是删除故事板文件,您可以使用空应用程序模板创build一个新的项目。 所以你可以避免故事板文件的创build。
使用以下步骤来省略故事板:
- 用空应用程序模板创build一个新项目。
- 添加一个新的viewController(例如:
LoginViewController
) - 按照下面的指定更改
AppDelegate.m
文件中的didFinishLaunchingWithOptions
。
改成:
#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自动引用计数 – >否
创build新项目
![创build新项目]
//删除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; }
然后自动删除你的故事板。
请试试这个…成功执行。 谢谢
ShortCut:我喜欢
在xcode4中创build没有Storyboard和ARC的项目,然后在xcode5中打开该项目。
当你创build一个新的项目时,Xcode 4有“Use Storyboard”checkbox。 可以抓取旧的Xcode 4应用程序模板(XML文件)并将其转换为Xcode 5.这样,您就可以重新获取旧模板,以便您select是否要使用Storyboard。
我写了一个脚本,可以为你工作: https : //github.com/jfahrenkrug/Xcode4templates
运行脚本之后,您将在“新build项目”屏幕中显示“Xcode 4”部分:
然后 – 唉! – 你回到你心爱的select:
您需要从http://developer.apple.com/ios获得; Xcode 4 .app软件包的副本才能使用此脚本。
我有一个提示:
- 第一:我创build我的项目由XCode 4.6(因为这个版本是最接近XCode 5)。
- 当然,使用XCode 4.6,您可以select使用或不使用ARC,Storyboard。
- 第二:之后我将用XCode 5打开我的项目。=>我认为Xcode 5会理解项目是使用nonARC,当然,没有Storyboard。
我希望你的项目能够奏效! :d