はじめてのiPhoneアプリ作成

49
はじめてのiPhoneアプリ作成 @ 赤坂勉強会 資料作成 20121216荒川 巧也

description

2012年12月16日赤坂で行ったiPhoneアプリ勉強会で使ったスライドになります。

Transcript of はじめてのiPhoneアプリ作成

Page 1: はじめてのiPhoneアプリ作成

はじめてのiPhoneアプリ作成@ 赤坂勉強会

資料作成 2012年12月16日 荒川 巧也

Page 2: はじめてのiPhoneアプリ作成

まず始めに・・・

1.この勉強会を開いた理由

2.アプリ開発に必要なこと

3.時計アプリ制作

本日お話する内容

Page 3: はじめてのiPhoneアプリ作成

1.この勉強会を開いた理由

Page 4: はじめてのiPhoneアプリ作成

最近スマホアプリが人気

• 人気のアプリを遊ぶだけでなく自分でもアプリを作れたら・・それをapp

storeに出して世界に公開できたら・・どんなにすごいだろう・・・

Page 5: はじめてのiPhoneアプリ作成

さまざまなアプリ開発本が出てます。

本屋さんの風景

Page 6: はじめてのiPhoneアプリ作成

でも実際には・・・いろいろ勉強が必要です。

1. Objective-C (プログラム知識)

2. Xcodeの使い方

3.サウンド

4.絵

5.マネタイズ6.and more・・・

Page 7: はじめてのiPhoneアプリ作成

現状として・・・• Officeソフトで個人が個人用の書類を作るようにアプリを作ることができません。。

Page 8: はじめてのiPhoneアプリ作成

難しいObjective-CとかXcodeとか

でも独学で勉強すると・・

Page 9: はじめてのiPhoneアプリ作成

そこで・・考えました!!iPhoneアプリ(もしくはiPadアプリ)制作に興味ある初心者(中級者)達が集まる勉強会を開きたい。

本日はお忙しいところご出席ありがとうございます。アプリ開発に興味あるもの同士有意義な時間を過ごしましょう。

Page 10: はじめてのiPhoneアプリ作成

iPhoneアプリを作るには?

• Mac

• iPhone,iPad,iPod touch (実機確認用)

• Xcode

• Developer登録(年会費8400円)

Page 11: はじめてのiPhoneアプリ作成

Xcode以外でもアプリ作れるよ?

Titanum Unity3D COCOS2D

Page 12: はじめてのiPhoneアプリ作成

今回の勉強会ははじめてのアプリ作りを想定しました

入り口として「apple純正開発ツール」であるXcodeを学ぶことでアプリ作りに興味を持つきっかけにして欲しいと考えました。

Page 13: はじめてのiPhoneアプリ作成

もしUnityに興味が出たら・・

Unity勉強会も実施してますのでご参加ください。

Page 14: はじめてのiPhoneアプリ作成

2012年11月30日実施勉強会

Page 15: はじめてのiPhoneアプリ作成

以上、宣伝でした。

Page 16: はじめてのiPhoneアプリ作成

ちなみに・・なぜiPhoneなの?Androidは?

要望があれば検討します。(でもiPhoneが好き)

Page 17: はじめてのiPhoneアプリ作成

2.アプリ開発に必要なこと

Page 18: はじめてのiPhoneアプリ作成

2.アプリ開発に必要なこと

• まず、iPhoneアプリ制作(Xcode)で使われるObjective-Cについて学ぼう。

Page 19: はじめてのiPhoneアプリ作成

そもそもプログラミング言語とは?

C,C++, Objective-C,C#, Java,

Ruby,Python, Javascript...

and more

目的によりいろいろな言語があります

#include <stdio.h> int main() { printf("hello, world\n"); return 0;}

<C言語>

Page 20: はじめてのiPhoneアプリ作成

これは・・・人間の言語と同じ

1.日本語 愛してる

3.中国語 我愛你

2.英語 I love you

4.韓国語 사랑해요

Page 21: はじめてのiPhoneアプリ作成

人工言語と自然言語

• 人間が話す言語は自然言語と言います。完璧な文法でなくとも単語の羅列で通じますよね?(海外旅行とか)

• コンピュータで使う言語は人工言語と言います。

完璧な文法でないとエラーになります。

Page 22: はじめてのiPhoneアプリ作成

Objective-Cとは?

• 1985年NeXT社が開発言語として採用した言語。

• 1997年AppleがNeXTを買収。AppleはNeXTのOS(現在のOSX)を引き継ぐことになった。

• 2008年以降iOSアプリ開発のために学習者が増えています。

この本の後半部分に詳しく書かれています。

apple製品くらいしか使われていません。

