その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

2011-05-01から1ヶ月間の記事一覧

リファクタリング講座メモ

5/29にRainbowApps卒業生の方が主催された合宿に参加した際、そこでバスケさんが話されていた「公開リファクタリング講座」が非常にためになる内容だったので、そのときのメモを公開しておきます。 メモリまわりのデバッグ/リファクタリング leaksが有名な…

LLVM GCC と LLVM Compiler 2.0 とどっちがいいのか?

Xcode 4 からコンパイラのシステムデフォルトが GCC 4.2 から LLVM GCC 4.2 へ変更されましたが、その下にある LLVM Compiler 2.0 ってのが気になるので調べてみました。 LLVM GCC と LLVM Compiler 2.0 の違い GCCと比較した場合、LLVMコンパイラでビルドす…

GeoHexのレベルとサイズの対応

先日のgeohexエントリに引き続き、国産アルゴリズムGeoHexについてです。 下記コードで各レベルにおけるhexSizeをログにはいただけですが、コード書かずとも知りたい人もいると思うので、載せておきます。 for (int j=0; j<15; j++) { NSLog(@"level:%d, hex…

Objective-C版GeoHexを試してみました

GeoHexとは 独自の座標系を用いて世界中(GoogleMapsのカバー範囲)を隙間の無いHex(正六角形)で埋め尽くし、Hexによって世界中の全ての緯度経度の地点を表現するための仕様。Hexの大きさは25段階(レベル)で指定できる。・見た目がcool!!・隣接する6つのHex…

コードスニペットまとめサイト

UIViewのブロックアニメーションについて調べようと検索かけてみたら、偶然便利そうなサイトを発見しました。 Code Snippet Collection 試しにLanguagesのタブからObjective-cを選んでみると、 http://icodesnippet.com/language/objective-c/ ざくざく出て…

UIKitのクラス名と、UI Automationでのクラス名の対応

UIAutomationをちょろっと使用してみたのですが、 「UIKitのあのクラスはUIAutomationでは何て名前?」 ってのをサッと知りたかったので、AppleのUIAutomationのリファレンスを見つつ、UIKitとUIAutomationのクラス対応表みたいなものを作ってみました。 ビ…

otoolでバイナリの内容をいろいろと調べる方法

new BSDライセンスについて調べていたら、こちらの有名な事件に関してのまとめ記事に行き当たり、 NatsuLion for iPhone クローン (略) から学んだこととかまとめ その中でこんな記述がありました。 今回の場合は、まず、Twitterville が見た目上ソックリで…

BMPファイルのカラーパレットを書き換える

ゲームのキャラ画像など、一つの画像に対して配色パターンがたくさんある場合、画像ファイルは1つだけ持っておいて、カラーパレットを動的に書き換えるという方式をとるようです。 これだと容量を節約できるし、全ピクセルに対して色変換する場合と違ってパ…

インストールしているアプリ一覧を共有するサービスappsfireのしくみ

ここで開発者の方が自らヒントを出してくれています。 http://forums.macrumors.com/showthread.php?t=1121778 I'm a Product Manager at Appsfire. We're happy you've found the app and hope you're enjoying.Everything we do is within Apple's guideli…

csvファイルからplistを生成するPHPスクリプト

エクセルとかGoogle docsで編集されたデータをplistファイルとしてアプリに持たせたい、といった場合用の、csvファイルからplistファイルへの変換スクリプトです。 こちらに置いてあります。 https://github.com/shu223/csv2plist たとえばこういうcsvファイ…

構造体を NSDictionary や NSArray に格納する方法

C言語の構造体をNSDictionary や NSArray、NSUserDefaultsなどに格納する方法、つまりObjective-Cのオブジェクト化する方法についてです。 CGRectとかCGPointを格納するときと同様、NSValueを用います。 例として下記のようなRGBAの色情報を持つ構造体を定義…

CCDirector のソース解析

CCDirectorのソースを解析してたときのメモがあったので、載せておきます。 (UIKitとcocos2dの併用時にCCSceneの遷移でハマっていたので、原因の目星をつけられるようソースを読んでました) CCDirectorの正体 CCDirector *director = [CCDirector sharedDi…

MKAnnotationViewのコールアウトをカスタマイズする

地図をタップしたときに出るフキダシをカスタマイズする方法です。 (参考ページより) 参考ページではかなり詳細に書かれているのですが、コールアウトのカスタマイズに関わる部分の要点だけ抜粋すると、 MKAnnotationViewのサブクラスをつくり(サンプルで…

OpenAL、AVAsset を使用した無料アプリをリリースしました

左右で別々の音源を聴くことが可能な、学習加速アプリです。 『i聖徳太子』 ※無料です やりたいことはシンプルなのに、 iPodライブラリから取得した曲を 左右にパンニングして再生 という必須要件を満たそうとするとそのまま MPMediaItem をMPMusicPlayerCon…

バッテリー消費量の計測方法など、iOSのデバッグに関するドキュメント

NSZombieEnabledをYESにするとか、そういう開発ノウハウの情報ソースはどこにあるんだろうと不思議だったのですが、iOS Dev Centerのドキュメントを漁っていて発見しました。 iOS Debugging Magic たとえばNSZombieEnabledなどの話は、Table 10 Foundation e…

AdMobの入金タイミング

iOS

AdMobの収益が振り込まれるタイミングがよくわからなかったので調べてみました。 http://helpcenter.admob.com/ja/content/お支払い方法 サイト運営者様へのお支払いスケジュール 月々の収益の支払い処理は、収益があった月の翌々月に開始されます。 処理に…

Instruments の Leaks の見方(Live Bytes や Living の意味)

このLive BytesやらLivingやら、タイトルから大体推測できるものの、ちゃんとした定義をしりたかったのですが、ヘルプ内を探しても見当たらず、iOS開発関係の本を見てもどの値が何とまでは書いてくれていませんでした。たまたまググったら出てきたので、下記…