Objective-C
位置情報対応プログラミングガイドみてたら、わかりやすくまとまってたので。 iPhone OSベースデバイスの無線によるデータの送受信は、デバイス上のその他の操作に比べ、より 多くの電力を必要とします。Core Locationはこれらの無線を利用してユーザの位置…
UIKitになく、かつUIKitベースなオープンソースのUIライブラリを紹介していきます。 いきなりその5から始まるのは、過去に書いた、 UIPopOver風のWEPopover カバーフローのOpenFlow フリップカード風のFlipCardNavigationView グラフ描画のs7graphview に続…
A curated catalog of iOS frameworks and classes for the pragmatic iOS developer と銘打たれた、iOSのフレームワークやクラスを紹介するサイトを見つけました。 http://iosframeworks.com/ と紹介してみたものの、ざっと見た感じではイマイチかも・・・ …
線グラフだけなら以前紹介したs7graphviewが手軽でおすすめなのですが、 今回発見したPowerPlotのexampleのページをみると、 と、なにやら機能が豊富そうです。 ただ、downloadのページをみると、 と、CHAPCHAまであったりしてなんだかめんどくさい・・・ と…
たとえば IB で Helvetica を選んで「ボールド・イタリック」を選択した場合、Font欄には『Helvetica Bold Oblique』と表示されます。 で、これを真に受けてプログラム側でフォントを指定したい場合に、 self.hogeLabel.font = [UIFont fontWithName:@"Helve…
5/29にRainbowApps卒業生の方が主催された合宿に参加した際、そこでバスケさんが話されていた「公開リファクタリング講座」が非常にためになる内容だったので、そのときのメモを公開しておきます。 メモリまわりのデバッグ/リファクタリング leaksが有名な…
先日のgeohexエントリに引き続き、国産アルゴリズムGeoHexについてです。 下記コードで各レベルにおけるhexSizeをログにはいただけですが、コード書かずとも知りたい人もいると思うので、載せておきます。 for (int j=0; j<15; j++) { NSLog(@"level:%d, hex…
GeoHexとは 独自の座標系を用いて世界中(GoogleMapsのカバー範囲)を隙間の無いHex(正六角形)で埋め尽くし、Hexによって世界中の全ての緯度経度の地点を表現するための仕様。Hexの大きさは25段階(レベル)で指定できる。・見た目がcool!!・隣接する6つのHex…
UIViewのブロックアニメーションについて調べようと検索かけてみたら、偶然便利そうなサイトを発見しました。 Code Snippet Collection 試しにLanguagesのタブからObjective-cを選んでみると、 http://icodesnippet.com/language/objective-c/ ざくざく出て…
UIAutomationをちょろっと使用してみたのですが、 「UIKitのあのクラスはUIAutomationでは何て名前?」 ってのをサッと知りたかったので、AppleのUIAutomationのリファレンスを見つつ、UIKitとUIAutomationのクラス対応表みたいなものを作ってみました。 ビ…
new BSDライセンスについて調べていたら、こちらの有名な事件に関してのまとめ記事に行き当たり、 NatsuLion for iPhone クローン (略) から学んだこととかまとめ その中でこんな記述がありました。 今回の場合は、まず、Twitterville が見た目上ソックリで…
ゲームのキャラ画像など、一つの画像に対して配色パターンがたくさんある場合、画像ファイルは1つだけ持っておいて、カラーパレットを動的に書き換えるという方式をとるようです。 これだと容量を節約できるし、全ピクセルに対して色変換する場合と違ってパ…
ここで開発者の方が自らヒントを出してくれています。 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…
C言語の構造体をNSDictionary や NSArray、NSUserDefaultsなどに格納する方法、つまりObjective-Cのオブジェクト化する方法についてです。 CGRectとかCGPointを格納するときと同様、NSValueを用います。 例として下記のようなRGBAの色情報を持つ構造体を定義…
CCDirectorのソースを解析してたときのメモがあったので、載せておきます。 (UIKitとcocos2dの併用時にCCSceneの遷移でハマっていたので、原因の目星をつけられるようソースを読んでました) CCDirectorの正体 CCDirector *director = [CCDirector sharedDi…
地図をタップしたときに出るフキダシをカスタマイズする方法です。 (参考ページより) 参考ページではかなり詳細に書かれているのですが、コールアウトのカスタマイズに関わる部分の要点だけ抜粋すると、 MKAnnotationViewのサブクラスをつくり(サンプルで…
左右で別々の音源を聴くことが可能な、学習加速アプリです。 『i聖徳太子』 ※無料です やりたいことはシンプルなのに、 iPodライブラリから取得した曲を 左右にパンニングして再生 という必須要件を満たそうとするとそのまま MPMediaItem をMPMusicPlayerCon…
NSZombieEnabledをYESにするとか、そういう開発ノウハウの情報ソースはどこにあるんだろうと不思議だったのですが、iOS Dev Centerのドキュメントを漁っていて発見しました。 iOS Debugging Magic たとえばNSZombieEnabledなどの話は、Table 10 Foundation e…
Xcode3 の Interface Builder ではインスペクタから選ぶだけでできたのですが、 http://iphone-app-developer.seesaa.net/article/130194298.html (3) Inspectorの左端のtabでTab Bar Controller/View Controllersの項目の、Titleが"First"の部分を"View Con…
なるべくUIViewを使わず描画するとか、nibを使わないとか、iOSアプリの動作を軽快にするためのTipsは数あれど、実際どれぐらい効果あるんだろう、ってことを調べたい、でもInstrumentsはめんどくさい、ってことでメモリ消費量やUIViewの数など、「負荷を示す…
Instrumentsを使用せず、アプリ内から空きメモリ容量や使用中のメモリ容量を取得する方法です。 下記は空きメモリ容量を取得するサンプルです。 host_statistics()という関数を使用して、vm_statistics_data_t なる構造体を取得し、free_countという要素を出…
とある静的ライブラリ(拡張子.a)をリンクして使用しようとすると、実行時になぜか unrecognized selector sent to class XXXX とエラーが出るので、ビルド設定を見直したところ、"Other Linker Flags"(Xcode3.xで言えば「他のリンカフラグ」)に "-ObjC" …
画像をたくさん使いたい、でもバイナリサイズ20MBは超えたくないという場合に、 1. 初回起動時にサーバーからダウンロードする 2. zipで圧縮しておいて初回起動時に解凍する 3. あきらめる。なんとか切り詰める といった選択肢があるわけですが、サーバー連…
勉強になりすぎてなかなか読み進めないので、個人的に参考になりそうな部分をかいつまんでまとめていきます。 iOS開発におけるパターンによるオートマティズム木下 誠 ビー・エヌ・エヌ新社 売り上げランキング: 69,541Amazon.co.jp で詳細を見る 通知のパタ…
バックグラウンドで動いてるつもりでいつの間にかkillされるというのは EncountMe のようなアプリにとってなかなか切実な問題なのですが、こんな貴重な情報を見つけました。 http://d.hatena.ne.jp/kimada/20100722/1279807029#20100722f1 WWDC2010のスライ…
実装の参考になるかもしれないので、cocos2d を使ったアプリのソースコードをいろいろと集めています。 Gorillas https://github.com/Lamentum/Gorillas ビルドするのにプロジェクトをもろもろ整備する必要あり。 https://github.com/Lamentum/iLibs と coco…
先日出した高速スライドショーアプリは最高0.1s/枚とうたっていますが、実際のところ、なかなか1秒に10枚表示とはいきません。 ALAsset から UIImage へ変換する部分の実装ではこんな感じになっているのですが、 ALAsset *aseet = (ALAsset *)[self.assets o…
たまたまDeveloper Centerで見かけたもの。引数不要、戻り値はUIImageと、使いやすそうなので載せておきます。 (自分ではまだ試してないのですが・・・) http://developer.apple.com/library/ios/#qa/qa1703/_index.html%23//apple_ref/doc/uid/DTS4001019…
"cocos3d"なるcocos2dエクステンションが出たようです。 http://brenwill.com/cocos3d/ とりあえずダウンロードしてデモを動かしてみました。 デモのビルド方法 cocos2dとcocos3dのソースが入ってないので、追加してやる必要があります。以下追加手順です。 …
大量の画像をダーッと見るための高速画像ビューアです。 『i走馬灯』 ※無料です Assets Library というiOS4から追加されたフレームワークを使用して、フォトライブラリの中身をまるっと取得することで、高速スライドショーを可能にしています。 Assets Libra…