[iPhone 開発本] iOS SDK Hacks の感想など。
iOS SDK Hacksは発売前から話題になっていて、発売日は10/23だが前日に新宿ジュンク堂に並んでいるとの情報をTLで得て買ってきた。
Binary Hacksと同様、iOS SDKを使った便利な技が41個載っている。
著者は吉田悠一氏と高山征大氏とUICoderz。
オライリーのページはこちら。著者によるサポートページはこちら。サンプルコードが公開されている。
「筆者らが常に「こんなこと」が本やネットに載っていればなあ…と思っている項目を中心にまとめてある」と前書きにあるとおり、知りたかった知識がまとまっている印象。
Push Notification のサーバ側コードなど、日本のSDK本に載っているのは見たことがないので類書のない本になりそう。
なぜかAmazonの目次がとても読みづらいので、書き出してみる。Method Swizzling, otool, VFP など知らない言葉がいろいろあって読むのが楽しみになる。
ついでにちょっと内容紹介を書いてみる。
- subviewsを辿る … 第1章、UIKit Hacks。UIViewのsubviews を使ってViewの中を探る話
- respondsToSelectorをフックする … NSObject の respondsToSelector を使って、デリゲートメソッドの呼び出しをフックする
- UIWebViewでユーザーエージェントを切り替える… shouldStartLoadWithRequest を使う話
- class-dump … class-dump の使い方の紹介。
- 便利マクロ … デバッグログをリリース版では出さないようにするマクロなど
- UITableView Hacks … UITableViewの描画が遅い理由の説明。Quartzを使って自前クラスを書き高速化する
- NSOperation … More iPhone Cool Projects にも載っていた NSOperationを使ったマルチスレッド処理の書き方。簡潔に書かれていてわかりやすい
- PNG最適化 … 実はiPhone上で高速に描画できるPNGは普通のPNGとは違う! という話
- MapKitとMKMapView … Google Local APIを使って、MKMapView上にピンを配置するコードの紹介
- MKMapViewでピンをアニメーションさせる … MKAnnotationView の話
- AsyncSocket … 非同期通信で AsyncSocket を使う話
- ImageStore … 画像の非同期ダウンロードに ImageStore を使う話
- AdHocビルド … AdHoc ビルドしてアプリを配布する話。自分は何度も失敗しているが、dist.plistファイルを追加していないためかもしれない
- 外部ディスプレイ … UIScreenの話。外部ディスプレイには Apple iPad Dock Connector to VGA アダプタ を使って出力する
- 文字を高速に描画するには … ここから第2章 Quartz Hacks。NSString(UIStringDrawing)の話。
- 影付け … #15の文字列に陰を付ける話。CGContextSetShadow などを使う。
- クリッピング … Quartzのクリッピング機能を使って、角丸図形を描画する話
- NSStringを使わない描画方法
- Quartzで2バイト文字等を描画する
- 描画される文字の幅を調べる
- 自分で用意したフォントを使う … 例として IPAフォントを使って自分で用意したフォントを使ってみる話
- UIImage Hacks … UIImageからピクセルデータを読み出す話
- ピクセルデータから UIImageを作成する … RGBAのピクセルデータからCGImageを使って UIImageを作成する
- Objective-Cの動的性質 … ここから第3章 Objective-C Hacks。Objective-CはこんなCコードに変換されるのか。
- Method Swizzling … 既存のクラスのコードを Method Swizzling で自前コードに入れ替える話。method_exchangeImplementations を使っている
- Method Swizzlingによる UIWebView Hackの例(iOS 3) … iOS3の target=”_blank” 問題を回避したりする
- dlopen … dlopen(3) を使ってバイナリを動的にロードする
- 性能チューニング …第4章 パフォーマンスチューニングHacks。NSDateやCFAbsoluteTimeGetCurrentやgettimeofday(3)の紹介
- otool … otool の使い方の話。ある程度新しい環境なら /usr/bin/otool が使えるらしい。
- Instruments … Instruments の使い方の説明。DTrace が使われていたのか。NSZombieの設定もInstrumentsでできる。UIテストの自動化も。#40にもあり。
- Shark … Shark はオフライン処理でさらに正確な計測が可能らしい。
- ARMイントロダクション … Thumb命令、VFP, NEONなどARMアーキテクチャ概要。わかりやすい。
- NEON … ARMv7のSIMD命令 NEON を使う話。NEONはintrinsics で書ける。3GS以降で利用可能。
- VFP … インラインアセンブリを書いてVFP(Vector Floating Point):浮動小数点演算用コプロセッサを利用する。こちらは3Gでも利用可能。
- Push Notification … 第5章 ネットワークサービス Hacks。APNs用のサーバ側Rubyスクリプトが紹介されている
- In App Purchase … ざっと全体が書かれている。やはりIn App Purchaseは大変そうだ。とっかかりとしてとてもよさそう。
- ユニバーサルバイナリ … 第6章 iOS4 Hacks. ユニバーサルバイナリはiPhone/iPad両方で動くアプリの話だと思っていたが、異なるiOSバージョンをサポートするのにも使えるとのこと
- iOS 4のカメラ API … iOS4からはカメラで撮影した画像にリアルタイムでアクセスできるようになったらしい。
- Accelerate.framework … Accelerate.framework は数学演算用のライブラリらしい。vImage, vecLib, vDSP, BLAS, LAPACK が含まれるとのこと。
- UI Automation … Instruments を使ったユーザインタフェーステストの自動化の話
- Grand Central Dispatchによる並列処理 … dispatch_get_global_queue, dispatch_apply を使ってGCDを利用しようの話。実際にはまだiPhoneはシングルコアなので将来向けの話。
ざっと内容を書いてみて内容の濃さがよくわかった… 持っているときっと何かの時に役に立つのではないかと。中級者以上向け。
| iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック | |
![]() |
吉田 悠一 高山 征大 UICoderz
オライリージャパン 2010-10-23 |
| Apple iPad Dock Connector to VGA Adapter (MC552ZM/A) | |
![]() |
Apple Computer Sales Rank : Average Review |
関連記事
-
-
iPhone SDK開発のネタ帳 マルチタッチ対応
iPhone SDK開発のレシピにはいろいろ役に立つ内容があったので、同じようなことをブログに書いて
-
-
とてもゲームがやりたくなる本: 3Dゲームをおもしろくする技術
ゲームの作り手向けの本だが、こんな工夫がされているのか! と目からウロコが落ち、ゲームがやりたくなる
-
-
MangaONEでARMS読み放題期間延長
MangaONE で2015/12/29まで皆川亮二氏の名作ARMSが読み放題、ということで暇をみ
-
-
ヘコむな、この10年が面白い!
うーん、この人すごい。さすが世界中の国で仕事をしてきた人だけあって、言うことに説得力がある。 ものづ
-
-
最近読んだ本: これでiPhoneアプリが1000万本売れた 南雲 玲生著
周りでおもしろいと言っている人がいたので買ってみた。2011/05/21発売。 株式会社ユードーの南
-
-
Apple Watch用バッテリーロガーを公開しました
1年前に開発し、App StoreにSubmitしたものの Rejectされ続けていたアプリをその
-
-
Anker の高耐久ライトニングケーブルを買ってみた
立て続けに2本ライトニングケーブルが壊れたので、ふんぱつして高級ケーブルを買ってみた。 たしかに
-
-
「サンプルプログラムでマスターする iPhone SDK」 の感想
2009年9月に発売された本。 iPhone SDK 3.0 リリース後に書かれた本なので、3.
-
-
英単語リスト探し中 → GSL と AWLを発見
今作っている英単語学習用iPhoneアプリは基本的には自分で英単語を入力して問題にするのだけれども、
-
-
App Storeでのアプリ最低価格が突然115円から85円に 2011/07/14
App Storeでのアプリ最低価格が突然日本時間2011/07/14(木)未明に115円から85円



Jailbreak your iphone or ipad and it works for EVERYTHING
Doesn’t work