最初の iPhone アプリを作成する


最初の iPhone アプリケーションを作成する

次に、iOS シミュレーター上で実行されるシンプルなビュー アプリケーション (空のアプリケーション) を作成しましょう。

手順は次のとおりです:

1. Xcode を開き、新しい Xcode プロジェクトの作成を選択します。

XcodeWelcomePage

2. 次に、[Single View Application] を選択します。

CreateProject

3. 次に、製品名 (アプリケーション名) を入力します。 , 組織名と企業識別子。

NewProjectCreateOptions

#4. 範囲外のリソースを自動的に解放するには、[カウントを自動的に適用する] が選択されていることを確認してください。 「次へ」をクリックします。

##5. プロジェクト ディレクトリを選択し、[作成]

CreateProjectSelectFolder#6 を選択します。次のようなページが表示されます

##画面上部で方向、生成、リリースを設定できます。デプロイメント ターゲットがあり、デバイスはバージョン 4.3 以降のデプロイメント ターゲットをサポートしています。これらは必須ではありません。今のところはアプリケーションの実行だけに集中してください。 XcodeProjectPage

7. ドロップダウン メニューから iPhone シミュレーターを選択し、実行します。

#8. 最初のアプリケーションが正常に実行されると、次のような出力が得られます。 runProject

#背景色を変更して、インターフェイス ビルダーを開始します。 ViewController.xib を選択します。右側の背景オプションを選択し、色を変更して実行します。

iPhoneSimulator1

上記のプロジェクトでは、デプロイメントターゲットはデフォルトで iOS6.0 に設定されており、自動レイアウトが有効になります。

InterfaceBuilder1アプリケーションが iOS4.3 デバイスで正常に実行できるようにするため、アプリケーションの作成を開始するときにデプロイメント ターゲットを変更しましたが、自動レイアウトを無効にすることはできません。自動レイアウトをキャンセルするには、自動の選択を解除する必要があります。 class ファイル ビューアの各ニブ (xib ファイル) のボックスをオンにします。

Xcode プロジェクト IDE のさまざまな部分は次のように表示されます (Apple Xcode4 ユーザー ドキュメント)

Xcode4Workspace

ファイル インスペクターは上に示したインスペクター セレクター バーにあり、自動レイアウトの選択を解除できます。 iOS 6.0 デバイスのみをターゲットにしたい場合は、自動レイアウトを使用できます。

もちろん新機能も使えます例えばiOS6に追加すると通帳機能が使えます。ここでは、iOS4.3 を展開ターゲットとして使用します。



最初の iOS アプリ コードを詳しく見てみましょう。

    #AppDelegate.h
  • AppDelegate に示すように、アプリを生成するための 5 つの異なるファイルがあります。 m
  • ViewController.h
  • ViewController.m
  • ViewController.xib
コードの簡潔さを説明するために 1 行のコメント (//) を使用します。 , 重要なプロジェクト コードはコードの下に説明されています。

AppDelegate.h

// Header File that provides all UI related items. #import <UIKit/UIKit.h>  // Forward declaration (Used when class will be defined /imported in future)@class ViewController;  

 // Interface for Appdelegate@interface AppDelegate : UIResponder <UIApplicationDelegate>// Property window @property (strong, nonatomic) UIWindow *window; 
 // Property Viewcontroller@property (strong, nonatomic) ViewController *viewController;//this marks end of interface @end

コードの説明
    AppDelegate は、UIResponder を呼び出して Ios イベントを処理します。
  • UIApplication コマンドを完了し、起動完了や終了などの主要なアプリケーション イベントを提供します。
  • UIWindow オブジェクトを使用して、iOS デバイスの画面上のさまざまなパースペクティブを管理および調整します。他の読み込みビューと同様に。通常、アプリケーションにはウィンドウが 1 つだけあります。
  • 画面フローを処理するUIViewController
AppDelegate.m

// Imports the class Appdelegate's interfaceimport "AppDelegate.h" // Imports the viewcontroller to be loaded#import "ViewController.h" // Class definition starts here@implementation AppDelegate // Following method intimates us the application launched  successfully - (BOOL)application:(UIApplication *)application 
 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch.    self.viewController = [[ViewController alloc] 
	 initWithNibName:@"ViewController" bundle:nil];    self.window.rootViewController = self.viewController;    [self.window makeKeyAndVisible];    return YES;}- (void)applicationWillResignActive:(UIApplication *)application{    /* Sent when the application is about to move from active to inactive state.
    This can occur for certain types of temporary interruptions
    (such as an incoming phone call or SMS message)
    or when the user quits the application and it begins the transition to the 
    background state. Use this method to pause ongoing tasks, disable timers, 
    and throttle down OpenGL ES frame rates. Games should use this method 
    to pause the game.*/}- (void)applicationDidEnterBackground:(UIApplication *)application{    /* Use this method to release shared resources, save user data, invalidate 
    timers, and store enough application state information	to restore your
    application to its current state in case it is terminated later. If your 
    application supports background execution, this method is called instead 
    of applicationWillTerminate: when the user quits.*/}- (void)applicationWillEnterForeground:(UIApplication *)application{    /* Called as part of the transition from the background to the inactive state;
    here you can undo many of the changes made on entering the background.*/}- (void)applicationDidBecomeActive:(UIApplication *)application{    /* Restart any tasks that were paused (or not yet started) while the
    application was inactive. If the application was previously in the background, 
	optionally refresh the user interface.*/}- (void)applicationWillTerminate:(UIApplication *)application{    /* Called when the application is about to terminate. Save data if appropriate.
    See also applicationDidEnterBackground:. */}@end

コード説明
    ここでUIApplicationを定義します。上記で定義されたすべてのメソッドはアプリケーション UI 呼び出しであり、ユーザー定義のメソッドは含まれません。
  • UIWindow オブジェクトは、アプリケーション割り当てオブジェクトを保持するために割り当てられます。
  • ウィンドウの初期ビュー コントローラーとしての UIController
  • makeKeyAndVisible を呼び出してウィンドウを表示します
ViewController.h

#import  // Interface for class ViewController@interface ViewController : UIViewController @end

コードの説明
    ViewController クラスは UIViewController を継承し、iOS アプリケーションの基本的なビュー管理モデルを提供します。
ViewController.m

#import "ViewController.h"// Category, an extension of ViewController class@interface ViewController ()@end@implementation ViewController  - (void)viewDidLoad{    [super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end

コードの説明
    ここでは、UIViewController クラスの基本クラスで 2 つのメソッドが定義されています
  • Initialビューがロードされた後、viewDidLoad でインストーラーを呼び出します。
  • メモリ警告の場合は、didReceviveMemoryWarning を呼び出します。