A Day In The Life

とあるプログラマの備忘録

Autolayout に対応した画面で UIScrollView を使う時のコツ

iOS 6から導入された Autolayout(オートレイアウト)を最近になって本格的に使うようになりました。 4-inch の iPhone が主流になりつつある中、アプリを Autolayout に対応させるのはほぼ必須といっても良いと思います。Storyboard と格闘してなんとかコツは…

東京転勤になりました。

本日付けで東京勤務になりました。 京都で暮らせたのが1年半と短いだけに少し残念ですが心機一転頑張りたいと思います。

iPhone/iPadアプリケーション開発の教科書が増刷されました。

皆様ご購入ありがとうございます。 このたび「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」が増刷されました。 本当にありがとうございます。めちゃくちゃうれしいです。 増刷分では以下の記事に掲載した訂正箇所が修正されています。 …

ジェネラティブ・アートが面白い

久しぶりに Processing でコード書いてます。なんでかと言うと、たまたま本屋さんで見つけた「ジェネラティブ・アート」という本がめちゃくちゃ面白くてそれがきっかけです。 個人的にはChapter 6の「創発」、Chapter 7の「自律性」、Chapter 8の「フラクタ…

ポスチュアとユーザインターフェースから見る iOS アプリのトレンド ー iOS7 の登場で変わるアプリのトレンド ー

最近読んだアラン・クーパー氏の著書『About Face 3』ではソフトウェアを「使われ方」と「見た目」の2つの視点で分類していました。拙著『プロの力を身につける iPhone/iPadアプリケーション開発の教科書』の第3章では iOS アプリを実装面から分類しました。…

アフォーダンスとシグニファイア

最近デザイン系の本を読んでいて「アフォーダンス」という言葉の使われ方が変わってきたなと感じています。 アフォーダンスはD・A・ノーマン氏の著書「誰のためのデザイン」がきっかけに広まった言葉で、もとはアメリカの知覚心理学者のJ・J・ギブソン氏が提…

【訂正】プロの力を身につける iPhone/iPadアプリケーション開発の教科書

「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」の中に誤りがありましたので訂正させていただきます。 3-3 データを活用したアプリの作り方 235ページ下から4行目 訂正前 次のように、UILabel と UITextField オブジェクトを配置します。…

NSManagedObjectでTo-Many関連を使用したときにコードの自動生成がされないバグの解決方法

Core Data の NSManagedObject クラスで以下のように To-Many(One-To-Many) 関連を使ったときにコードの自動生成をすると実装コードが生成されない場合があります。 通常の To-Many 関連では問題が起こらないのですが以下のように Ordered(順序) を指定して…

本日発売!プロの力を身につける iPhone/iPadアプリケーション開発の教科書

ついにこの日がやってきました。 「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」本日発売です。 先ほど職場近くの「MARUZEN & JUNKUDO」さんに行ってみたらバッチリ置いてありました。感無量です。読者の皆様のアプリ開発助けになれば幸…

iOSアプリ開発の本を書きました

ご無沙汰しております。約半年ぶりの記事です。 この間、ずっと iOS アプリ開発の本を書いていました。タイトルは「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」です。 出版社様から書籍執筆のお話を頂いたのが約1年半前でした。やっと…

iCloud プログラミング入門

「iOS データ設計入門」でデータはメモリ、フラッシュドライブ、iCloud に保存することができると説明しました。今回は iCloud にデータを保存して複数端末でデータを共有する方法について説明していきます。 iCloud って何? クラウドと聞くとなにやら難し…

iOS データ設計入門

ios

「iOS アプリの画面開発の基礎を理解する」でアプリの画面と画面遷移について説明しました。アプリの見た目はとても大切ですが同じぐらい大切なこととして、データの活用方法があります。 ユーザに必要なデータは何か、そのデータに価値を持たせて情報にする…

SenTestCase で非同期処理のテストをする方法

今年の2月ごろから iOS 用の HTTP 通信ライブラリの開発をしていています。 シンプルで簡単に HTTP 通信が出来るライブラリを公開しました 非同期で HTTP 通信をするだけの簡単なライブラリなんですが、ユニットテスト(Unit Test)をする時に少しコツが必要だ…

近況のご報告

私事で誠に恐縮ですが、5月21日付けでグリー株式会社に入社しましたことをご報告させていただきます。次の仕事を探すにあたり Web サービス系の会社も受けたのですがソーシャルゲームの仕事からたった1年半で離れてしまうのはなんかもったいなぁと感じていま…

iOS アプリの画面開発の基礎を理解する

