Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

0.2 Xcode最初のステップ

Yuichi.Takeda edited this page Dec 1, 2014 · 1 revision

Xcodeはじめの一歩

この節では、Xcodeを開き、新規プロジェクトを作成して、シミュレータを実際に動作させて最初の雛形プログラムを動作させるまでを解説します。 XcodeのインストールはMac App StoreやiOS Developer Centerからダウンロードすることができるのであらかじめインストールをしておいてください。

この節で用いているXcodeのバージョンは6.1、 iOS SDKのバージョンは8.1.1です。

新規プロジェクトを作る

Xcodeを起動すると次のような画面が登場します。この画面はいわゆる"ようこそ"画面となります。

Weclome To Xcode

今回は、新規にプロジェクトを作りその流れを見ていきます。そこで、この画面の中の左側中程の"Create a new Xcode project"を選択して、新規プロジェクトを作成します。クリックすると以下のような画面へ進みます。

雛形の選択

テンプレートを選択

この画面ではいくつか用意されているアプリケーションの雛形を利用して新規プロジェクトを作成します。プロジェクトとは、Xcodeで管理されるアプリケーションのソースコードやリソース一式をまとめたものです。他のIDEでも同様のものがあると思います。 雛形は、アプリケーションのパターンに合わせて複数用意されています。今回は最もシンプルなアプリを作るので"Single View Application"を選択してください。

Nextを押すと次の画面へ遷移します。

プロジェクトの基本設定

次の画面ではプロジェクト名などの基本的な設定を変更します。

プロジェクトの設定

それぞれ以下の項目を設定します。後から変更することも可能ですが、 手間取ることも多いのでなるべく変更しなくて済むように設定してください。

項目 意味
Product Name プロジェクト名。プロジェクトファイル名など様々なところで出てきます。今回はFirstProjectとしました
Organization Name アプリを管理する組織の名称です。空白でも構いません。
Organization Identifier アプリを管理する組織の識別子です。Bundle Identifierなどの初期値などで利用されます。
Bundle Identifier アプリを一意に識別するための識別子です。デフォルトでは Organization Identifier と Product Name の組み合わせです。
Language アプリを記述するデフォルトの言語を選択します。Objective-CとSwiftを選択できます。今回はObjective-Cを選んでください。
Devices 対応するデバイスの種類を選びます。
Use Core Data Core Dataとはアプリ内から利用出来るSQLiteを利用したデータの永続化機能です。チェックを入れるとその雛形も込みで作成されます。今回はチェックはオフにしてください。

設定を終えたらNextを押して次の画面へ進み、プロジェクトファイルの保存先を決定します。

保存先の設定

完了するとXcodeのメイン画面が開きます。

Xcodeのメイン画面

Xcodeの画面の解説

先ほどの画面から引き続き、左側のナビゲーションエリアからViewController.mを選択したら以下のようになると思います。 この画面について解説を行います。 Xcodeのメイン画面

① Run, Stopボタン

アプリケーションの実行と停止を操作します。iPhone 6 となっている箇所は実行するデバイスを選びます。デバイスは実際のiOS端末かiOSシミュレータから選びます。 Xcodeには実際のiOS端末にかなり近い動作をするiOSシミュレータが含まれているため、十分このシミュレータのみでデバッグすることができます。

② ナビゲーションエリア

Xcodeのプロジェクトで管理されているファイルやフォルダを一覧するエリアです。Eclipseのようにディレクトリ以下にある ファイルをすべて自動的にプロジェクトには加えず、それぞれ指定して追加する必要があります。

③ 編集エリア

エディタ部分でソースコードを編集します。テーマなどの変更は設定(⌘+,)の Fonts & Colors より選択できます。 このスクリーンショットではテーマとしてDuskを選択しています。

④ デバッグエリア

実行時にデバッガを起動した際に利用するエリアです。ブレークポイントで停止した時の変数の値が表示する、 デバッガコマンド(コンパイラがLLVMなのでLLDB)を利用したデバッグなどが可能です。

⑤ ユーティリティエリア

ファイルの属性や、インタフェースビルダ利用時のUIパーツの設定など、設定値などを編集するパネルです。


②ナビゲーションエリア、④デバッグエリア ⑤ユーティリティエリア はXcodeの右上から表示/非表示を切り替えることができます。

実際に動作させてみる。

Xcode左上のRunボタン、あるいは⌘+rでアプリケーションを実行することができます。実際にやってみましょう。 実行して、以下のようにiOSシミュレータが起動しアプリが起動すれば完了です。 (今回は何も手を加えていないので真っ白な画面が表示されます。)

run_1

雛形に含まれているソースコードの解説

以上までで、ゼロからプロジェクトを作成し、実際にシミュレータで実行するまでのステップバイステップを解説しました。 ここからは、雛形で作成されたソースコードやリソースについて説明していきます。

プロジェクトファイル

project_file

プロジェクト全体の設定ファイルです。ファイルシステム上は *.pbxproj のように表示されており、実態はXMLファイルです。 このファイルでは最初に設定したプロジェクト名やBundle Identifierの設定、あるいはアプリバージョン、 サポートするOSなど様々な設定を行います。

FirstSample(プロジェクト名)以下

プロジェクト名のグループ以下には、そのプロジェクトに関連するファイルが含まれます。 またObjective-CはC言語ベースのプログラミング言語のため、ヘッダファイル(.h)と実態ファイル(.m)とに分割されています。

