Tools for iPhone OS Development
http://developer.apple.com/iphone/gettingstarted/docs/iphonedevtools.action
Learning Objective-C: A Primer
http://developer.apple.com/iphone/gettingstarted/docs/objectivecprimer.action
この資料に限らず、HTMLの資料は動画の説明とほぼ同じ内容か、拡張した内容のようです。ビデオでうまく理解できなかった内容を確認するには良さそうです。
2008年6月24日火曜日
iPhone OS Overview
iPhone OS Overview
http://developer.apple.com/iphone/gettingstarted/docs/iphoneosoverview.action
iPhoneの一番下にあるCore OSはMac OS Xと同じMachカーネルを元にしているとしていますが、Mac OS XのDarwinカーネルのようなMachカーネルとI/O Kitの組み合わせ、とは書いていません(笑)
Core OSとCore Servicesが提供するインタフェースはC言語ベースで以下のようなものが含まれています。
Core Foundation
CFNetwork
SQLite
access to POSIX threads
UNIX sockets
上位のレイヤではC言語とObjective-Cベースで、メディア レイヤを例にするとC言語ベースのOpenGL ES、Quartz、Core Audio、Objective-CベースのCore Animationが含まれています。
Cocoa TouchレイヤではほとんどがObjective-Cベースです。Foundationフレームワークはファイル管理やネットワークなどを提供し、UIKitフレームワークはWindows、View、Controlそして、各オブジェクトを管理するcontrollerなどを提供しているそうです。
システムが起動できるアプリケーションの数は一度に一つだけで、アプリケーションは画面などハードウェアを占有できます。また、iPhoneのViewやControlはMac OS Xとは違いがあるので注意が必要だと書いています。
iPhone OSのイベント処理もタッチパネルなど今までと異なるので既存のOSとは異なり、今までのアプリケーション開発とは別のものとして考察する事になるそうです。
開発の手始めはFoundationとUIKitのフレームワークで、資料を読み始めるように書いています。
Foundation Framework Reference
http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/ObjC_classic/index.html
UIKit Framework Reference
http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIKit_Framework/index.html
iPhone OS Programming Guide: Introduction
http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/chapter_1_section_1.html
http://developer.apple.com/iphone/gettingstarted/docs/iphoneosoverview.action
iPhoneの一番下にあるCore OSはMac OS Xと同じMachカーネルを元にしているとしていますが、Mac OS XのDarwinカーネルのようなMachカーネルとI/O Kitの組み合わせ、とは書いていません(笑)
Core OSとCore Servicesが提供するインタフェースはC言語ベースで以下のようなものが含まれています。
Core Foundation
CFNetwork
SQLite
access to POSIX threads
UNIX sockets
上位のレイヤではC言語とObjective-Cベースで、メディア レイヤを例にするとC言語ベースのOpenGL ES、Quartz、Core Audio、Objective-CベースのCore Animationが含まれています。
Cocoa TouchレイヤではほとんどがObjective-Cベースです。Foundationフレームワークはファイル管理やネットワークなどを提供し、UIKitフレームワークはWindows、View、Controlそして、各オブジェクトを管理するcontrollerなどを提供しているそうです。
システムが起動できるアプリケーションの数は一度に一つだけで、アプリケーションは画面などハードウェアを占有できます。また、iPhoneのViewやControlはMac OS Xとは違いがあるので注意が必要だと書いています。
iPhone OSのイベント処理もタッチパネルなど今までと異なるので既存のOSとは異なり、今までのアプリケーション開発とは別のものとして考察する事になるそうです。
開発の手始めはFoundationとUIKitのフレームワークで、資料を読み始めるように書いています。
Foundation Framework Reference
http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/ObjC_classic/index.html
UIKit Framework Reference
http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIKit_Framework/index.html
iPhone OS Programming Guide: Introduction
http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/chapter_1_section_1.html
2008年6月18日水曜日
iPhone SDK β7
iPhone SDKのサイトを見るとβ7が上がっていました。以前は新しい版がアップされるとメールで案内が来ていましたが、最近は来なくなりました。iphone_sdk__9m2199__wwdc08.dmgというファイル名から推測するとWWDC 2008で配布されたものと思われます。
この版からiPhone用のプロジェクト テンプレートの数が6つになり、Cocoa Touchという名前が消えました。どういう訳か資料からもCocoa Touchという名前が消えているようです。
以前から思っているのですが「新規プロジェクト」の画面左側はiPhone OSとMac OS Xの二つに分類されているですが、各項目がネストしていないうえに、iPhone OSには項目が一つしかないので分かりにくいです。
この版からiPhone用のプロジェクト テンプレートの数が6つになり、Cocoa Touchという名前が消えました。どういう訳か資料からもCocoa Touchという名前が消えているようです。
以前から思っているのですが「新規プロジェクト」の画面左側はiPhone OSとMac OS Xの二つに分類されているですが、各項目がネストしていないうえに、iPhone OSには項目が一つしかないので分かりにくいです。
2008年6月14日土曜日
2008年6月13日金曜日
1-10 iPhone SDK for Web Developers.m4v
ビデオのメモ
Web技術
Java script
getElementsBy_Class_Name_
エレメントのアレイを返す
var myDivs = document.get getElementsBy_Class_Name_("myDivClass")
Selectors API
CSSのセレクタを得る
var fooOrBar = document.querySelector("#foo, #bar"); // 次のセレクタ
var warnings = document.querySelectorAll("p.warning") // 全てのセレクタ
Native SVG ベクトル画
Scalable Vector Graphics 1.1
<img src="asf-logo.svg" style="height:90%;width:90%;">
background-image: url("asf-log.svg")
CSS Effect アニメーション
変形(回転など)
-webkit-transform : trasform_function
-webkit-transform-origin : 3dpoint trasform_function
skew(angle)ひねり
scale(number)拡大縮小
rotate(angle)回転
translate(number)移動
移動
-webkit-transition-property : opacity; //透明などのスタイル
-webkit-transition-duration : 2s; // 2秒で移動
-webkit-transition-timing-function : linear; // 移動速度
-myyElement.style.opacity = "10%"; // 最終の透明度
アニメーション CSS Animation
-animation-name : 'bounce'; // キーフレーム名の指定
キーフレームの例
@keyframes 'bounce' {
0 { top: 100px; }
25% { top: 150px; }
50% { top: 200px; }
75% { top: 150px; }
100% { top: 100px; }
-animation-duration : '2s'; // アニメーションの時間
-animation-iteration-count : 1; // 繰り返し回数
アニメーションはハードウェアで実行
offline Data クライアント側のデータベースAPI
HTML 5規格
JavaScript API
openDatabase
myDB = openDatabase("noteDB", "1.0", "My Database", 200000);
データベース名、バージョン、概要、サイズ
executeSQL
myDB.executeSql("INSERT INTO NoteTable (id, note,) VALUES ( ?, ?)", [note.id, note.text]);
SQL syntaxが使える
Transactionをサポート
セキュア 同じドメインのみアクセス
フル スクリーン モード
SafariのURL欄とToolbarを表示せずにWebサイトを表示できる
Homeスクリーン アイコンが必要
apple-touch-icon.png または
<link rel="apple-touch-icon" href="/customIcon.png"/>
メタタグも必要
<meta name="apple-touch-fullscreen" content="YES" />
ジェスチャ イベント
JavaScriptのハンドラ
gesturestart
gesturechange
gestureend
回転、拡大縮小ができる
<div ongesturestart="handleGesture()"> </dive>
mouseEventsの代用
ツール
iPhone Simulator
Dashcode
Web技術
Java script
getElementsBy_Class_Name_
エレメントのアレイを返す
var myDivs = document.get getElementsBy_Class_Name_("myDivClass")
Selectors API
CSSのセレクタを得る
var fooOrBar = document.querySelector("#foo, #bar"); // 次のセレクタ
var warnings = document.querySelectorAll("p.warning") // 全てのセレクタ
Native SVG ベクトル画
Scalable Vector Graphics 1.1
<img src="asf-logo.svg" style="height:90%;width:90%;">
background-image: url("asf-log.svg")
CSS Effect アニメーション
変形(回転など)
-webkit-transform : trasform_function
-webkit-transform-origin : 3dpoint trasform_function
skew(angle)ひねり
scale(number)拡大縮小
rotate(angle)回転
translate(number)移動
移動
-webkit-transition-property : opacity; //透明などのスタイル
-webkit-transition-duration : 2s; // 2秒で移動
-webkit-transition-timing-function : linear; // 移動速度
-myyElement.style.opacity = "10%"; // 最終の透明度
アニメーション CSS Animation
-animation-name : 'bounce'; // キーフレーム名の指定
キーフレームの例
@keyframes 'bounce' {
0 { top: 100px; }
25% { top: 150px; }
50% { top: 200px; }
75% { top: 150px; }
100% { top: 100px; }
-animation-duration : '2s'; // アニメーションの時間
-animation-iteration-count : 1; // 繰り返し回数
アニメーションはハードウェアで実行
offline Data クライアント側のデータベースAPI
HTML 5規格
JavaScript API
openDatabase
myDB = openDatabase("noteDB", "1.0", "My Database", 200000);
データベース名、バージョン、概要、サイズ
executeSQL
myDB.executeSql("INSERT INTO NoteTable (id, note,) VALUES ( ?, ?)", [note.id, note.text]);
SQL syntaxが使える
Transactionをサポート
セキュア 同じドメインのみアクセス
フル スクリーン モード
SafariのURL欄とToolbarを表示せずにWebサイトを表示できる
Homeスクリーン アイコンが必要
apple-touch-icon.png または
<link rel="apple-touch-icon" href="/customIcon.png"/>
メタタグも必要
<meta name="apple-touch-fullscreen" content="YES" />
ジェスチャ イベント
JavaScriptのハンドラ
gesturestart
gesturechange
gestureend
回転、拡大縮小ができる
<div ongesturestart="handleGesture()"> </dive>
mouseEventsの代用
ツール
iPhone Simulator
Dashcode
1-09 Leveraging iPhone Location, Acceleration, Orientation, and System Information.m4v
ビデオのメモ
静的情報
システムの情報
System name
System version
Model name
iPhone
iPod touch
User Name
SettingとiTunesで表示されている内容
取得方法
出力結果
"Vicki's Music is an iPod touch running version 1.3"
Unique IDが聞き事に提供されている
オリエンテーション
縦上、縦下、右横、左横、下向き、上向き、不明を知ることができる
情報はPropertyやNotification設定で入手
UIDevice.hで宣言
動的情報
位置情報
緯度 経度 高度 計測時そして前回の計測時が提供
CLLocationManager
消費電力に注意
加速度センサ情報
ゲームだけでなくユーザインタフェースとしても有用
iPhoneを縦に置いて
X方向 水平 右が+
Y方向 垂直 上が+
Z方向 前後 前が+
UIAccelerometer 一定時間ごとに情報を入手
UIAcceleration 呼び出したときのみ
消費電力に注意
静的情報
システムの情報
System name
System version
Model name
iPhone
iPod touch
User Name
SettingとiTunesで表示されている内容
取得方法
UIDevice * myCurrentDevice = [UIDevice currentDevice];
NS Log (@"%@ is an %@ running %@", [myCurrentDevice neme],
[myCurrentDevice model],
[myCurrentDevice systemVersion[);
出力結果
"Vicki's Music is an iPod touch running version 1.3"
Unique IDが聞き事に提供されている
オリエンテーション
縦上、縦下、右横、左横、下向き、上向き、不明を知ることができる
情報はPropertyやNotification設定で入手
UIDevice.hで宣言
動的情報
位置情報
緯度 経度 高度 計測時そして前回の計測時が提供
CLLocationManager
消費電力に注意
加速度センサ情報
ゲームだけでなくユーザインタフェースとしても有用
iPhoneを縦に置いて
X方向 水平 右が+
Y方向 垂直 上が+
Z方向 前後 前が+
UIAccelerometer 一定時間ごとに情報を入手
UIAcceleration 呼び出したときのみ
消費電力に注意
1-08 Key Practices for iPhone Application Development.m4v
ビデオのメモ
1.iPhone用に設計
設計の善し悪しがパフォーマンスに影響
使い方の違いを考慮
小さな画面サイズ
アプリケーションは一つだけ起動
2.メモリ保護
スワップ ファイルはない
メモリスペースが無くなると再起動
害像ファイルフォーマットはPNG
Plistはバイナリに変換
バイナリはThumb命令セット
ARM 16 bit命令のサブセット
メモリ リークをなくす
Instrumentsを使って確認
不要メモリは即座に解放
アロケート プールの使用
独自でメモリスワップのファイルを作成する
データのロードを最小限にする。
一画面に表示しきれない情報は小分けにしてロード
メモリ残警告は以下の三通りで、UIKit経由
application delegate経由
applicationDidReceiveMemoryWarning;
UIViewControllerのサブクラス時
didReceiveMemoryWarning
ノティフィケイション経由
UIApplicationDidReceiveMemoryWarningNotification
メモリ残警告の処理
off-screen viewを解放
キャッシュをパージ
イメージデータのキャッシュ削除
3.応答性
起動を速くすることが重要
終了時に現状を記録し、次回起動時に戻す
20秒以内に応答、起動、終了
4.省エネ
データの送受信は電力消耗が大きい
ネットワークのポーリングをさける
ロケーション サービスの起動と終了を明示
5.保安
全アプリケーションはサンドボックス内にある
自身のファイルとプレファレンスのみ使用可
システム リソースの使用制限
Keychainなどのサービスが利用可
1.iPhone用に設計
設計の善し悪しがパフォーマンスに影響
使い方の違いを考慮
小さな画面サイズ
アプリケーションは一つだけ起動
2.メモリ保護
スワップ ファイルはない
メモリスペースが無くなると再起動
害像ファイルフォーマットはPNG
Plistはバイナリに変換
バイナリはThumb命令セット
ARM 16 bit命令のサブセット
メモリ リークをなくす
Instrumentsを使って確認
不要メモリは即座に解放
アロケート プールの使用
- (NSString *) modifyMyString:(NSString *(myString {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
/* メモリをアロケートする*/
[pool release];
}
独自でメモリスワップのファイルを作成する
データのロードを最小限にする。
一画面に表示しきれない情報は小分けにしてロード
メモリ残警告は以下の三通りで、UIKit経由
application delegate経由
applicationDidReceiveMemoryWarning;
UIViewControllerのサブクラス時
didReceiveMemoryWarning
ノティフィケイション経由
UIApplicationDidReceiveMemoryWarningNotification
メモリ残警告の処理
off-screen viewを解放
キャッシュをパージ
イメージデータのキャッシュ削除
3.応答性
起動を速くすることが重要
終了時に現状を記録し、次回起動時に戻す
20秒以内に応答、起動、終了
4.省エネ
データの送受信は電力消耗が大きい
ネットワークのポーリングをさける
ロケーション サービスの起動と終了を明示
5.保安
全アプリケーションはサンドボックス内にある
自身のファイルとプレファレンスのみ使用可
システム リソースの使用制限
Keychainなどのサービスが利用可
登録:
投稿 (Atom)
Open Source
Appleが主催するdarwin-devのMailing listにAppleのDarwin TeamのWilliam SiegristがDeveloper Tools 3.1.3とiPhone OS 3.0関連のソース一部を公開したと投稿していました。 Developer To...
-
Appleが主催するdarwin-devのMailing listにAppleのDarwin TeamのWilliam SiegristがDeveloper Tools 3.1.3とiPhone OS 3.0関連のソース一部を公開したと投稿していました。 Developer To...
-
アプリケーションの追加方法はAdd New Applicationに書かれています。先のページにもあるように、Manage Your Applicationsがアップロードして登録する場所です。アプリケーションの大きさが200MBを超える場合にはこのページにあるApplicati...
-
このメモは"iPhone Developer Program Standard Program Portal User Guide for OS X iPhone 2.0"という表題(ファイル名:iphone_developer_program_user_gu...