前回の記事「iOS アプリの構造がどのようになっているか紐解いてみる」で iOS アプリの構造について説明しました。深いところの説明ばかりだったのでもう少し浅いところ、画面の見た目や画面遷移を実装する方法について説明します。 ユーザの要望がどのよう…

UIViewController の基礎知識

内容が薄かったため下記ページに統合しました。 iOS アプリの画面開発の基礎を理解する

iOS アプリの構造がどのようになっているか紐解いてみる

iOS アプリの構造がどのようになっているのか理解しなくても簡単なアプリを開発することは可能です。実際自分も iOS アプリの開発をはじめたことろはそうでした。しかしアプリの構造を理解していないと複雑なアプリ、例えばタブとナビゲーションを組み合わせ…

iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する

iOS は タッチパネル式端末用に最適化された OS で ユーザが端末を操作しやすいように GUI の仕組みが提供されています。iOS アプリ開発では主に GUI を操作するプログラムを実装していきます。iOS の GUI プログラムはイベント駆動型と言われるプログラミン…

コロプラは永久に不滅です。

私事ではありますが2012年3月31日を持ちまして株式会社コロプラを退職することになりました。3月4日が最終出社日でした。 在職中お世話になった皆様本当にありがとうございました。コロプラに入社したのは2010年8月23日で1年7ヶ月と在籍期間は短いですがとて…

シンプルで簡単に HTTP 通信が出来るライブラリを公開しました

iOS で HTTP 通信をするときはいつも ASIHTTPRequest を使っていました。 しかし残念なことに最近 ASIHTTPRequest の開発が終了してしまい Automatic Reference Counting(ARC) に対応する予定もないようなので自分で ARC に対応した HTTP 通信のライブラリを…

新作アプリ即興ピアノをリリースしました。

昨日2月14日に新作iPhoneアプリ「即興ピアノ」をリリースしました。 即興ピアノは音階を固定(例えば C Major とか G Major とか)してピアノを弾くことができます。音階が固定されているので適当に弾いても音がにごらず即興演奏で弾いたかのように聴こえます…

失敗しない iOS In-App Purchase プログラミング

最近、無料アプリや無料ゲームにアプリ内課金を設置してユーザにアイテムを購入してもらうタイプのものが増えています。App Store トップセールスのうち半数以上がこの無料 + アプリ内課金で占められています。今後アプリ内課金は iPhone/iPad アプリで儲け…

サルでもわかる Core Data 入門【実装編】

サルでもわかる Core Data 入門【概念編】の続きです。今回は実際に Core Data を使ったプログラムを作成します。 サンプルアプリの概要 アドレス帳アプリを作りながら Core Data の使い方を説明していきます。 以下はサンプルアプリの画面構成です。 連絡先…

サルでもわかる Core Data 入門【概念編】

iOS でデータを永続化する方法の続きです。今回は Core Data を使ったデータの永続化方法について説明します。 本記事では複雑で習得が難しいとされている Core Data について概念編と実装編の2回に分けて説明していきます。記事の全体的な流れとしては Core…

NSUserDefaults を使ったデータの保存方法

iOS でデータを永続化する方法の続きです。今回は NSUserDefaults クラスを使ったデータの永続化方法について説明します。このクラスを使うと簡単にデータの保存と読み込みが出来るのでアプリ開発で頻繁に使用されています。 NSUserDefaults って何? アプリ…

iOS でプロパティリストを使ったデータの保存方法

iOS でオブジェクトをシリアライズする方法に続き今回もデータ永続化方法の紹介です。 iOS にはプロパティリストと呼ばれるファイル形式があります。プロパティリストは NSArray や NSDictionary クラスを使って簡単にデータの読み書きができます。 ここでは…

iOS でオブジェクトをシリアライズしてファイルに保存する方法

iOS でデータを永続化する方法の続きです。今回はシリアライズされたオブジェクトの保存方法について説明します。シリアライズされたオブジェクトはファイルで保存することが容易なためデータ永続化の際に頻繁に使用されます。 シリアライズ自体はデータの保…

iOS でデータを永続化する方法

iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終…

UIWebViewにJSのライブラリを動的に読み込ませる方法

UIWebView で表示している HTML ページに Javascript ライブラリを動的に読み込ませる方法です。 使う場面はそうないと思いますが、興味本位で試してみたらできたので記事にしました。Google Libraries API という Javascript のライブラリを使うと簡単に出…

iOS であつかうデータの種類と生存期間

内容を全面的に見直して以下の記事に集約しました。 iOS データ設計入門