XcodeとObjectiveC講習会 講師:株式会社 アセンディア 遠藤 豊紀 2010年4月よりiOSアプリの開発に 参画 (某通信教育の高校生用の教材を 設計作成) 目的 ● ● ● ● iOSアプリを作成する環境を理解する InterFace Builderを使用したiOSアプリを 作成出来る UIのパーツを理解し使用出来る ObjectiveCのメモリ管理の考え方を理解する 受講のスケジュール(1日目) 9:30〜10:45 1 開発環境の構築 2 開発環境の基本 3 ObjectiveCの基本 4 アプリ開発の基本 10:45〜11:00 (休憩15分) 5 基本的なパーツで作る(前半) 12:00〜13:00 (休憩15分) 5 基本的なパーツで作る(後半) 6 画像やアニメーションを扱う 受講のスケジュール(2日目) 続きから 7 iPhoneらしい機能の実装 8 データ読み込みと保存(省略) 9 複数の画面を切り替える(省略) 10 テーブル表示 11 アプリを仕上げる 12 実機でテストする メモリ管理(1) ■RefCounter(参照カウント)の考え方 RefCounter[retainCount]の数によりメモリを解放する、解放しないの判 断をする為の手法 このRefCounterはプログラムがこの変数を保持している数を示している ・[retain] 変数の参照カウントを+1する ※alloc後の初期化にinitの接頭詞が付いている場合、retainとなる ・[release] 変数の参照カウントをー1する ・[autorelease] 変数をautorelease pool管理とし、利用終了後にメモリを解放する ※alloc後の初期化にinitの接頭詞が付いていない場合、autoreleaseとなる もしくは明示的に使用した場合。 メモリ管理(2) NSMutableArray *array = [[NSMutableArray alloc] init]; NSString *testString =[[NSString alloc] initWithFormat:@"aaaa"]; ->このときtestStingのretainCountは1となる [array addObject:testString]; ->このときtestStingのretainCountは2となる 「testStringを生成したPG」と「array」の2つが保持している [testString release]; ->このときtestStingのretainCountは1となる メモリ管理(3) ■Automatic Rerence Counter(ARC) 本来、[release]を必要とするソースコードに自動でreleaseを保管する機能 ■メモリの管理のチェックをするツール -Leaks ■アプリケーションの落ちている場所をチェックするツール -Zombies iOSとアプリケーションの通知 viewController AppDelegate ① ② ④ ③ IOS ①アプリ起動(didFinishLaunchingWithOptions) ②Homeボタン押下時、バックグラウンドに配置 (applicationDidEnterBackground) ③バックグラウンドから復帰(applicationWillEnterForeground) ④メモリーワーニングの通知(didReceiveMemoryWarning) UIViewControllerとUIView UILabel ←Window ● RoundRect Button ● UIViewController ● UIImageVie w ● ● ● ● ● 1.最初にアプリを表示する為の Windowが存在する 2.ViewControllerを配置する 3.その上にUIKitを配置する 4.UIKitはすべてUIViewを 継承している →これら部品すべてアニメ可能 NavigationController NavigationController ● ● ● ナ ビ ゲ ー シ ョ ン バ ー ViewController2 pus hVi ViewController1 ew Con troll 戻 er 画面遷移を管理してくれる る ナビゲーションバーに戻るを 自動で作成出来る プロビジョニングについて ■プロビジョニング アップルがそのプログラムを実機(iPhone)に入れてもよいという証明書 ■プロビジョニングに必要な事項 ・iOS Developer Programに登録済みの事 ・開発者の証明書、秘密鍵をアップルからもらう ・使用する実機を登録する ・使用するプログラム名を登録する(但し、ワイルドカードは使用可能(*)) ・プロビジョニング申請を行い、プロビジョニングを取得する プロビジョニングの設定について ◇設定の確認 organizerを使用して以下の設定を確認する 開発者の証明書 プロビジョニング プロビジョニングの設定について ◇設定の確認 Project > target > Summary > identifer のアプリケーション名の前に「OitaUnivTest.」を追加する プロビジョニングの設定について ◇設定の確認 Project > target > Build Settings > Code Signing identity を「OitaUnivTest.」に設定する プロビジョニングの設定について 手順 1.info.plistのBundle identifierの変更(App IDに合わせる) →OitaUnivTest.○○ 2.projectのCode Signing Identityのプロビジョニングを設定する →OitaUnivTest.*のプロビジョニングを選択 3.projectのiOS Deployment targetを設定する →ios 4.0等 4.「Release」にて実行が可能です。 プロビジョニングの設定について 上記で動かない場合 (1) Xcodeのプロジェクトウィンドウからプロジェクト名の上で右クリックし、 「新規ファイルの追加」をする。 (2) iPhoneOS-Code Signingグループから「Entitlements」を選択して「次へ」を押す。 ファイル名をdist.plistとして保存する。 (3) 追加されたdist.plistを選択し、「get-task-allow」のチェックを外す。 (4) ターゲットのビルド設定画面の「Code Signing Entitlements」の値として「dist.plist」を 設定する。 ※ターゲットのビルド設定画面のProvisioning Profileの項目には、Ad Hoc用のProvisioning Profileを設定しておくこと。Ad Hoc用のProvisioning Profileは、iPhone Developer Program Portalから生成できる。 (5) この状態でビルドすると(ビルド前にクリーニングしておくとより吉)、プロジェクトの buildフォルダの中に各ビルド毎のビルド結果がプロジェクト名と同名の「アプリケーション バンドル」として出力されている。 (6) これをiTunesにドロップするとインストールできる。 (7) Ad Hoc用のProvisioning ProfileもiTunesにドロップしておく(これは最初の一回でOK)。
© Copyright 2024 ExpyDoc