AppDelegate

AppDelegate

AppDelegateはシステムがアプリを起動し、終了する際に呼ばれるメソッドが定義されたクラスで、 エントリポイントとしての働きをします。 雛形には多くのメソッドが定義されていますが、全てを実装する必要はなく、アプリケーションのライフサイクルの変化を キャッチしたいときに利用します。

アプリケーションが起動した時に呼ばれるメソッドが -application:didFinishLaunchingWithOptions: です。

ViewController

ViewController

iOSアプリケーションにおける画面はViewControllerを基本単位としており、簡単に述べると、ViewControllerは 画面全体の描画領域(view)と各ViewController間の画面遷移を大きな責務としています。 新しい画面を追加する場合は、このViewControllerの新しいクラスを作ることになるでしょう。

エントリポイントとしては、コンストラクタ(init)やviewDidLoad:のようにviewの読み込みが完了した 際に呼ばれるメソッドがあります。細かい使い分けは後の章に譲ります。

Storyboard

storyboard

Storyboardとはアプリケーションのユーザーインターフェイスを定義したファイルです。中身はXMLですがそれを直接 編集することはほぼなく、GUIからインタフェースを作成するInterface Builderを利用して編集します。storyboardのファイルを ナビゲーションエリアから選択した時に編集エリアに表示されるものがInterface Builderです。

Storyboardファイルの個数はプロジェクト内で特に制約はありません。 アプリケーションの雛形からプロジェクトを作った時に自動的に一つ生成され、デフォルトではこのstoryboardが起動時に利用されるstoryboardになります。 プロジェクトファイル内の Main Interface の項目で選択されているファイルが起動時に読み込まれるstoryboardとなり、 そのstoryboardの中のInitial View Controllerとして指定されているViewControllerがアプリケーション起動時に読み込まれます。

またstoryboard以外にもxibと呼ばれるインタフェースの定義ファイルがあります。このトレーニングコースでは storyboardとxibの両方を状況に合わせて取り扱っていきます。

その他

others

プロジェクトのグループ以下のものについて説明します。簡単にそれ以外の箇所について説明すると、 Test以下のディレクトリは単体テストが、Products以下にはビルド結果のものが含まれます。

Images.xcassets は画像などのアセットを管理するための機能です。各画面サイズやPPIに合わせて 画像を差し替える際などに利用します。

LaunchScreen.xib は起動時のスプラッシュスクリーンを定義したxibファイルです。

はじめに

  1. iOSについて

  2. Xcode最初のステッフ

  3. 導入

  4. Objective C の基礎

  5. メモリ管理

  6. 1.3 UIViewController1 UIViewController のカスタマイズ(xib, autoresizing)

  7. 1.3 UIViewController1 UIViewController のカスタマイズ(storyboard)

  8. UIViewController2 - ModalViewController

  9. UIViewController2 - ModalViewController(storyboard)

  10. UIViewController3 - ライフサイクル

  11. HomeWork 1 Objective C の基本文法

  12. HomeWork 2 UIViewControllerとModalViewController

  13. HomeWork 3 UIViewController + Animation

  14. UIKit 1 - container, rotate-

  15. UINavigationController

  16. UITabController

  17. Custom Container View Controller

  18. Supporting Multiple Interface Orientations

  19. HomeWork 1 - タブバーからモーダルビューを表示する

  20. HomeWork 2 - NavigationController

  21. HomeWork 2.3 デバイスことに回転対応

  22. UIKit 2- UIView -

  23. UIView

  24. UIView のカスタマイズ

  25. UIView Animation

  26. HomeWork 1 - UIScrollView

  27. UIKit 3 - table view -

  28. UITableView について

  29. UITableViewとNavigationController

  30. custom UITableViewCell の作成

  31. UITableViewのその他のオプション、カスタマイズ

  32. HomeWork 1 - Dynamic height with a custom uitableviewcell

  33. UIKit 4 - image and text -

  34. UIImagePickerController

  35. Assets Library

  36. UITextFiled, UITextView

  37. KeyboardNotification

  38. Homework 1 - フォトの複数枚選択

  39. ネットワーク処理

  40. NSURLConnection

  41. JSONのシリアライズとデシリアライズ

  42. UIWebView

  43. ローカルキャッシュと通知

  44. NSUserDefaults, Settings Bundle

  45. NSFileManager

  46. Key Value Observing

  47. NSNotification、NSNotificationCenter を用いた通知

  48. UILocalNotification

  49. Blocks, GCD

  50. Blocks

  51. GCD

  52. 【演習】GCD,-Blocksを用いたHTTPリクエストマネージャの作成

  53. 設計とデザインパターン

  54. クラス設計 1

  55. クラス設計 2

  56. [クラス設計演習] (https://github.com/mixi-inc/iOSTraining/wiki/9.3-%E3%82%AF%E3%83%A9%E3%82%B9%E8%A8%AD%E8%A8%88%E6%BC%94%E7%BF%92)

  57. 開発ツール

  58. Instruments, デバッガ

  59. CocoaPods

  60. テスト

  61. iOS開発におけるテスト

  62. GHUnit

  63. Kiwi

  64. KIF

  65. In-App Purchase

  66. In-App Purchase

  67. 付録

  68. Tips of Xcode

  69. Auto Layout 入門

  70. Auto Layout ドリル

Edit sidebar

Clone this wiki locally