Xcodeを用いた iPhone/iPadアプリ開発

44
Xcodeを用いた iPhone/iPadアプリ開発 イラスティックコンサルタンツ株式会社 濵﨑 一樹

description

第18回のApple BUで使用したものです。

Transcript of Xcodeを用いた iPhone/iPadアプリ開発

Page 1: Xcodeを用いた iPhone/iPadアプリ開発

Xcodeを用いたiPhone/iPadアプリ開発イラスティックコンサルタンツ株式会社 濵﨑 一樹

Page 2: Xcodeを用いた iPhone/iPadアプリ開発

About Me

• 名前: 濵﨑 一樹(はまさき かずき)

• 所属:イラスティックコンサルタンツ株式会社• iPhoneアプリ開発/CakePHP/鹿児島

• JavaFX Coding Challenge, Student Winner

• RICOH & SUN Java Challenge 2009, Sun Microsystems AWARD

[email protected]

Page 3: Xcodeを用いた iPhone/iPadアプリ開発

120 millioniPhone, iPod Touch, iPad

Page 4: Xcodeを用いた iPhone/iPadアプリ開発

300,000+iOS Apps

Page 5: Xcodeを用いた iPhone/iPadアプリ開発

10,000,000,000App Store Download

Page 6: Xcodeを用いた iPhone/iPadアプリ開発

Agenda

• iOSの概要

• iOS Developer Programへの登録

• 開発環境の構築

• Objective-C概要

• サンプルアプリケーションの開発

• 審査、公開

Page 8: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3. アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 9: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3. アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 10: Xcodeを用いた iPhone/iPadアプリ開発

iOS Developer Program

• ベータ版のOSや開発キットが使える

• 実機での開発

• App Storeでの配布、販売

• テクニカルサポート

• 年間参加費 ¥10,800-

Page 11: Xcodeを用いた iPhone/iPadアプリ開発

iOS Developer Enterprise Program

• 組織内専用のiOSアプリケーション開発

• AppStoreには公開できない

• 年間参加費 ¥33,800

Page 12: Xcodeを用いた iPhone/iPadアプリ開発

iOS Developer Programの登録

• 英語でApple IDを新規作成する

• 日本語が含まれていると登録に失敗する

• 登録ミスの場合はAppleにメール

• 個人登録

• 本名で公開 開発者は1人

Page 13: Xcodeを用いた iPhone/iPadアプリ開発

法人登録

• 会社名で公開 開発は複数人• 登記簿謄本等をFAX

• Appleから確認の電話

• 有料アプリを販売する場合• 銀行口座の情報• 税務情報の入力

Page 14: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2.各種ガイドラインの確認

3. アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 15: Xcodeを用いた iPhone/iPadアプリ開発

ガイドライン

• iOS Developer Program License Agreement

• iOS Human Interface Guidelines

• App Store Review Guidelines

Page 16: Xcodeを用いた iPhone/iPadアプリ開発

iOS Developer Program License Agreement

• App Store以外でのアプリの配信禁止

• アプリの無効化

Page 17: Xcodeを用いた iPhone/iPadアプリ開発

iOS Human Interface Guidelines

• アプリをデザインするための指針

• 設計、デザインはこれに従う

• 150ページ以上

Page 18: Xcodeを用いた iPhone/iPadアプリ開発

App Store Review Guidelines

• アプリの審査基準 べからず集

• バグのあるアプリはリジェクト

• ベータ、デモ、体験版、テスト版はリジェクト

• 「一線を超えた」アプリはリジェクト

Page 19: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3.アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 20: Xcodeを用いた iPhone/iPadアプリ開発

様々な開発環境

• Xcode

• Flash CS5 Packager for iPhone

• Titanium Mobile

• Mono Touch

Page 21: Xcodeを用いた iPhone/iPadアプリ開発

様々な開発環境

• Xcode

• Flash CS5 Packager for iPhone

• Titanium Mobile

• Mono Touch

Page 22: Xcodeを用いた iPhone/iPadアプリ開発

開発環境の構築

• 必要なもの

• Mac OS X Snow Leopard

• Xcode

• iOS SDK

iOS Developer Programに登録しなくても無料でダウンロードできる

Page 23: Xcodeを用いた iPhone/iPadアプリ開発

Xcode & iOS SDK

• iOS Dev Center

• iOSアプリケーション開発に関するリソースを提供

• https://developer.apple.com/devcenter/ios/index.action

Page 24: Xcodeを用いた iPhone/iPadアプリ開発

