Soumettre la recherche
Mettre en ligne
iPhone develop for Beginner
•
1 j'aime
•
775 vues
Sachiko Kajishima
Suivre
iPhone勉強会資料その1です
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 22
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
Aleja Guzman
Presentaciónemy
Presentaciónemy
Erick Arias
Las tics edufisica
Las tics edufisica
becerragomez63
Tics en la educacion
Tics en la educacion
giovanni07
ег1 reading
ег1 reading
Ta4ka
Aula de eletrônica digital
Aula de eletrônica digital
luizgraf
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
José Daniel Rojas Alba
Buidling large scale recommendation engine
Buidling large scale recommendation engine
Keeyong Han
Recommandé
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
Aleja Guzman
Presentaciónemy
Presentaciónemy
Erick Arias
Las tics edufisica
Las tics edufisica
becerragomez63
Tics en la educacion
Tics en la educacion
giovanni07
ег1 reading
ег1 reading
Ta4ka
Aula de eletrônica digital
Aula de eletrônica digital
luizgraf
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
José Daniel Rojas Alba
Buidling large scale recommendation engine
Buidling large scale recommendation engine
Keeyong Han
Beginning iPhone Vol2
Beginning iPhone Vol2
Sachiko Kajishima
オープンセミナー2013@広島
オープンセミナー2013@広島
Masahiko Tani
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
codeal
Weekend Androidのススメ
Weekend Androidのススメ
Suzuki Junko
MacRuby を使ってみました
MacRuby を使ってみました
Yoshiyuki MIYAGI
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
Hiroki Toyokawa
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
Toshio Ehara
スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識
Yugo Yamamoto
WPFことはじめ
WPFことはじめ
Hiroshi Maekawa
Appsheet基礎講座.pptx
Appsheet基礎講座.pptx
ssuser5f5987
I phoneアプリ入門 第4回
I phoneアプリ入門 第4回
Sachiko Kajishima
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門
聡 中川
20101127 Android Usability Seminar
20101127 Android Usability Seminar
Visso株式会社
cochica
cochica
Hiroki Yoshida
Not free
Not free
makoto tsuyuki
iphoneアプリ開発 その1:導入〜初アプリ
iphoneアプリ開発 その1:導入〜初アプリ
Satoru Murakami
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
テレニコツイ
テレニコツイ
jz5 MATSUE
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
rie05
Contenu connexe
Similaire à iPhone develop for Beginner
Beginning iPhone Vol2
Beginning iPhone Vol2
Sachiko Kajishima
オープンセミナー2013@広島
オープンセミナー2013@広島
Masahiko Tani
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
codeal
Weekend Androidのススメ
Weekend Androidのススメ
Suzuki Junko
MacRuby を使ってみました
MacRuby を使ってみました
Yoshiyuki MIYAGI
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
Hiroki Toyokawa
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
Toshio Ehara
スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識
Yugo Yamamoto
WPFことはじめ
WPFことはじめ
Hiroshi Maekawa
Appsheet基礎講座.pptx
Appsheet基礎講座.pptx
ssuser5f5987
I phoneアプリ入門 第4回
I phoneアプリ入門 第4回
Sachiko Kajishima
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門
聡 中川
20101127 Android Usability Seminar
20101127 Android Usability Seminar
Visso株式会社
cochica
cochica
Hiroki Yoshida
Not free
Not free
makoto tsuyuki
iphoneアプリ開発 その1:導入〜初アプリ
iphoneアプリ開発 その1:導入〜初アプリ
Satoru Murakami
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
テレニコツイ
テレニコツイ
jz5 MATSUE
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
rie05
Similaire à iPhone develop for Beginner
(20)
Beginning iPhone Vol2
Beginning iPhone Vol2
オープンセミナー2013@広島
オープンセミナー2013@広島
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
Weekend Androidのススメ
Weekend Androidのススメ
MacRuby を使ってみました
MacRuby を使ってみました
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識
WPFことはじめ
WPFことはじめ
Appsheet基礎講座.pptx
Appsheet基礎講座.pptx
I phoneアプリ入門 第4回
I phoneアプリ入門 第4回
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門
20101127 Android Usability Seminar
20101127 Android Usability Seminar
cochica
cochica
Not free
Not free
iphoneアプリ開発 その1:導入〜初アプリ
iphoneアプリ開発 その1:導入〜初アプリ
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
テレニコツイ
テレニコツイ
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
iPhone develop for Beginner
1.
iPhoneアプリ開発入門
∼簡単なiPhoneアプリを作ってみよう∼ 13年3月17日日曜日 iPhoneアプリ開発の入門ということで勉強会を開催させていただくことになりました。 3時間という短い時間ですが、よろしくお願いいたします。
2.
今日の目標
iPhoneアプリ開発の楽しさを知っ ていただく iPhoneアプリの本を読めるように なる 好評だったらシリーズ化(できたらいいな・・・) 13年3月17日日曜日 本日の目標は、 iPhoneアプリ開発の楽しさを知っていただくこととiPhoneアプリの本が抵抗なく読めるようになることです。 iPhoneアプリ開発に興味はあるけれど、いまいち取っ付きにくいと感じているのではないでしょうか。 本日一緒に勉強することで少しでも抵抗がなくなればと思います。 好評だったらシリーズ化したいなと思っています。。。
3.
アジェンダ
iPhoneアプリ開発に必要なもの お決まりのHelloWorld 簡単なアプリを作ってみる 13年3月17日日曜日 本日は、まずiPhoneアプリ開発に必要な環境や知識を少し説明し、 HelloWorldアプリを作成しながら、基本的なXCodeの使い方、実機転送の仕方の説明をいたします。 実際に手を動かしながら行うのが一番身に付くので、一緒に手を動かしましょう。 Macが人数分なくて申し訳ないのですが、交代で使ってください。
4.
どうやって開発しているの?
Objective-Cという言語とXcodeというIDEを 使用して開発 言語的な敷居が高いので、Unity,Titaniumな ど他の言語で開発できるフレームワークもあ る(ここではObjective-Cで開発する前提で す) 13年3月17日日曜日 iPhoneアプリをどうやって開発しているのかを説明いたします。 iPhoneアプリはObjective-Cという言語とXcodeというIDEを使って開発します。 Javaとかに慣れ親しんでいる開発者にとってはObjective-Cという言語は敷居が高いので (今はARCがあるのでメモリ管理が楽になりましたが、Javaのようなガーベジコレクションがないのです) UnityとかTitaniumといったほかの言語(JavaScript)で開発できるフレームワークもあります。 ですが、せっかくなのでここではObjective-Cで開発します。
5.
Objective-Cって何者?
C言語をベースにSmalltalk型のオブジェクト 指向機能を持たせた上位互換言語(Wikipedia より)→そもそもMac向け C言語はそのまま使用することが出来る 構文など実践的なことは後ほどやりますの で、ご安心を・・。 13年3月17日日曜日 ちょっと敷居が高いといわれているObjective-Cが何者かということについて軽く説明いたします。 Objective-CはC言語をベースにして、オブジェクト指向機能を持たせたものです。 こういうとC++と変わらないような気もしますが、Mac向けに特化しているのが特徴です。 C言語をベースにしているということもあり、中でそのままC言語を使うことができます。
6.
必要なもの
Mac Xcode(Macにインストールしてますか?) 実機転送およびAppStoreへの登録をするに は、AppleDeveloperへの登録(年間99ド ル)が必要 13年3月17日日曜日 開発に必要なものを説明します。 開発にはMacを使います。 なので、本格的に開発するというのであればMacを用意してください。 Mac上でXcodeというIDEを使います。Xcode自体はフリーでダウンロードできますが、AppleDeveloperに登録して年間99 ドルを払うと、β版を入手できます。 あと、実機転送やAppStoreへの登録(公開する)ためにはAppleDeveloperへの登録が必要なので、注意してください。本 日は私が登録しているIDを使って実機転送をしてみます。
7.
では、お決まりの・・・
HelloWorldを作成してみます。 13年3月17日日曜日 あまりぐだぐだと説明しても退屈なので、お決まりのHelloWorldを作成してみましょう。
8.
Xcodeを起動して、新
規プロジェクトを作成す る(ここでは SingleViewApplication を選択してください) 13年3月17日日曜日 まず、Xcodeを起動してください。 FinderのアプリケーションというところにXcodeと書かれているアイコンがあるので、クリックしてください。 起動したら、「Create new Xcode Project」をクリックして新しいプロジェクトを作成しましょう。 いくつか種類があるのですが、ここでは「Simple View Applications」を選択してください。
9.
プロジェクト名を記載して、Createをクリッ
クしてください。 Devices:iPhone,iPad,Universalの3つから選ぶ(ここではiPhone) UseStoryboards:StoryBoardをつかうかどうか(ここではチェックを入れる) Use AutomaticReferenceCounting:ARCをつかうかどうか(ここではチェックを入れ る) 13年3月17日日曜日 次の画面でプロダクト名などを記載します Product Name : アプリ名です。好きな名前を入力してください。 Organization Name:作成者の名前です。 Company Identifier:会社名などの組織名です。これも好きなものを入力してください。 BundleName:Company Identifier+ProductNameでできた、iPhoneアプリを一意に決めるものです。プッシュ通信を受け るときなどに使います。 Class Prefix:クラス名の前に付加される文字列です。ここでは入力しなくてもかまいません。 Devices:対象となるデバイスです。iPhone・iPadを選択するとiPhone用、iPad用のアプリを作成できます。Universalを選 ぶとiPhoneのときはiPhone向け、iPadのときはiPad向けの表示ができます。(一つのアプリで使い分けられます) UseStoryBoard:パーツの配置を行う際に、StoryBoardを使うかどうかを選択できます。StoryBoardはiOS5から入った機能 なので、古いOSをサポートする場合は使いません。ここでチェックを入れないとxibファイルというファイルが作成されま す。(古い本だと書かれていないかもです) Use Automatic Reference Counting:リファレンスカウンタを自動的に行うかどうかを選択できます。これもIOS5から入っ た機能です。これにチェックを入れないと、確保したメモリを自分で解放することになります。(解放しないと、メモリリ ークが発生します)ここでは、チェックを入れます。 Include Unit Tests:UnitTestを行うことができます。とりあえずここでは使いません。
10.
このような画面が表示されたでしょうか?
ファイルの内容を表示 ファイル名を表示する する 13年3月17日日曜日 プロジェクトを作成するとこのような画面が表示されます。 EclipseとかのIDEを使っていればだいたいにたようなものだと思います。 左側にファイル名、真ん中にファイルの内容が表示されます。 右側はソースコードを編集しているときにはあまり使わないのですが、 StoryBoardで部品の情報を編集するのに使います。 だいたいイメージがつかめるかと思いますが、 上の部分にあるRunというアイコンをクリックするとソースコードの実行を行うことができます。
11.
いったんこの状態で「Run」をクリックして
みましょう こんな風に何もない画面が表示 されましたか? 13年3月17日日曜日 では、この状態で実行してみましょう。 iPhoneシミュレータが起動されて、真っ白な画面が表示されたと思います。 XcodeにはiPhone/iPadむけシミュレータが用意されており、Mac上で挙動を確認することができます。 ただし、シミュレータでは確認できない機能(電話とか、カメラとか)もありますし、当然ながらiPhone端末よりもMacの 方がスペックが高いので、最終的な確認は実機で行うようにしましょう。 シミュレータではさくさく動いていたのに、実機に転送してみたらもっさりしていたなんてことはよくあります。
12.
さすがにそれだとつまらないので、 ボタンを押したらHelloWorldを表示させるようにします。 MainStoryBoard.storyboardを選択してください。 StoryBoardで パーツの配置が できます。 13年3月17日日曜日 さすがに何も表示されないアプリではつまらないので、ボタンを表示したらHelloWorldを表示させるようにしましょう。 ONボタンを押したらHelloWorldを表示し、OFFボタンを押したら表示を消すという単純なアプリを作ってみることにしま す。 左のWindowからMainStoryBoard.storyboardというファイルを選択してください。ラベルとボタンの配置を行います。右 側のWindowから配置するパーツを選択し、ドラッグします。 ここではUILabelというパーツとUIButtonというパーツを選択して真ん中のWindowにドラッグしてください。
13.
右側のwindowにオブジェクトが記載されているの
で、配置してみましょう 13年3月17日日曜日 UILabelを配置したらLabelという表記を削除しましょう。 ここではボタンを押したら表記を変更するようにします。 UIButtonを2つ配置し、Buttonと記載されている箇所を変更します。 片方をON、片方をOFFにしてみましょう。
14.
配置したら、ソースコードに反映します。 13年3月17日日曜日 パーツを作成したら、ソースコードを編集します。 Objective-Cは拡張子が.hのヘッダファイルと.mののファイル(C言語でいう.c)があります。 ヘッダファイルには変数やマクロを記載し、実際の処理を.mファイルに記載します。 StoryBoardに配置した部品とソースコードをひもづけていきましょう。 部品を選択して、Controlボタンをおしながらヘッダファイルにドラッグしましょう。 そうすると、ウインドウが表示されるので、変数名などを記載します。 labelを選択→Controlボタンを押しながらヘッダファイルにドラッグします。 ConnectionはOutletを選択してください。 Nameの箇所に好きな変数名を記載します。あとはそのままの状態にしてConnectボタンを押してください。 buttonを選択→Controlボタンを押しながらヘッダファイルにドラッグします。 ConnectionはIBActionを選択してください。 Nameの箇所に好きなメソッド名を記載します。あとはそのままの状態にしてConnectボタンを押してください。
15.
ヘッダファイルの内容がこのようになったでしょうか。 @interface ViewController
: UIViewController@property (weak, nonatomic) IBOutlet UILabel *label;- (IBAction)displayOff:(id)sender;- (IBAction)displayOn: (id)sender; @end ヘッダファイルの書き方は以下の通りです。 @interface クラス名:スーパークラス名{ インスタンス変数の定義} プロパティ名、メソッド名の定義 @end 13年3月17日日曜日 ヘッダファイルの内容について説明いたします。 @interface ViewController:UIViewController という箇所でViewControllerというクラス名を定義しています。 ViewControllerの隣に書いてあるUIViewControllerというのは親クラスで、 このViewControllerというのはUIViewControllerというiOSのクラスを継承しています。 @property(weak,nonatomic)IBOutlet UILabel *label; という箇所でlabelという変数を定義しています。 @propertyとすることでコンパイラが勝手にsetterとgetterを作ってくれます。 ヘッダファイルに記載した変数はpublicではないので、アクセスする場合はsetterとgetterが必要なのです IBOutletと記載したことでInterfaceBuiderで定義した部品と結びつけることが出来ます。 -(IBAction)displayOff:(id)sender; という箇所でボタンが押されたときに呼び出されるメソッドを定義しています。 IBActionと記載したことでInterface Builderでこのメソッドをactionとして認識できるようになります。 ちなみにコンパイラないでIBActionはvoidに書き換えられますので、リターン値は特にありません。
16.
メソッド名の記載の仕方は以下の通りです。 (リターン値の型)メソッド名:(引数の型)引数名 (NSString*)hoge(NSString*)moge 引数が二つ以上の場合は以下のように記載することが多い です。 (リターン値の型)メソッド名:(引数の型)引数名 メッセ ージキーワード:(引数の型)引数名 (NSString*)hoge2:(NSString*)moge moge1(NSString*)moge2 13年3月17日日曜日 メソッド名の定義方法について説明します。 例では-
(IBAction)displayOff:(id)senderと記載していましたが、 (リターン値の型)メソッド名:(引数の型)引数名と定義するのが基本です。 引数が2つ以上の場合、メッセージキーワードを記載するのが普通です。 無くてもエラーにはなりません。
17.
では、ソースコードを変更していきましょう。 このようになっているでしょうか。 #import
"ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}- (IBAction)displayOff:(id)sender {}- (IBAction)displayOn:(id)sender { } @end 13年3月17日日曜日 今度はViewController.mファイルを変更していきます。 このように記載されているかと思います。 viewDidLoadというメソッドとdidReceiveMemoryWarningというメソッドはUIViewControllerでていぎされているもの で、ここではオーバーライドしています。 独自に実装したい処理がある場合はここで定義します。 ちなみに、viewDidLoadというメソッドはView(画面)が初期化されるときに呼び出されるメソッドで、 didReceiveMemoryWarningというメソッドはメモリ不足になったときに呼び出されるメソッドです。 定義したメソッドの内容を実装していきましょう。
18.
[self.label setText:@ Hello
World ]; //この書き方でも問題ありません。 self.label.text = @ Hello World ; } メソッドの呼び出し方法(メッセージングという) [オブジェクト名 メソッド名:引数名 メッセージキーワー ド:引数名] 例 [hoge setHoge:moge moge2:moge2]; 13年3月17日日曜日 Onボタンが押されたときに、ラベルの内容を変更します。 [self.label setText:@”Hello World”];と記載することでlabelという変数のテキスト内容を変更することができます。 setTextというのはtextというプライベート変数に対するセッターです。 ただし、Objective-Cでは self.label.textというようにJavaのような記載をすることも出来ます。 メソッドを呼び出すには [オブジェクト名 メソッド:引数名 メッセージキーワード:引数名]のように記載します。 Objective-Cではオブジェクトに対して 「メソッド名」のメッセージを送るという処理を行います。
19.
では、Runボタンをクリックして実行してみましょう。 こんな感じになったでしょうか。 13年3月17日日曜日
20.
こんな感じでHelloWorldすることが出来ま した。
それではもうちょっとかっこいいアプリを作 ってみましょう。 13年3月17日日曜日
21.
おすすめ本などを紹介 Appleのサンプルコード
https://developer.apple.com/library/ios/navigation/ index.html?section=Resource+Types&topic=Sample +Code 入門書はこれが好きです(英語です) Beginning iOS6 Development(Dave Mark) http://www.apress.com/9781430245124 Objective-Cについては以下の本が詳しいです(入門書では ありません) 詳解Objective-C2.0 第3版 萩原剛志 13年3月17日日曜日 最後におすすめの本などを詳解します。 参考書を既に持っているという方はそれを使っていただいてかまいません。 まず、AppleのDeveloperサイトにはサンプルコードがあります。 使いたい機能を見つけてダウンロードしてみてください。 入門書はいろいろあるのですが、個人的にはApressのBegininngiOSシリーズが好きです。 何がいいかというと情報が早いのです。アルファプログラムではありますが、iOS6に対応しています。 英語ですが、それほど難しい表現はありません。 Objective-Cそのものについては 詳解Objective-C2.0 第3版 をお勧めします。決して入門書ではないので、あるていど出 来るようになってから使ったほうがいいです。
22.
本日はありがとうございました。 13年3月17日日曜日
Télécharger maintenant