Page 23: はじめてのiPhoneアプリ作成

    3.時計アプリ制作

Page 24: はじめてのiPhoneアプリ作成

ではXcode触りましょう

Page 25: はじめてのiPhoneアプリ作成

今日作るもの

時計アプリです。

Page 26: はじめてのiPhoneアプリ作成

Xcodeとは・・

Xcode

iOS シュミレーター Instruments(コード編集)

編集・確認

Page 27: はじめてのiPhoneアプリ作成

Xcodeとは・・

画面デザイン 画面を動かすプログラム

View Controller.h

View Controller.m

画面デザイン

具体的なプログラム

変数リスト

部品

Page 28: はじめてのiPhoneアプリ作成

1.Xcodeを立ち上げよう

こちらをクリック

Page 29: はじめてのiPhoneアプリ作成

Xcodeを立ち上げよう

今日はこれを選択

Page 30: はじめてのiPhoneアプリ作成

せっかくなので・・

① ② ③

④ ⑤ ⑥

今日使わない①~⑥を見てみよう。

Page 31: はじめてのiPhoneアプリ作成

① Master-detail Application

iPhone上では、画面(ビュー)が複数枚あり、階層的に画面推移するアプリ用のテンプレート。

Page 32: はじめてのiPhoneアプリ作成

②OpenGL Games

OpenGL ESという、2Dや3Dのグラッフィクスを表示する機能を使ったテンプレート。主にゲームアプリに使用。

Page 33: はじめてのiPhoneアプリ作成

③Page-Based Application

電子書籍のようにめくって画面が推移するアプリ用のテンプレート。

Page 34: はじめてのiPhoneアプリ作成

④Tabbed Application

画面下にタブがあり、それを押すことで画面が推移するアプリ用のテンプレート。

Page 35: はじめてのiPhoneアプリ作成

⑤Utility Application

画面が裏表あり、ボタンをタップするとひっくり返るアプリ用のテンプレート。

Page 36: はじめてのiPhoneアプリ作成

⑥Empty Application

最低限の情報しかないアプリ用のテンプレート。逆に言えば自分でしっかり作り込みたい時はこれを使えば細かい調整も行える。

Page 37: はじめてのiPhoneアプリ作成

3.時計アプリ制作

appの名前開発者の名前開発者が所属する組織名前

iPhoneにする。

Page 38: はじめてのiPhoneアプリ作成

3.時計アプリ制作

アプリの向き

アイコンのセット

スプラッシュ画面

Page 39: はじめてのiPhoneアプリ作成

3.時計アプリ制作

MainStoryboard.storyboard をダブルクリック

Page 40: はじめてのiPhoneアプリ作成

3.時計アプリ制作

クリック

選択

Page 41: はじめてのiPhoneアプリ作成

3.時計アプリ制作

ドラッグして挿入

Page 42: はじめてのiPhoneアプリ作成

3.時計アプリ制作00:00:00にする。

Page 43: はじめてのiPhoneアプリ作成

3.時計アプリ制作選択

Page 44: はじめてのiPhoneアプリ作成

3.時計アプリ制作

connect押す。

Page 45: はじめてのiPhoneアプリ作成

3.時計アプリ制作

View Controller.mを選択

Page 46: はじめてのiPhoneアプリ作成

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];! // Do any additional setup after loading the view, typically from a nib. [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(update) userInfo:nil repeats:YES];}-(void)update{ NSDate *now = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"HH:mm:ss"]; self.timeLabel.text = [df stringFromDate:now]; }-(void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}

@end

3.時計アプリ制作View Controller.mに入力してください。

Page 47: はじめてのiPhoneアプリ作成

3.時計アプリ制作

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];! // Do any additional setup after loading the view, typically from a nib. [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(update) userInfo:nil repeats:YES];}-(void)update{ NSDate *now = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"HH:mm:ss"]; self.timeLabel.text = [df stringFromDate:now]; }-(void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}

@end

NSTimerで繰り返し呼び出す関数を指定繰り返す間合い(秒数)を指定

呼び出す関数を指定 ( この場合はupdate)

繰り返す:YES

NSDateで現在の日時を示します。

時・分・秒の形式として表示

「現在の日時」を「時・分・秒」形式でラベルに表示

Page 48: はじめてのiPhoneアプリ作成

3.時計アプリ制作 (完成!!!)

追加(ここまでできれば時計になります。)

view controller .m

Page 49: はじめてのiPhoneアプリ作成

お忙しいところありがとうございました。

• 本日の勉強会に関してご質問などありましたら、[email protected] (荒川巧也)までご連絡ください。

• Facebookに「iPhoneアプリ作成勉強会」を作りました(https://www.facebook.com/

groups/142697315880496/)。よろしければご登録お願いします。