サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
cocoatouch.sblo.jp
iPhone 5 の発売を目前に控え、iOS 6 がリリースされました。開発者向けにも iOS 6 SDK を搭載した Xode 4.5 がリリースされています。 久しぶりのブログ更新となりますが、今回は既存のプロジェクトを iOS 6 SDK に移行させ、iPhone 5 や iPod touch 第5世代の「4インチ Retina ディスプレイ」に最適化する際に引っかかりそうなポイントをまとめてみました。 まず、起動画面。既存のプロジェクトを Xcode 4.5 で開くと、4インチ Retina ディスプレイ用の起動画面(Launch Image)がないという警告が出ます。 このままiPhone (iOS 6.0) シミュレータで実行すると、画面サイズの縦横比が合わないので、上下に黒帯が表示されてしまいます。 この警告をクリックすると、Xcode にダミーで起動画面を用意さ
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! iPhone/iPod touch アプリ開発の第一歩は、iPhone SDK のダウンロードとインストール。このあたりの手順は、既に多くのサイトで解説されているので詳細は省きます。かわりに、Mac OS X における統合開発環境、Xcode をより使いこなすためのコツをいくつかご紹介していきたいと思います。 Xcode を起動したら、メニューバーの「ウィンドウ」から「オーガナイザ」を選択してみてください。以下のようなウィンドウが開いたと思います。 この画面で、プロジェクトファイルなどを効率的に管理することができます。Finder から、Xcode プロジェクトの入ったフォルダをドラッグ&ドロップして「PROJECTS&SOURCES」に登録し
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! 今回は、前回説明したような、Table View でセルをタップして、別の画面を出す実際のコードについて。 Table View の中で、あるセルがタップされた時、次のメソッドが呼ばれます。 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 引数は呼び出された View と、その位置を示します。Table View の基本で見たとおり、indexPath.section でセクション番号、indexPath.row で行番号を取得できます。 このメソッドの実装で、indexPath をもとに新しい画面を開きま
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! 今回からしばらくは、Table View を見ていきます。 Table View は、UITableView クラスで実現できる、以下のようなユーザインタフェースをもったもの。 iPod 機能などでも使われている、iPhone アプリでもっとも見慣れた形のものです。 「Table」という名前ですが、一度に表示できるのは一列のみのリスト形式。 ある行をタップすると、別の画面に遷移することで、階層的なデータの表示を可能にしています。 Table View を使ったアプリケーションを作成する場合は、新規プロジェクトのテンプレートで「Navigation-Based Application」を選択します。 なぜテンプレートの名前が「Navigat
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! 今回は Table View の各セルに画像を表示することを考えてみます。 画像データは UIImage で扱いますが、それを表示するのは UIImageView になります。 Table View セルのカスタマイズで UITableViewCell のサブクラスを作ったとき、テキスト(NSString)を表示するために UILabel をインスタンス化しましたが、同じように、UIImageView を追加します。 @interface CityTableViewCell : UITableViewCell { IBOutlet UIImageView *imageView; IBOutlet UILabel *cityLabel; IBOu
先月末に発売された iLife '09。本日 Apple Store で買ってきました。 本来の目的は、iWeb でホームページ(本ブログ以外の部分)を構築することだったのですが、それより iPhoto の「人々」「撮影地」などの新機能が面白くて手が止まってしまいました。 顔認識、GPS といった技術は既存のものですが、それを写真の整理に使うという明確な目的を設定し、使っていて楽しくなるユーザインタフェースを提供する、それが Apple 製品の魅力だと思います。 こちらは一昨年に WWDC に参加したときの写真。 これはりんご違いですが……。 休みのときは、あっちこっちふらふらと出かけて、写真を撮るのが好きなのですが、また楽しみが増えそうです。 今回は Table View の各セルに画像を表示することを考えてみます。 画像データは UIImage で扱いますが、それを表示する
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! App Store でアプリケーションをリリースする場合、Apple による審査を受ける必要があります。その際の審査基準として、Wi-Fi や 3G のネットワークに接続して情報を取得するアプリの場合、接続エラーが起こった場合にアラートを出すなどの処理を行わなければならない、というものがあります。 現在ネットワークが利用可能かどうかを問い合わせるAPIもありますが、BookRemark では、まず NSURLConnection で通信を試み、エラーが返ってきたらアラートを出すという方法を採っています。今のところ、これで審査は通っています。 NSURLConnection での情報の取得は、以前の記事を参考にしてください。 前回は接続が正常に
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! iTunes App Store で、PLT Works 第1弾アプリ「BookRemark」が公開されました。現在、無料アプリとしてリリースしています。 コンセプトは、本が好きな人のための ToDo アプリ+蔵書管理アプリです。 私は本を読むのが好きで、暇を見つけては本屋、古本屋を回っています。そんな自身の経験から、「あったらいいな」というものを形にしました。 こんな経験はありませんか? 何巻も続くシリーズ物の場合、新刊だと思って買ったら、実は既に買った本だった……という経験。 あるいは、古本屋で好きな作家の本を見つけたけれど、それがもう買った本かどうか思い出せない……という経験。 そこで、iPhone / iPod touch 上で
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! 今回は、前々回の最後に紹介した、複数の選択肢を表示するダイアログについて説明します。 テキストだけで構成されるこのようなダイアログは、特別な UIView を用意する必要はなく、UIActionSheet を使って、簡単に作成できます。 UIActionSheet *sheet; sheet = [[[UIActionSheet alloc] initWithTitle: nil delegate: self cancelButtonTitle: NSLocalizedString(@"Cancel", nil) destructiveButtonTitle: nil otherButtonTitles: NSLocalizedString(@"
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! アプリケーションの中で、そのアプリについての情報を表示させたい場合があります。Mac OS X (Cocoa アプリ)の場合は「(アプリケーション名)について」というメニューで、自動的に名称とバージョン番号を表示することができるのですが、iPhone アプリでは自作する必要があります。 バージョン番号は Info.plist に記述した「Bundle Version」を参照します。コンテキストメニューから「Show Row Keys/Values」を選択すると、実際は CFBundleVersion をキーとしていることがわかります。 Info.plist に記述した値を取得する専用のメソッドとして、NSBundle の objectForIn
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! BookRemark では、書誌情報を表示するビューのナビゲーションバーに、表紙画像のサムネイルを表示しています。 これをタップすると、大きな画像が表示されます。 今回は、この実装方法をまとめます。 ナビゲーションバーの表示をカスタマイズするには、 UINavigationItem で操作できます。(UINavigationBar ではないのに注意) コントローラが UIViewController のサブクラスの場合、navigationItem プロパティで現在のナビゲーションバーを取得できます。 UINavigationItem *navigation = self.navigationItem; 左端に表示したい場合は leftB
Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録「BookRemark」App Store で公開中!Cocoa Touch での iPhone/iPod touch 向けアプリ開発の記録 「BookRemark」App Store で公開中! 巷では iPhone OS 3.0 の話題で持ちきりですが、今回はまったく関係のない話。 (なお、iPhone OS 3.0 は NDA のため、しばらく詳しい内容は触れられません) ウィルコムが今月発売を開始した、「どこでもWi-Fi」。ようやく店頭で見つけたので、購入しました。 この機器は、ウィルコムのPHS網を通じて、無線LANアクセスポイントを構築できるものです。ウィルコムのサービスエリア内であれば、iPod touch を iPhone のようにいつでもインターネットにつなげることができます。本体
今回は、Table View に表示されるセル(UITableViewCell)をカスタマイズする方法。 前回見たとおり、デフォルトでは、セルにはひとつのテキストしか表示できません。 しかし、iPhone のテーブルには一度に一列しか表示できないのに、それではもったいない。大きさや色を変えたりして複数のテキストを表示したり、画像を表示したいという要求が出てきます。 このような場合、ふたつの手法があります。 ひとつめは、ソースコード上で複数のUI部品を作り、それをセルの subView として追加するという手法。 前回のサンプルコードで、都市名と県名を同時に表示するようにしたいと思います。 そのため、ふたつの UILabel を用意し、セルの初期化の後に、それぞれを subView として追加します。 UILabel *cityLabel, *prefLabel; UITable
今回は Table View の最終回です。 前回は、ローカルに置いた画像ファイルを Table View のセルに表示させてみました。 次に、インターネットのサーバにあるデータを同様に表示させてみたいと思います。 前回の最後に使った imageWithContentsOfFile: では、ローカルのファイルパスしか指定できません。そこで、画像データを NSData 形式で取得して、imageWithData: で UIImage を生成することになります。 問題は、この NSData をどうやって取得するか。 まず考えられるのは、dataWithContentsOfURL: というメソッドで、URL を指定してデータを取得する方法。 NSURL *url = [NSURL URLWithString: urlString]; NSData *data = [NSData dat
前回に引き続き、Table View のメソッドを見ていきます。 iPod (touch) 機能でアーティスト、曲名などを表示する場合、右端にインデックスのリストが表示されます。これを実現するのが、UITableViewDataSource の以下のメソッド。 - (NSArray *)sectionIndexTitlesForTableView: (UITableView *)tableView; このメソッドを実装して、NSString を要素にもつ配列を返せば、それがインデックスのリストに使われます。 - (NSArray *)sectionIndexTitlesForTableView: (UITableView *)tableView { NSArray *indexTitleArray; indexTitleArray = [NSArray arrayWithObjects
年を越してしまいましたが、今回はサンプルアプリの3回目。第1回、第2回から続いています。 起動した時に、前回に設定したのと同じ名前を表示できるようにしたいと思います。このために、文字列(名前)を保存しておく必要があります。 iPhone アプリケーションは通常のデスクトップアプリケーションと違い、セキュリティ上の理由により、特定の場所のファイルしか読み書きできません。これを Application Sandbox と呼びます。名前の通り、決められた砂場の中だけで安全に遊ぶこと、という感じでしょうか。 では、その「特定の場所」とはどこか。iPhone 上では当然確認できないのですが、Mac上で動く iPhone シミュレータによって、以下の場所にフォルダが作られていることがわかります。(~(チルダ)はユーザのホームフォルダを表します) ~/Library/Application Sup
はじめまして。このブログでは、Cocoa Touch や iPhone SDK 関連の話題を中心に、iPhone/iPod touch に関する記事を載せていきたいと思います。 現在、App Store でのリリースを目指し iPhone/iPod touch アプリを開発中ですので、その過程も順次まとめていけたらと思っています。 ちなみに、当ブログのテーマが猫なのは、別に Softbank のお父さんに対抗しているわけではありません。単なる趣味です。 といいつつ……。Mac OS X が、メジャーリリースごとにネコ科の(主に猛獣の)愛称がつけられているのにならって、iPhone OS も小型の猫の愛称をつけてみれば、という思いもあります。そうすれば、世の猫好きのみなさんの注目を集められるかもしれません。 iPhone/iPod touch アプリ開発の第一歩は、iPhone SDK
このページを最初にブックマークしてみませんか?
『Cocoa と touch, Cocoa で touch』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く