サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
blog.livedoor.jp/second_flush
『Swipes(1)〜イベント処理メソッド』では、スワイプ操作を旧来のタッチイベント処理メソッド(touchesBegan:withEvent:、touchesMoved:withEvent:、touchesEnded:withEvent:、touchesCancelled:withEvent:)を使用して処理しました。 原著であるApress社のiOS 3.x版のサンプルコード『13 Swipes』とiOS 4.x版のサンプルコード『15 - Swipes』は同じですが、iOS 4.x版には『15 - Swipes 2』として同内容をGesture Recognizerを使用する方法に書き換えています。 後程マルチスワイプに対応するにあたり、タッチイベント処理メソッドを使うiOS 3.x版と、Gesture Recognizerを使うiOS 4.x版の両方を試すので、オリジナルのSwip
May 29, 2010 Core Audioの復習 『クロックの作成』で作ったクロックアプリケーションを改造して、アラームを設定するのですが、その前にCore Audioの復習をしたいと思います。 以前書いた『Core Audioテクノロジーの概要』の焼き直しですが、ご容赦ください。 ●Core Audioアーキテクチャ ・iPhone OSのオーディオテクノロジー iPhone OSにおけるオーディオテクノロジーは、基本的にCore Audioアーキテクチャが担い、OpenALもサポートしています。 Core Audioアーキテクチャは、Core Audioファミリのフレームワークで構成されており、各フレームワークが実際の処理を行うサービスを提供するという形になっています。 『Core Audioテクノロジーの概要』でも触れましたが、『Core Audio』はオーディオ全般のアーキテク
October 23, 2010 UITableViewDataSourceプロトコル ●概要 UITableViewDataSourceプロトコルは、アプリケーションのデータモデルをUITableViewオブジェクトとして取り扱うために採用します。 データソースは、テーブルビューを構築・変更するのに必要なテーブルビューオブジェクトの情報を提供します。 データモデルの典型的な役割は、テーブルビューの外観を構築する最小限の情報をデータソースから与えることです。 テーブルビューオブジェクトのデリゲートは、UITableViewDelegateプロトコルを採用したオブジェクトで、テーブルビューを構築する情報を提供します。 プロトコルの必要なメソッドは、テーブルビューを表示するのに必要な、UITableViewオブジェクトのセクション数とセクション毎の行数の情報を提供します。 データソースは実行す
August 21, 2010 Autosize(1)〜Autosizing 『はじめてのiPhoneプログラミング』の次のお題は、オートローテーション(Autorotation)とオートサイジング(Autosizing)です。 デバイスの向きに合わせてビューを回転させると同時に、アスペクト比の変化に伴うオブジェクトパーツのレイアウトやサイズを調整するものです。 本書では三通りの方法が紹介されており、 1)Interface BuilderのInspectorウィンドウのSizeタブにある『Autosizing』の設定 2)コード記述によるオブジェクトパーツの手動調整 3)ポートレート/ランドスケープの各ビューの切り替え となっています。 今回は1のAutosizingによる設定を説明します。 ●プロジェクトの作成 View-based Applicationテンプレートで、プロジェクト名
October 19, 2010 MPMusicPlayerControllerクラス ●概要 MPMusicPlayerControllerオブジェクトまたは音楽プレイヤは、iPodライブラリのメディアアイテムの再生に使用します。 音楽プレイヤには二種類あります。 ・『アプリケーション音楽プレイヤ』はアプリケーション内のローカルで音楽を再生します。 iPodアプリケーションの現在の再生アイテムに関知せず、iPodの状態に影響されません。 ・『iPod音楽再生プレイヤ』はビルトインされているiPodアプリケーションを利用します。 インスタンスは現在のiPodアプリケーションの状態、例えば現在再生されているアイテムの識別をすることができます。 ユーザが音楽の再生中にアプリケーションを終了しても、音楽を再生し続けます。 iPodアプリケーションは、音楽プレイヤアプリケーションのリピートモード、
August 12, 2010 Control Fun(1)〜Image ViewとText Field 『はじめてのiPhoneプログラミング』の次のお題は、様々なユーザインターフェイスの実装です。 具体的には、 ・イメージビューやラベルの貼付け ・テキストフィールドとスライダ、セグメンテッドコントロール、スイッチの設置 ・アクションシートとアラートの実装 となります。 本章を読んで気になったのが、所々理解し難い訳が散見される点です。 私自身クラスリファレンスを訳していて訳者の気持ちはよく分かるのですが、できるだけ正確に訳そうとすると日本語としてまとまらないことがよくあります。 内容を完全に把握していることであれば、元の単語を置き換えて日本語として分かり易い文章に仕立てられるのですが、よく分からない場合は直訳になってしまいがちです。 それと、本文の解説と図の内容が一致していない(日本語に
October 05, 2010 Pickers(2)〜TabBarController 続いてルートビューコントローラとなるTabBarControllerを実装します。 ●ルートビューコントローラの定義 Xcodeで自動生成されているヘッダファイルPickersAppDelegate.hを開き、タブバーコントローラのアウトレットとプロパティを宣言します。 (太字が追加した部分) #import <UIKit/UIKit.h> @interface PickersAppDelegate : NSObject { UIWindow *window; UITabBarController *rootController; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomi
November 04, 2010 Cells(1)〜サブビューによるカスタマイズ テーブルビューのカスタマイズの手法として、セルにサブビューを追加する方法と、セルのサブクラスを追加する方法の2種類があります。 最初にサブビューを追加する方法を行います。 ここでは一つのセルに4つのラベルをサブビューとして追加してみます。 4つの内2つは固定の文字列で、残りの2つは固定文字列をキーとした値を辞書から取得して表示します。 ●プロジェクトの作成 View-based Applicationテンプレートで、プロジェクト名を『Cells』とします。 ●nibファイルの編集 nibファイルの編集は前回の『Simple Table(1)〜テキストの表示』の時と同じです。 画面全体にテーブルビューを貼り付けます。 CellsViewController.xibをダブルクリックしてInterface Bui
April 17, 2010 アプリケーションのライフサイクル(2) いつにも増して英文和訳が怪しいので、鵜呑みにすると危険です。 (特にデリゲート関係は自分で書いていてよく分からない文章になっています) 2)main()関数の呼び出し main()関数は、アプリケーション起動時に最初に読み込まれるOther Sourcesフォルダ内のmain.mファイルに記述されていて、アプリケーションの初期化を行います。 2-1)UIKitフレームワークのインポート 2-2)main()関数の引数 2-3)自動解放プールの作成と解放 2-4)UIApplicationMain()関数の呼び出し 2-5)アプリケーションデリゲートの作成 2-6)UIApplicationDelegateプロトコル 2-7)〜AppDelegateの宣言と実装 #import <UIKit/UIKit.h> int m
October 20, 2010 UIViewクラス(概要/タスク/プロパティ) ●概要 UIViewクラスは主として抽象的なスーパークラスで、実際に描画やイベント処理を構成するサブクラスを提供します。 また、他のビューを含むUIViewのインスタンスを生成できます。 UIViewオブジェクトはUIWindowオブジェクトの中に配置され、サブビューの階層の中にネスト(入れ子)されています。 ビュー階層の親オブジェクトはスーパービューと呼ばれ、子はサブビューと呼ばれます。 ビューオブジェクトはスーパービュー内に矩形領域を要求し、領域内の全ての描画の責任を持ち、発生するイベントを受け取ります。 姉妹ビューは何の問題も無く重ねることができ、複雑なビュー配置が可能です。 UIViewクラスは、全てのビュータイプの生成に使用する共通メソッドと、プロパティへのアクセスを提供します。 例えばサブクラスが
May 17, 2010 UIWebViewDelegateプロトコル ●概要 UIWebViewDelegateプロトコルは、UIWebViewオブジェクトのデリゲートが、ウェブコンテンツを読み込んだ時の実行を選択できるメソッドを定義します。 重要: UIWebViewのインスタンスを解放する前にデリゲートを設定した場合、最初に設定したUIWebViewデリゲートのプロパティをUIWebViewインスタンスを破棄する前にnilに設定する必要があります。 例えば、deallocメソッドでUIWebViewを処理できます。 ●タスク コンテンツの読み込み - webView:shouldStartLoadWithRequest:navigationType: - webViewDidStartLoad: - webViewDidFinishLoad: - webView:didFailLoa
June 17, 2010 スライドショーのフルスクリーン化(2) イベント処理の実装は、新たに作ったUITouchableImageView.mと既存のSlide.mで実装しています。 UITouchableImageView.mにはビューで受け取るイベントの処理として、タップ回数の判別と、タップ回数別に呼び出すメソッドを2種実装し、Slide.mにはシングルタップした場合のフルスクリーン処理のメソッドを実装します。 ●UITouchableImageView.mソースファイルの編集 UITouchableImageViewのソースファイルを編集します。 (太字が追加した部分) #import "UITouchableImageView.h" @implementation UITouchableImageView - (id)initWithFrame:(CGRect)frame {
February 10, 2010 予備知識無しで始めるObjective-C iPhone App開発において避けては通れないのが、主要プログラミング言語であるObjective-Cです。 とはいえ、C言語さえうろ覚えで実戦経験が無い私にとっては、メソッドやインスタンスと突然言われても分からず、かといって何百ページもの参考文献を読むのも気の遠い話で、途中で飽きたり寝てしまったりと、先に進めませんでした。 都合のいい話ですが、なんとか『必要最低限の知識を抑えて、実技をこなしながら少しずつ覚える』手立てはないかと調べてみました。 ここから試行錯誤の過程の話になりますので、結論だけ知りたい方は投稿記事一番下の『5)ここから始めるObjective-C』をご覧下さい。 また、以下で紹介するドキュメントや本が『役に立たない』というわけではなく、あくまで『予備知識無しで読む第一歩』としては敷居が高
August 02, 2010 『はじめてのiPhoneプログラミング』を始めてみた 次は『はじめてのiPhoneプログラミング』を読み進めたいと思います。 現在は新版の『はじめてのiPhone3プログラミング』が出ていますが、手元にあるのが旧版ですので内容などに不備や差異が生じるとは思いますが、予めご了承ください。 ●読み始める前に 著者に『デイブ・マーク+ジェフ・ラマーチ』とあるように訳本でして、原本は『Beginning iPhone Development: Exploring the iPhone SDK』という本です。 また、同名の本が工学社から出ていますので注意してください。 はじめてのiPhoneプログラミング (I・O BOOKS) 販売元:工学社 発売日:2010-07 おすすめ度: クチコミを見る 今回ここで紹介するのは、ソフトバンククリエイティブの方です。 はじめて
July 03, 2010 トランジションアニメーション(2) 前回の『トランジションアニメーション(1)』は『基礎からのiPhone SDK 改訂版』本書内で解説されている分なのですが、二つほど問題があります。 一つは再生モードを変更するchangeOrder:メソッドを修正していないのでモード変更が効かないこと。 (これは本書内で説明もなく、サンプルコードでも対処していません) もう一つはトランジションアニメーションを行うnextSlide:メソッドで使用している二つのメソッド、setAnimationDuration:とsetAnimationTransition:forView:cache:がiPhone OS 4.0(iOS 4)以降は非推奨となっている点です。 折角なので両点の対策をしたいと思います。 ●再生モード変更のタイマー化 タイマーを一旦停止・無効化した後でタイマーを再
July 07, 2010 トランジションアニメーション(4) 『トランジションアニメーション(2)』の『UIViewクラスのiOS 4非推奨メソッド』で紹介したiOS 4での非推奨メソッドとその代替推奨メソッドと、『トランジションアニメーション(3)』で訳してみた『A Short Practical Guide to Blocks』の情報だけでは、具体的にどう修正すればいいのか私には分からなくて途方に暮れていました。 が、改めて新規追加された代替推奨メソッドでぐぐったところ、marutanmさんのサイト『Meltdown Countdown』で『UIViewでのアニメーションiOS4.0対応版』というそのものな記事がありましたので、ありがたく参考にさせていただきます。 ●iOS 4でのUIViewアニメーション 『UIView Class Reference』でビューのアニメーションに関
June 07, 2010 スライドショーの作成 『基礎からのiPhone SDK 改訂版』の次のお題はスライドショーです。 ●サンプルアプリケーションの概要 複数画像の連続表示ですが、 ・スライドショーの開始と停止(ボタン) ・順次表示とランダム表示の切り替え(セグメンテッドコントロール) ・切り替え時間間隔の調整(スライダ) という制御をするツールバーを持っています。 ●プロジェクトの作成 Window-based Applicationテンプレートで、プロジェクト名を『Slide』とします。 ●nibファイルの編集 1)画像素材の準備 nibファイルの編集の前に素材を用意する必要があります。 ・スライドショーで流す画像 ・ツールバーに使用するアイコン画像 スライドショー用の画像はお好みでご用意ください。 サイズや枚数は任意で構わないのですが今回は7枚のJPG画像(320x480ピクセ
March 28, 2010 NSString(3) 引き続きNSStringクラスの説明です(今回のでまだ半分・・・)。 ●文字列の結合(Combining Strings) ・– stringByAppendingFormat: – (NSString *)stringByAppendingFormat:(NSString *)format ... 指定したフォーマットで文字列を追加して返します (formatがnilの場合、NSInvalidArgumentExceptionを呼び出します) format:フォーマット(書式)については『NSStringオブジェクトの書式』を参照してください (nilを指定することはできません) ...:カンマ区切りで値を指定します NSString *オブジェクト1 = @"文字列"; NSString *オブジェクト2 = [[NSString
June 22, 2010 iOS 4/iPhone SDK 4正式公開 各所で報じられていますが、iOS 4とiPhone SDK 4が正式公開されました。 ・Apple Brothers/Apple、「iOS 4 ソフトウェア・アップデート」をリリース - iPhone ソフトウェアアップデート(4.0)にアップデート中 by Abro ・ギズモード・ジャパン/【速報】iPhone iOS4きた! ・ギズモード・ジャパン/不安定になったiOS4入りiPhoneを治す ・engadget日本版/アップル iOS 4 提供開始、iPhone 3GS・3G・iPod touch 向け ・engadget日本版/iOS 4 新機能リスト、インプレッション 該当するiPhoneまたはiPod TouchをMacに接続すれば、自動的にアップデートの通知がされてアップデートできると思います。 iPh
February 23, 2010 スマッシュを作ってみた(1) 引き続き『iPhone SDKの教科書』のスマッシュを作ってみました。 例によってフォロー分のみ記述します。 ●ステータスバーの消去 『UIStatusBarHidden』というRaw Keyは『Status bar is initially hidden』になります。 ●scheduledTimerWithTimeInterval NSTimerクラスのクラスメソッドの1つで、新規にNSTimerオブジェクトを作り、一定時間間隔でメソッドを返します。 scheduledTimerWithTimeInterval:target:selector:userInfo:repeats: (NSTimeInterval)secondsタイマーの時間間隔を秒単位で指定します。 0秒以下の場合、0.1ミリ秒に補正されます。 (id)t
June 08, 2010 iOS 4 Gold Master seedが公開開始 デベロッパ向けのiOS 4 Gold Master Candidateが公開されました。 アクセスするには機密保持契約の再認証が必要になります。 直前のiPhone OS 4 beta 4との差異は下表の通りです。 iPhone OS 4 beta 4iOS 4 Gold Master seed稼働OSMac OS X v10.6.2以降Mac OS X v10.6.2以降公開日2010.5.182010.6.7SDK Build10M2252 10M2262Xcode3.2.33.2.3OS Build8A274b8A293 iPhone SDK 4 GM seedは2.06GB。 デバイス用のiOS 4は ・iPhone 3GS:378MB ・iPhone 3G:292MB ・iPod touch 3
May 07, 2010 チュートリアル:ナビゲーションバーを使う 『iPhone SDKプログラミング大全』の『チュートリアル:ナビゲーションバーを使う』ですが、例によってサンプルコードの事前説明が無いので、最終形態を説明します。 このサンプルは、ナビゲーションバーを利用した2段階層のテーブルを表示します。 (表示するだけで、編集などはできません) ここで示すサンプルでは以下のような階層構造になります。 ナビゲーションコントローラ:NavBarAppDelegate | ∟THE IDOLM@STER SP(親ビューコントローラ:RootViewController) | ∟Wandering Star(子ビューコントローラ1) |
April 13, 2010 サンドボックス ●サンドボックスとは サンドボックスはセキュリティ用語のひとつで、外部から受け取ったプログラムを隔離した領域内でのみ動作を許可する方式のことです。 iPhoneの場合、OS標準以外のアプリケーションは各ディレクトリ(サンドボックス)毎に隔離され、そのディレクトリ内であればファイルをダウンロードしたり、ファイルを作ったりできます。 しかし他のディレクトリへのアクセスは基本的に禁止されていて、極一部のデータのみフレームワークを介してアクセスを許可されています。 (アプリケーションの環境設定とデータも、サンドボックス内に入れられます) ●サンドボックスの構成 iPhone Simulatorの場合、デフォルトのインストール設定でver.3.1.3の場合は、 /Users/(ユーザ名)/Library/Application Support/iPhon
March 06, 2010 クロックを作ってみた(1) ●ビュー・アイテムの作成 ビューアイテムである針の貼付けですが、Interface Builderの仕様が変わったのか、本書の記述と(現行Ver 3.2.1とは)一部異なっていましたので修正します。 イメージビューの大きさを表示サイズに合わせるには、インスペクタのAttributes/ViewのModeを『Scale to Fill』にします。 ビューアイテムのサイズ変更は、インスペクタのSize/View Size/Size & Positionで、WとHを下表のように設定します。 ビューアイテム画像ファイル実サイズW:H:アラーム針Hand-Alarm.png84 x 34442172時針(短針)Hand-Hour.png72 x 42836214分針(長針)Hand-Minute.png72 x 60436302秒針Hand-
May 16, 2010 UIApplicationDelegateプロトコル 『アプリケーションのライフサイクル(2)』で一度説明していますが、説明していなかったメソッドも含めてまとめます。 ●概要 UIApplicationDelegateプロトコルは、シングルトンのUIApplicationオブジェクトのデリゲートを宣言するメソッドです。 (シングルトンはインスタンスを一つしか作らないクラスのことで、何処で何回呼ばれても同じインスタンスを返します) このメソッドを実行すると、アプリケーションの起動と終了、メモリ不足の警告、URLリソースを開く、ステータスバーの向きの変更などシステムイベントにデリゲートが応答できるようになります。 iPhone OS 3.0では、リモート通知関連のメソッドやapplication:didFinishLaunchingWithOptions:を追加しまし
February 14, 2010 Xcodeのプロパティリストエディタ 『グループとファイル』のResourceグループに『info.plist』というプロパティリストファイルがあります。 info.plistを選択すると、テキストエディタウィンドウに表形式でプロパティリストが表示されます。 またプロパティリストエディタは単体のアプリケーションとして、Macintosh HD/Developer/Applications/Utilities/Property List Editor.appに存在します。 ●info.plist info.plistは情報プロパティリストというファイルで、アプリケーション名やアイコンなど、アプリケーションの設定情報を含みます。 これらの情報は、Xcodeが自動設定するものと、明示的に設定する必要があるものがあります。 ここでいうバンドルは、画像やテキストな
January 25, 2010 iPhone Developer Programの登録(2) ご多分に漏れずiPhone Developer Programの登録でどたばたすることになりました。 事前に情報収集してスムーズにいこうと思っていたんですが・・・ この問題の原因は、Apple IDを取得する際に英語で情報登録しても、Apple Storeでの購入手続きの際に日本語入力を求められる点にあります。 流れを説明すると、 1)(日)iPhone Developer Programのページ ↓(今すぐ入会) 2)(米)入会手続き、Apple IDでサインイン、プラン選択、クレジットカードの情報入力、使用許諾契約書、Apple Online Storeの国選択 ↓(Add to Cart) 3)(日)購入製品の確認、Apple IDのサインイン、請求先/配送先情報入力 、支払い方法の選択、
このページを最初にブックマークしてみませんか?
『Second Flush』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く