Hello World

• ディスプレイに「Hello World」という文字を表示するだけのアプリ

Page 25: Xcodeを用いた iPhone/iPadアプリ開発

Demo

Page 26: Xcodeを用いた iPhone/iPadアプリ開発

Interface Builder

• グラフィカルユーザーインターフェースを作成するためのソフトウェア

• ボタンやメニュー、ウィンドウなどのパーツをマウスによって配置することのできる

Page 27: Xcodeを用いた iPhone/iPadアプリ開発

Objective-C

• Cの完全上位互換

• C言語+Smalltalk風味のオブジェクト指向

• 弱い動的型付け

• 単一継承+インタフェース多重継承

Page 28: Xcodeを用いた iPhone/iPadアプリ開発

メッセージ式• あるオブジェクトobjに対してメッセージ

msgを送る

[obj msg]

• 引数付きメッセージval = [receiver msg: arg1 with: arg2];

val = receiver->msg(arg1, arg2);  (C言語風)

Page 29: Xcodeを用いた iPhone/iPadアプリ開発

クラス定義// クラスの定義 (hoge.h)

@interface MyObject : NSObject { int val; id obj;} // クラスメソッド+ (void)classMethod:(id)arg;// インスタンスメソッド- (id)method:(NSObject*)arg1 with:(int)arg2;

@end

Page 30: Xcodeを用いた iPhone/iPadアプリ開発

クラスの実装// 実装 (hoge.m)

@implementation MyObject

+ (void)classMethod:(id)arg { // some operation}

@end

Page 31: Xcodeを用いた iPhone/iPadアプリ開発

サンプルアプリ@kenji_air さんのくちぐせ

「まじすか!?」「ですよね!」

をTwitterで簡単につぶやけるアプリ

Page 32: Xcodeを用いた iPhone/iPadアプリ開発

Demo

Page 33: Xcodeを用いた iPhone/iPadアプリ開発

MGTwitterEngine

• Twitter連携用ライブラリ

• https://github.com/mattgemmell/MGTwitterEngine

Page 34: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3. アプリ開発

4.実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 35: Xcodeを用いた iPhone/iPadアプリ開発

実機での動作確認

• デバイスの登録が必要

• デバイスへのプロビジョニングファイルのインストール

• 100台まで登録が可能

Page 36: Xcodeを用いた iPhone/iPadアプリ開発

Demo

Page 37: Xcodeを用いた iPhone/iPadアプリ開発

iOS搭載デバイスiPhone iPod Touch iPad Apple TV (2nd)

ディスプレイ 320x480 640x960 (4)

320x480640x960 (4th) 1024x768 720p

カメラ ✓ ✓(4th) × ×

加速度センサ ✓ ✓ ✓ ×

GPS ✓ × ✓(3G) ×

マイク ✓ ✓(4th) ✓ ×

バイブレーション ✓ × × ×

Page 38: Xcodeを用いた iPhone/iPadアプリ開発

Retina対応• 高解像度の画像を用意する

• 非Retina 320x480

• Retina 640x960

• [UIImage imageNamed]の場合 自動で読み分け

• 非Retina画像  hoge.png

• Retina対応画像 [email protected]

Page 39: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3. アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6. 公開

Page 40: Xcodeを用いた iPhone/iPadアプリ開発

アプリの審査• アプリの審査• 1週間から10日前後

• OSのバージョンアップ前後は混む

• リジェクト理由• 落ちる、非公開APIを使用、激しく役に立たない

• Reject Database for iPhone Developer

Page 41: Xcodeを用いた iPhone/iPadアプリ開発

アプリの審査申請• 申請に必要なもの

• 開発したアプリケーション

• 512×512pxのアイコン

• スクリーンショット

• 説明文(日本語/英語)

• サポートページのURL

Page 42: Xcodeを用いた iPhone/iPadアプリ開発

iTunes Connect

• App Storeで公開するアプリの申請、管理行うサイト

• デフォルトの言語設定は必ず英語

• 二度と変更できないので注意

Page 43: Xcodeを用いた iPhone/iPadアプリ開発

アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)

2. 各種ガイドラインの確認

3. アプリ開発

4. 実機で動作確認

5. App Store 審査 (1週間~)

6.公開

Page 44: Xcodeを用いた iPhone/iPadアプリ開発

参考となるサイト

• とにもかくにも iOS Dev Center

• Developing Apps for iOS (HD) (iTunes U)

• @iphone_dev_jp (twitter)

• 苦しんで覚えるC言語