Xcodeを用いた iPhone/iPadアプリ開発
-
Upload
- -
Category
Technology
-
view
391 -
download
3
description
Transcript of Xcodeを用いた iPhone/iPadアプリ開発
Xcodeを用いたiPhone/iPadアプリ開発イラスティックコンサルタンツ株式会社 濵﨑 一樹
About Me
• 名前: 濵﨑 一樹(はまさき かずき)
• 所属:イラスティックコンサルタンツ株式会社• iPhoneアプリ開発/CakePHP/鹿児島
• JavaFX Coding Challenge, Student Winner
• RICOH & SUN Java Challenge 2009, Sun Microsystems AWARD
120 millioniPhone, iPod Touch, iPad
300,000+iOS Apps
10,000,000,000App Store Download
Agenda
• iOSの概要
• iOS Developer Programへの登録
• 開発環境の構築
• Objective-C概要
• サンプルアプリケーションの開発
• 審査、公開
iOSデバイスの概要
• iOS(アイ・オーエス)とは、iPhone、iPod touch、iPadに搭載されているオペレーティングシステム。
• Mac OS X をモバイル向けに最適化
iOS Technology Layers
Core OS
Core Services
Media
Cocoa Touch
User App
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3. アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3. アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
iOS Developer Program
• ベータ版のOSや開発キットが使える
• 実機での開発
• App Storeでの配布、販売
• テクニカルサポート
• 年間参加費 ¥10,800-
iOS Developer Enterprise Program
• 組織内専用のiOSアプリケーション開発
• AppStoreには公開できない
• 年間参加費 ¥33,800
iOS Developer Programの登録
• 英語でApple IDを新規作成する
• 日本語が含まれていると登録に失敗する
• 登録ミスの場合はAppleにメール
• 個人登録
• 本名で公開 開発者は1人
法人登録
• 会社名で公開 開発は複数人• 登記簿謄本等をFAX
• Appleから確認の電話
• 有料アプリを販売する場合• 銀行口座の情報• 税務情報の入力
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2.各種ガイドラインの確認
3. アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
ガイドライン
• iOS Developer Program License Agreement
• iOS Human Interface Guidelines
• App Store Review Guidelines
iOS Developer Program License Agreement
• App Store以外でのアプリの配信禁止
• アプリの無効化
iOS Human Interface Guidelines
• アプリをデザインするための指針
• 設計、デザインはこれに従う
• 150ページ以上
App Store Review Guidelines
• アプリの審査基準 べからず集
• バグのあるアプリはリジェクト
• ベータ、デモ、体験版、テスト版はリジェクト
• 「一線を超えた」アプリはリジェクト
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3.アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
様々な開発環境
• Xcode
• Flash CS5 Packager for iPhone
• Titanium Mobile
• Mono Touch
様々な開発環境
• Xcode
• Flash CS5 Packager for iPhone
• Titanium Mobile
• Mono Touch
開発環境の構築
• 必要なもの
• Mac OS X Snow Leopard
• Xcode
• iOS SDK
iOS Developer Programに登録しなくても無料でダウンロードできる
Xcode & iOS SDK
• iOS Dev Center
• iOSアプリケーション開発に関するリソースを提供
• https://developer.apple.com/devcenter/ios/index.action
Hello World
• ディスプレイに「Hello World」という文字を表示するだけのアプリ
Demo
Interface Builder
• グラフィカルユーザーインターフェースを作成するためのソフトウェア
• ボタンやメニュー、ウィンドウなどのパーツをマウスによって配置することのできる
Objective-C
• Cの完全上位互換
• C言語+Smalltalk風味のオブジェクト指向
• 弱い動的型付け
• 単一継承+インタフェース多重継承
メッセージ式• あるオブジェクトobjに対してメッセージ
msgを送る
[obj msg]
• 引数付きメッセージval = [receiver msg: arg1 with: arg2];
val = receiver->msg(arg1, arg2); (C言語風)
クラス定義// クラスの定義 (hoge.h)
@interface MyObject : NSObject { int val; id obj;} // クラスメソッド+ (void)classMethod:(id)arg;// インスタンスメソッド- (id)method:(NSObject*)arg1 with:(int)arg2;
@end
クラスの実装// 実装 (hoge.m)
@implementation MyObject
+ (void)classMethod:(id)arg { // some operation}
@end
サンプルアプリ@kenji_air さんのくちぐせ
「まじすか!?」「ですよね!」
をTwitterで簡単につぶやけるアプリ
Demo
MGTwitterEngine
• Twitter連携用ライブラリ
• https://github.com/mattgemmell/MGTwitterEngine
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3. アプリ開発
4.実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
実機での動作確認
• デバイスの登録が必要
• デバイスへのプロビジョニングファイルのインストール
• 100台まで登録が可能
Demo
iOS搭載デバイスiPhone iPod Touch iPad Apple TV (2nd)
ディスプレイ 320x480 640x960 (4)
320x480640x960 (4th) 1024x768 720p
カメラ ✓ ✓(4th) × ×
加速度センサ ✓ ✓ ✓ ×
GPS ✓ × ✓(3G) ×
マイク ✓ ✓(4th) ✓ ×
バイブレーション ✓ × × ×
Retina対応• 高解像度の画像を用意する
• 非Retina 320x480
• Retina 640x960
• [UIImage imageNamed]の場合 自動で読み分け
• 非Retina画像 hoge.png
• Retina対応画像 [email protected]
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3. アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6. 公開
アプリの審査• アプリの審査• 1週間から10日前後
• OSのバージョンアップ前後は混む
• リジェクト理由• 落ちる、非公開APIを使用、激しく役に立たない
• Reject Database for iPhone Developer
アプリの審査申請• 申請に必要なもの
• 開発したアプリケーション
• 512×512pxのアイコン
• スクリーンショット
• 説明文(日本語/英語)
• サポートページのURL
iTunes Connect
• App Storeで公開するアプリの申請、管理行うサイト
• デフォルトの言語設定は必ず英語
• 二度と変更できないので注意
アプリ公開まで1. iOS Dev Programへの登録 (法人の場合2週間~)
2. 各種ガイドラインの確認
3. アプリ開発
4. 実機で動作確認
5. App Store 審査 (1週間~)
6.公開
参考となるサイト
• とにもかくにも iOS Dev Center
• Developing Apps for iOS (HD) (iTunes U)
• @iphone_dev_jp (twitter)
• 苦しんで覚えるC言語