[iPhone 開発本] iOS SDK Hacks の感想など。

公開日: : iPad, iPhone, , ,

iOS SDK Hacksは発売前から話題になっていて、発売日は10/23だが前日に新宿ジュンク堂に並んでいるとの情報をTLで得て買ってきた。
Binary Hacksと同様、iOS SDKを使った便利な技が41個載っている。
著者は吉田悠一氏と高山征大氏とUICoderz。

オライリーのページはこちら。著者によるサポートページはこちら。サンプルコードが公開されている。

「筆者らが常に「こんなこと」が本やネットに載っていればなあ…と思っている項目を中心にまとめてある」と前書きにあるとおり、知りたかった知識がまとまっている印象。

Push Notification のサーバ側コードなど、日本のSDK本に載っているのは見たことがないので類書のない本になりそう。

なぜかAmazonの目次がとても読みづらいので、書き出してみる。Method Swizzling, otool, VFP など知らない言葉がいろいろあって読むのが楽しみになる。
ついでにちょっと内容紹介を書いてみる。

  1. subviewsを辿る … 第1章、UIKit Hacks。UIViewのsubviews を使ってViewの中を探る話
  2. respondsToSelectorをフックする … NSObject の respondsToSelector を使って、デリゲートメソッドの呼び出しをフックする
  3. UIWebViewでユーザーエージェントを切り替える… shouldStartLoadWithRequest を使う話
  4. class-dump … class-dump の使い方の紹介。
  5. 便利マクロ … デバッグログをリリース版では出さないようにするマクロなど
  6. UITableView Hacks … UITableViewの描画が遅い理由の説明。Quartzを使って自前クラスを書き高速化する
  7. NSOperation … More iPhone Cool Projects にも載っていた NSOperationを使ったマルチスレッド処理の書き方。簡潔に書かれていてわかりやすい
  8. PNG最適化 … 実はiPhone上で高速に描画できるPNGは普通のPNGとは違う! という話
  9. MapKitとMKMapView … Google Local APIを使って、MKMapView上にピンを配置するコードの紹介
  10. MKMapViewでピンをアニメーションさせる … MKAnnotationView の話
  11. AsyncSocket … 非同期通信で AsyncSocket を使う話
  12. ImageStore  … 画像の非同期ダウンロードに ImageStore を使う話
  13. AdHocビルド  … AdHoc ビルドしてアプリを配布する話。自分は何度も失敗しているが、dist.plistファイルを追加していないためかもしれない
  14. 外部ディスプレイ … UIScreenの話。外部ディスプレイには Apple iPad Dock Connector to VGA アダプタ を使って出力する
  15. 文字を高速に描画するには … ここから第2章 Quartz Hacks。NSString(UIStringDrawing)の話。
  16. 影付け  … #15の文字列に陰を付ける話。CGContextSetShadow などを使う。
  17. クリッピング  … Quartzのクリッピング機能を使って、角丸図形を描画する話
  18. NSStringを使わない描画方法  
  19. Quartzで2バイト文字等を描画する  
  20. 描画される文字の幅を調べる  
  21. 自分で用意したフォントを使う  … 例として IPAフォントを使って自分で用意したフォントを使ってみる話
  22. UIImage Hacks  … UIImageからピクセルデータを読み出す話
  23. ピクセルデータから UIImageを作成する … RGBAのピクセルデータからCGImageを使って UIImageを作成する
  24. Objective-Cの動的性質  … ここから第3章 Objective-C Hacks。Objective-CはこんなCコードに変換されるのか。
  25. Method Swizzling  … 既存のクラスのコードを Method Swizzling で自前コードに入れ替える話。method_exchangeImplementations を使っている
  26. Method Swizzlingによる UIWebView Hackの例(iOS 3) … iOS3の target=”_blank” 問題を回避したりする
  27. dlopen … dlopen(3) を使ってバイナリを動的にロードする
  28. 性能チューニング  …第4章 パフォーマンスチューニングHacks。NSDateやCFAbsoluteTimeGetCurrentやgettimeofday(3)の紹介
  29. otool  … otool の使い方の話。ある程度新しい環境なら /usr/bin/otool が使えるらしい。
  30. Instruments  … Instruments の使い方の説明。DTrace が使われていたのか。NSZombieの設定もInstrumentsでできる。UIテストの自動化も。#40にもあり。
  31. Shark  … Shark はオフライン処理でさらに正確な計測が可能らしい。
  32. ARMイントロダクション  … Thumb命令、VFP, NEONなどARMアーキテクチャ概要。わかりやすい。
  33. NEON  … ARMv7のSIMD命令 NEON を使う話。NEONはintrinsics で書ける。3GS以降で利用可能。
  34. VFP … インラインアセンブリを書いてVFP(Vector Floating Point):浮動小数点演算用コプロセッサを利用する。こちらは3Gでも利用可能。
  35. Push Notification … 第5章 ネットワークサービス Hacks。APNs用のサーバ側Rubyスクリプトが紹介されている
  36. In App Purchase … ざっと全体が書かれている。やはりIn App Purchaseは大変そうだ。とっかかりとしてとてもよさそう。
  37. ユニバーサルバイナリ … 第6章 iOS4 Hacks. ユニバーサルバイナリはiPhone/iPad両方で動くアプリの話だと思っていたが、異なるiOSバージョンをサポートするのにも使えるとのこと
  38. iOS 4のカメラ API  … iOS4からはカメラで撮影した画像にリアルタイムでアクセスできるようになったらしい。
  39. Accelerate.framework  … Accelerate.framework は数学演算用のライブラリらしい。vImage, vecLib, vDSP, BLAS, LAPACK が含まれるとのこと。
  40. UI Automation  … Instruments を使ったユーザインタフェーステストの自動化の話
  41. Grand Central Dispatchによる並列処理 … dispatch_get_global_queue, dispatch_apply を使ってGCDを利用しようの話。実際にはまだiPhoneはシングルコアなので将来向けの話。

