web-dev-qa-db-ja.com

StoryboardとARCを使用しないXcode

新しいxcode-5をダウンロードし、使用を開始しました。

ストーリーボードとARCを含むアプリケーションを直接作成できます。以前のバージョンのようなオプションを要求することはありません。

したがって、私の質問は、ARCとストーリーボードなしでxcode5をどのように使用できるかです。ストーリーボードファイルを手動で削除する必要がありますか?または他のオプションがあります。

116
PJR

空のアプリケーションを使用してプロジェクトを作成し、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)ビルド設定で設定自動参照カウント to NO.

/////////////////////////////////////////////// /////////////////////////////終わり//////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////

ストーリーボードおよびARCで既に作成されたアプリケーションがある場合

ストーリーボードを削除するための手順

1)削除Main.storyboardプロジェクトからファイル。

2)コントローラーのxibで新しいファイルを追加します。ビルド段階でコンパイルされたソースに追加されていない場合は、手動で追加します。

削除メインストーリーボードファイルのベース名から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)ビルド設定で設定自動参照カウント to NO.

150
PJR

ストーリーボードファイルを削除する代わりに、空のアプリケーションテンプレートで新しいプロジェクトを作成できます。これにより、ストーリーボードファイルの作成を回避できます。

次の手順を使用して、ストーリーボードを省略します。 enter image description here

  1. 空のアプリケーションテンプレートで新しいプロジェクトを作成します。
  2. 新しいviewControllerを追加します(例:LoginViewController
  3. 以下の指定に従って、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自動参照カウント-> NO

44
Raj Subbiah

新しいプロジェクトを作成する

![新しいプロジェクトを作成]

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

その後、ストーリーボードを自動的に削除します。

これを試してください...正常に実行されました。ありがとう

11
Ketan Patel

ショートカット:優先

Xcode 4でStoryboardとARCを使用せずにプロジェクトを作成し、xcode 5でそのプロジェクトを開きます。

5
SwapnilPopat

Xcode 4には、新しいプロジェクトを作成したときに「ストーリーボードを使用」チェックボックスがありました。古いXcode 4アプリケーションテンプレート(XMLファイル)を取得してXcode 5に変換することができます。この方法で、古いテンプレートを取り戻すことで、ストーリーボードが必要かどうかを選択できます。


私はあなたのためにすべての仕事をするスクリプトを書きました:https://github.com/jfahrenkrug/Xcode4templates


スクリプトを実行すると、「新規プロジェクト」画面に「Xcode 4」セクションが表示されます。

enter image description here

そして、悲しいかな! -あなたはあなたの最愛の選択肢を取り戻します:

enter image description here

このスクリプトを使用するには、 http://developer.Apple.com/ios のXcode 4 .appバンドルのコピーが必要です。

3

ヒントがあります:

  1. 最初:XCode 4.6でプロジェクトを作成します(このバージョンはXCode 5に最も近いため)。
    • もちろん、XCode 4.6では、ARC、Storyboardを使用するかどうかを選択できます。
  2. 2番目:その後、XCode 5を使用してプロジェクトを開きます。

あなたのプロジェクトがうまくいくことを願っています! :D

0
Linh Nguyen