Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Sachiko Kajishima
777 views
iPhone develop for Beginner
iPhone勉強会資料その1です
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 22
2
/ 22
3
/ 22
4
/ 22
5
/ 22
6
/ 22
7
/ 22
8
/ 22
9
/ 22
10
/ 22
11
/ 22
12
/ 22
13
/ 22
14
/ 22
15
/ 22
16
/ 22
17
/ 22
18
/ 22
19
/ 22
20
/ 22
21
/ 22
22
/ 22
More Related Content
PPTX
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
by
Aleja Guzman
PPTX
Presentaciónemy
by
Erick Arias
PPTX
Las tics edufisica
by
becerragomez63
PPT
Tics en la educacion
by
giovanni07
PPTX
ег1 reading
by
Ta4ka
PPT
Aula de eletrônica digital
by
luizgraf
PDF
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
by
José Daniel Rojas Alba
PPT
Buidling large scale recommendation engine
by
Keeyong Han
MEMORIA DESCRIPTIVA...estructuras urbanas antiguas
by
Aleja Guzman
Presentaciónemy
by
Erick Arias
Las tics edufisica
by
becerragomez63
Tics en la educacion
by
giovanni07
ег1 reading
by
Ta4ka
Aula de eletrônica digital
by
luizgraf
Anon -manual_de_capacitaci¢n_en_agricultura_org nica[1]
by
José Daniel Rojas Alba
Buidling large scale recommendation engine
by
Keeyong Han
Similar to iPhone develop for Beginner
PPTX
iphoneアプリ開発 その1:導入〜初アプリ
by
Satoru Murakami
PPTX
iPhoneアプリ開発の歩き方〜Swift編〜
by
Yusuke SAITO
PDF
㉙iPhoneアプリ開発の基礎知識を覚えよう
by
Nishida Kansuke
KEY
iPhoneアプリ開発を楽に楽しくするサイトまとめ
by
Hiramatsu Ryosuke
PDF
DevLOVE iPhoneアプリ勉強会
by
Toshimitsu Takahashi
PDF
⑬I phoneアプリを作ってみよう!(超初心者向け)
by
Nishida Kansuke
PDF
Beginning iPhone Vol2
by
Sachiko Kajishima
PDF
【社内LT】iPhoneアプリ開発のすすめ
by
Vitalify.Inc
PDF
0から教える簡単アプリ開発
by
teencoders
PPTX
勉強会用Swift授業2018-0126
by
Akihiro Fujiwara
PDF
iOSアプリ制作のためのObjective-C入門
by
聡 中川
PPTX
第一回iOSアプリ勉強会
by
Daisuke Tsukagoshi
PDF
Swiftアプリ制作入門 かんたんシューティングゲーム
by
聡 中川
PDF
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
by
Masaru Gushiken
PDF
オープンセミナー2013@広島
by
Masahiko Tani
PPTX
卒業制作
by
Katsuro-u
PDF
iPhoneアプリを作ってみよう
by
Nagao Shun
PDF
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
by
幸雄 村上
PDF
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
by
Nishida Kansuke
PDF
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
by
Toshio Ehara
iphoneアプリ開発 その1:導入〜初アプリ
by
Satoru Murakami
iPhoneアプリ開発の歩き方〜Swift編〜
by
Yusuke SAITO
㉙iPhoneアプリ開発の基礎知識を覚えよう
by
Nishida Kansuke
iPhoneアプリ開発を楽に楽しくするサイトまとめ
by
Hiramatsu Ryosuke
DevLOVE iPhoneアプリ勉強会
by
Toshimitsu Takahashi
⑬I phoneアプリを作ってみよう!(超初心者向け)
by
Nishida Kansuke
Beginning iPhone Vol2
by
Sachiko Kajishima
【社内LT】iPhoneアプリ開発のすすめ
by
Vitalify.Inc
0から教える簡単アプリ開発
by
teencoders
勉強会用Swift授業2018-0126
by
Akihiro Fujiwara
iOSアプリ制作のためのObjective-C入門
by
聡 中川
第一回iOSアプリ勉強会
by
Daisuke Tsukagoshi
Swiftアプリ制作入門 かんたんシューティングゲーム
by
聡 中川
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
by
Masaru Gushiken
オープンセミナー2013@広島
by
Masahiko Tani
卒業制作
by
Katsuro-u
iPhoneアプリを作ってみよう
by
Nagao Shun
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
by
幸雄 村上
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
by
Nishida Kansuke
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
by
Toshio Ehara
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日日曜日
Download