ざっと内容を書いてみて内容の濃さがよくわかった… 持っているときっと何かの時に役に立つのではないかと。中級者以上向け。

iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック
iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック 吉田 悠一 高山 征大 UICoderz

オライリージャパン 2010-10-23
売り上げランキング : 231

Amazonで詳しく見る by G-Tools

Apple iPad Dock Connector to VGA Adapter (MC552ZM/A)
Apple iPad Dock Connector to VGA Adapter (MC552ZM/A)
Apple Computer
Sales Rank :

Average Review star
starJailbreak your iphone or ipad and it works for EVERYTHING
starDoesn’t work
starFrom touch to your flat screen

See details at Amazon by G-Tools

関連記事

iPhotoがiPad mini 4 を iPhone 7 Plus と表示する

「写真」が好きになれないのでいまだにiPhotoを使っているのだが、MacBook Late 201

記事を読む

no image

[感想] 教育×破壊的イノベーション クレイトン・クリステンセン

教育×破壊的イノベーション 教育現場を抜本的に変革するクレイトン・クリステンセン マイケル・ホーン

記事を読む

no image

「サンプルプログラムでマスターする iPhone SDK」 の感想

2009年9月に発売された本。 iPhone SDK 3.0 リリース後に書かれた本なので、3.

記事を読む

iPad 12.9インチでも安定するタブレットスタンド

iPad Pro 12.9インチを買ったが、かなり大きく机の上で場所を取るので、スタンドを買ってみ

記事を読む

no image

[iPhone開発本][洋書] iPhone 3D Programming

たまたまApp Storeで O'reilly Media で検索したら、600円の本がわんさか表示

記事を読む

no image

[読んだ] 織田信長のマネー革命

織田信長のマネー革命 経済戦争としての戦国時代 (ソフトバンク新書)武田 知弘 ソフトバンククリエイ

記事を読む

no image

iPhone OS 3.0 インストール

OSのメジャーアップデートの機会は1年に一度だろう、ということで貴重な機会なのとbeta 5になりさ

記事を読む

Bluetooth MIDIキーボード KORG microKEY Airを買ってみた

以前から気になっていた、Bluetooth MIDI キーボード KORG microKey Ai

記事を読む

no image

iPhoneアプリケーションプログラミング-オンライン版

先日紹介した、新居雅行氏のiPhoneアプリケーションプログラミングだが、オンライン版が存在する。

記事を読む

no image

モンスターハンターポータブル3rd ルーキーズ・ガイド (エンターブレインムック)

やたらと売れているらしいのできっと面白いのだろうと思って購入したMHP3だが、すっかりはまっている。

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

昭和書体の鬼セットと鬼セット2購入

鬼滅の刃で使われているかっこいい書体を知っているだろうか。 こ

2020年大晦日

毎年年末は家族で旅行に出かけていたが、今年はコロナウィルスの

M1 MacBook Air に Apple LED Display をつないでみる

先日 M1 MacBook Air を購入 した。 今

DisplayPort to HDMI変換ケーブル QGEEM QG-HD02

以前会社で使っていた HP Elitebook 820 G3は Di

M1 MacBook Air にリストラグを貼ってみた

M1 MacBook Air の筐体が冷たくて作業時につらいのでパー

→もっと見る

PAGE TOP ↑