技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

iPhone

iPhone で今更 HelloWorld(InterfaceBuilder使わずに実装)

Xcode についてくる InterfaceBuilder についての感想の遷移。①初めて触ったとき → 超意味不。本気で使いにくい。 ②すべてプログラムで実装した後 → InterfaceBuilder ってそういうことやってたのね。だがコードで書く。 ③今 → とりあえず InterfaceBuilder …

iPhone のステータスバーを消す

AppDelegate のエントリ位にさくっと。 [[UIApplication sharedApplication] setStatusBarHidden:YES];

iPhone でアラート出す。

といってもこれだけ。 - (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { /* 何かの処理 */ [alertView release]; } - (IBAction) selectTimeTrial { UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"…

iPhone でちまちまゲーム作ってみる

作るゲームの内容とか、全コード曝すことはしない。 あくまで Tips というか、作る間にハマったこと、ノウハウとか書くだけ。ゲームは複数の画面があって、当然のごとく切り替える。タイトル、ゲーム画面、ヘルプ、設定画面位はよくある構成か、、、。もちろ…

OS3.0 の公式 UnitTest 試してみた

さくっとテスト対象プログラム @interface HelloObject : NSObject { } - (NSString*)helloMessage:(NSString*)name; @end #import "HelloObject.h" @implementation HelloObject - (NSString*)helloMessage:(NSString*)name { return [NSString stringWithF…

iPhoneOS 3 で UnitTest 実装キタコレ

公式サンプルに「iPhoneUnitTests」サンプルキタコレ

BAD_ACCESS のポイントを探る

Xcodeメニューで[メニュー][プロジェクト][アクティブな実行ファイルを編集]を選択。 環境変数で以下の3つを指定NSZombieEnabled = YES MallocStackLogging = YES NSDebugEnabled = YES上記で、BAD_ACCESS の原因クラスが判明。shell malloc_history [PID] […

Objective-C の開発環境など

開発にあたって、自分が使ってるものを列挙する。 設計 Objective-C のメッセージングは、普通のクラス図では表現しがたい。 なので、設計にはマインドマップを使ってる。 http://www.xmind.net/ 開発 といっても開発環境はAppleさん指定なので何も言うまい…

シミュレータのバージョン互換バグ

2.2.1 でソフトをアップせねばならず、かつ OS3.0 でも動くようにしろとの Apple さんのお達しに従い、両対応しようとしたが、ハマった。 AVFoundation とか、ライブラリを使ってると、Simulator 2.2.1 ビルドのバイナリが、OS 3.0 Simulator で、「そんなラ…

AVFoundation/SoundQueue のメモリリーク

なんぼコード見直しても、Instruments で見る限り、初回の mp3 再生時にメモリリークしやがる。 が、シミュレータだけの問題で、実機でメモリリーク起きなかった。…しっかりしてくれ Apple さん

iPhoneOS 3.0 SDK のUIScrollView 挙動の変化

iPhoneOS2.2.1 までは touchesBegin: → touchesMoved: → touchesEnded: くらいまで、子クラスで取れる。 しかも何故か、touchesEnded: が2回起きる。 iPhoneOS 3.0 SDK でコンパイルすると、touchesEnded: が1回呼ばれるだけ。直ったといえば聞こえはいいが…

よく出るエラーと原因

BAD_ACCESS :release か autorelease で既に開放済みのインスタンスにアクセス BAD_INSTRUCTION :Javaで言う ArrayIndexOutOfException 配列のインデックスが間違ってるこの辺かなり地獄、、、、。 やっぱネイティブ言語はエラーが分かりづらいからヤダ。*1…

iPhone から AppStore の検索URLにリンクする

通常、 Skype とかのダウンロードサイトを開くときは、以下の手順を踏む。 PC で iTunes 起動して、商品を検索(ここでは skype) 商品名を右クリックして、「iTunes store URL をコピー」を選択。 「http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewS…

iPhone で画面イメージを取得する

前回と似たネタ。 #import <QuartzCore/QuartzCore.h> - (UIImage*) buildImageFrom: (UIView*)view { UIGraphicsBeginImageContext(view .bounds.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage* viewImage = UIGraphicsGetImageFromCurrentImageConte</quartzcore/quartzcore.h>…

iPhone で画面イメージを取得する

何の事は無いこれだけ。 [UIImage imageWithCGImage:UIGetScreenImage()]; かなり地獄を見た。

iPhone でXMLのDOM解析を行う

デフォルトの NSXMLPerser がシーケンスアクセスしかできなくてとても扱いづらい。 かといって、根っこの libxml2 は高性能で早くて DOM 使えるのにドキュメントが腐ってて扱いにくい。 で、探して見っけたのがこれhttp://code.google.com/p/gdata-objective…