Hatena::Groupiphone-dev

haoyayoi Dev Style このページをアンテナに追加 RSSフィード

2009-03-05

イラストデザインが固まらない

| 12:56 | イラストデザインが固まらない - haoyayoi Dev Style を含むブックマーク はてなブックマーク - イラストデザインが固まらない - haoyayoi Dev Style イラストデザインが固まらない - haoyayoi Dev Style のブックマークコメント

作成中のパズルアプリにて考えてた仕様を9割方、実装終えた。

f:id:hao_yayoi:20090305124536p:image

パズルピースの位置及び並び情報のコンバータクラスが滅茶苦茶手間取ったけど、とりあえずどんな操作を経由しても常にパズルピース位置のレジュームが効くようになってる。ついでにiPodに実装されてる一部UIのアニメーションを模倣してみた。

UIImagePickerViewのカスタムは諦めた。カスタムするメリットがなくてデメリットばかりだった。

パズル完成判定とユーザ用の各種設定画面及び操作説明ビューをいれれば完成。しかし未だに画面を彩るイラストデザインが固まらない。

といっても、風景画を入れるか、よくあるキャライラストをいれるかどうか、とかそんな程度の問題だけど。

2009-03-03

UIで困ったときにはIB(仮組み的意味で)

| 22:44 | UIで困ったときにはIB(仮組み的意味で) - haoyayoi Dev Style を含むブックマーク はてなブックマーク - UIで困ったときにはIB(仮組み的意味で) - haoyayoi Dev Style UIで困ったときにはIB(仮組み的意味で) - haoyayoi Dev Style のブックマークコメント

UISegmentedControlをUINavigationBarに組み込もうとして調べものしていたところ、あちこちにあるサンプルがどうも実際に動作確認はしてないのではないかと疑わしく感じたのでメモ。

たまに目にするUISegmentedControlのUINavigationBarへの組み込みは

	UISegmentedControl *changeMode = [[[UISegmentedControl alloc] initWithItems:nil] retain];
	changeMode.segmentedControlStyle = UISegmentedControlStyleBar;
	[changeMode insertSegmentWithImage:[UIImage imageNamed:@"foo.png"] atIndex:1 animated:YES];
	[changeMode insertSegmentWithImage:[UIImage imageNamed:@"bar.png"] atIndex:0 animated:YES];
	[changeMode addTarget:self action:@selector(foobar:) forControlEvents:UIControlEventValueChanged];
	self.navigationItem.rightBarButtonItem = changeMode;

みたいな具合なんだけど、実際にやるとエラーが発生する。原因はUIBarButtonItemの入る箇所に直接UISegmentedControlを入れてること。

正解は

	UIBarButtonItem *changeModeItem = [[UIBarButtonItem alloc] initWithCustomView:changeMode];
	self.navigationItem.rightBarButtonItem = changeModeItem;

という具合に、UIBarButtonItemで一旦包んで差し込む。IBで操作して気がついたので、割とIBでの確認はおろそかにできないなー。

2009-02-27

UIImagePickerControllerで取得したimage設定時に"CGAffineTransformInvert: singular matrix"が発生する場合

| 03:31 | UIImagePickerControllerで取得したimage設定時に"CGAffineTransformInvert: singular matrix"が発生する場合 - haoyayoi Dev Style を含むブックマーク はてなブックマーク - UIImagePickerControllerで取得したimage設定時に"CGAffineTransformInvert: singular matrix"が発生する場合 - haoyayoi Dev Style UIImagePickerControllerで取得したimage設定時に"CGAffineTransformInvert: singular matrix"が発生する場合 - haoyayoi Dev Style のブックマークコメント

UIImagePickerControllerでCamera使用後にsetImageしようとして

CGAffineTransformInvert: singular matrix.

とログに出る場合、UIImagePickerController生成後にallowsImageEditingをYESにしているかどうかも確認が必要。

UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
pickerController.allowsImageEditing = YES;

これの未指定で半日はまってた。

2009-02-11

iPhone アプリのソースコードをterminalからビルドする場合

| 17:14 | iPhone アプリのソースコードをterminalからビルドする場合 - haoyayoi Dev Style を含むブックマーク はてなブックマーク - iPhone アプリのソースコードをterminalからビルドする場合 - haoyayoi Dev Style iPhone アプリのソースコードをterminalからビルドする場合 - haoyayoi Dev Style のブックマークコメント

iTunes Connectでの申請情報が文字化けとか、いつ市場にでるのか判らない状態。とりあえずNDAにはほど遠い部分のことで初エントリーということに。

xcodeをterminalから動かす場合、iPhone内にインストールを指定できるのかは微妙です。多分そこらへんは判ったとしてもSDKに触れそうなので、通常使用の範囲内にて。

  • xcodebuild
    • 標準の指定構成でビルドする
  • xcodebuild -configuration <target>
    • 指定された構成でビルドする
    • Target:
      • Debug
      • Release
      • Distribution
  • xcodebuild clean
    • 標準の指定構成をクリーンアップする
  • xcodebuild clean -configuration <target>
    • 指定された構成をクリーンアップする
    • Target:
      • Debug
      • Release
      • Distribution
  • xcodebuild -version
    • xcodeのバージョンを表示
  • xcodebuild -target <targetname>
    • ビルドする対象のターゲットを標準の指定構成でビルド
      • 複数のターゲットを同一フォルダ内に入れている場合等
  • xcodebuild -project <targetprojectname>
    • ビルドする対象のプロジェクトを標準の指定構成でビルド
      • 複数のプロジェクトを同一フォルダ内に入れている場合等

Clangで解析する場合は、以下の手順。

$xcodebuild clean -configuration <target>

$scan-build -o ~/Documents/AppName --view xcodebuild -configuration <target>