2013-01-01から1年間の記事一覧

Rails 4.0 で多対多関連

この記事内では、"timeline"モデルと,"user"モデルをどのようにして接続する事が出来るかを見ていきます。 timeline.user user.timeline 等でアクセス出来るように作っています(つもりです)。Rubyや、Railsの経験が浅いため、もっと良い方法を知っている方…

FrozenBear v1.4.0

App

先日、FrozenBear最後(?)の主要バージョンとなる、バージョン1.4.0をリリースしました。昨年冬に最初のリリースを行い、季節の巡りとともに、FrozenBearのアップデートを重ねて参りましたが、ここで一区切りとなります。 二度目の冬は、明るい陽の光がきれい…

rspec-rails (2.14.0) + devise (3.2.1, 3.2.0) + capybara (2.2.0) でsign in判定

deviseを使っていて、rspec内でサインインしているかどうかの判定をしたいときのやり方。バージョンごとに微妙に変化があるようで、実際に動作確認したのはタイトルのもののみです。 他のバージョンに関しては、この記事では対応出来ない可能性があるため、…

Ruby 2.0, Rails 4.0, devise, mysql, rails_admin の初期設定メモ

ruby2.0 rails4.0の環境が整っている事を前提とします。 プロジェクト作成 $ rails new sample —database=mysql データベースの設定(developmentのみ表記、他は割愛) まず、以下の記述があるか確認。無ければ各自付け足してください。 # Gemfile # Use mys…

kobold2d v2.1.0 Xcode5対応

記事にするのが遅れましたが、kobold2d v2.1.0をxcode5で使用可能にするパッチが、作者から出ています。Kobold2D autopatch script for Xcode 5 fixes: https://t.co/qS4Vs7rZVQ— Steffen Itterheim (@gaminghorror) September 25, 2013 対応が切られたと思…

-performSelector:withObject:afterDelay:を用いて、複数のアニメーションを実行するときの注意点

今回ははまった。なので共有として書いておく 以下のようなコードを書いていた [self performSelector:@selector(animate1) withObject:nil afterDelay:0.5f]; [self animate2]; [self performSelector:@selector(animate3) withObject:nil afterDelay:0.5f]…

iOSでEasing

iOSとくにUIKitを使っている場合、デフォルトではイージングが4種類しかありません。そこでおすすめなのが以下のイージングライブラリです。 https://github.com/bryanoltman/CAAnimation-EasingEquations:CAAnimation-EasingEquations 準備 QuartzCoreフレ…

ARC環境におけるNSTimerの再利用(再起動)

NSTimerは -invalidate メソッドをコールするとARCによって回収されてしまう。 なので、再起動のためには再度タイマーの内容を決定してやる必要がある。 具体的な方法を示す。適当なところで、NSTimer *timerのインスタンスを確保しておく。 そして、以下の…

UIScrollView に背景画像を設定する

#import <UIKit/UIKit.h> @interface UIScrollViewWithBGImage : UIViewController <UIScrollViewDelegate> { UIImageView *backgroundImageView; } @property (nonatomic, retain) UIScrollView *scrollView; @end 上のようなヘッダーにおいて、scrollViewプロパティに背景画像を追加する事を考え</uiscrollviewdelegate></uikit/uikit.h>…

UITableViewをアップデートする方法

UITableViewの表示を変更するときは、cellをリロードする必要がある。それには2つの方法があるので簡単にまとめ。 1. [tableView reloadData] //Do some changes [tableView reloadData]; reloadDataメソッドは、cellをメソッドが呼ばれた時点で完全にリロ…

UIScreenのboundsとapplicationFrameの違い

StatusBarの有無で画面の使い方が微妙に変わり、毎回よく分からなくなるのでメモ。 NSLog(@"bounds = %@",NSStringFromCGRect([UIScreen mainScreen].bounds)); NSLog(@"applicationFrame = %@", NSStringFromCGRect([UIScreen mainScreen].applicationFrame…

FrozenBear v1.2.0

App

https://itunes.apple.com/jp/app/frozenbear-yinno-mingranaiaramu/id556500451?mt=8 先日FrozenBearの夏バージョンをリリースしました。早速ですが、今回のアップデートでバグが見つかってしまいました。 稀に、設定画面で座標を変更すると落ちる事があり…

CookPad Hackason 2013

CookPad Hackason 2013に鎖国のメンバーで参加しました。今回はメンバーの一人が韓国で、一人が昼から深夜前まで居ないという状況でしたが、個人的には良い経験に成りました。 iOSに関してプログラムを書き始めて2年程度経ち、ある程度の事は出来ると考えて…

Frameを決定できるUITableViewController

UITableViewControllerのtableViewは、frameのサイズを変更する事が出来ません。 これだと不便なので、tableViewのサイズを変更出来るUIFlexibleTableViewクラスを作成しました。 ご自由にお使いください。CocoaExtention/Classes/UIFlexibleTableViewContro…

directory not found for option

Kobold2d v2.1.0 へのアップデートに際して、この警告で引っかかったので解決策をメモ。iOS6.0以上に対応したkobold2d v2.1.0へのアップデート時に出たリンカーのエラーです。プロジェクトのBuild Settingsにて、"library"と検索し、"Library Search Paths"…

16進数のNSStringを数値に変換

float hexStringToFloat(NSString* str) { NSString *prefix = [str substringWithRange:NSMakeRange(0, 2)]; if(![prefix isEqualToString:@"0x"]) { str = [@"0x"stringByAppendingString:str]; } NSScanner* pScanner = [NSScannerscannerWithString: str…

LazyBoy

App

LazyBoy open in the AppStore 本日午前に鎖国法人EDOMODEより、「LazyBoy」をリリースしました! よくいくお店で「何を食べようかなあ」と思ったときに、ボタンを押すだけでメニューを決めてくれるアプリです。 今回は、細かいところまで作り込み、UIの操作…

Automatorで画像のsuffixを自動で追加

「画像の名前の最後に @2x を追加する」 この動作をAutomatorを使って自動化してみます。

UIView on cocos2d

iOS上でcocos2dを使って開発を行う時、UIViewを使いたいときがあります。広告の表示や、WebViewが主だと思いますが。 そのようなときは、以下のようにしてUIViewをのせます。 [[CCDirector sharedDirector].view addSubview:uiview]; メモ程度ですが。

cocoaにてAppDelegateの取得方法

AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; delegateの取得方法。忘れやすいのでメモ。

MediaPlayerViewController サンプル

iOSで動画再生(MPMoviePlayerController) MPMoviePlayerControllerを使うために、そのControllerを作成しなければなりません。 そのサンプルとして MediaPlayerViewController を作ります。自分で作る際に、 ・全画面で動画を再生したい ・画面をタップした…

Rubyで2次元配列

size = 3 a = Array.new(size){ Array.new(size, 0) } とするのが正解。 こうすると pp a a[1][2] = 1 pp a と出力したときに [[0, 0, 0] [0, 0, 0] [0, 0, 0]] [[0, 0, 0] [0, 0, 1] [0, 0, 0]] と出力してくれる。 これは配列の各列を初期化するときに、毎…

FrozenBear v1.1

App

3/27にFrozenBearのアップデートを行いました。主な変更点は ・桜バージョンの追加 ・時、分、秒をそれぞれダブルタップでリセット ・インフォメーションへの遷移の変更 いい出来です。 ダウンロードはこちらから。 https://itunes.apple.com/jp/app/frozenb…

FrozenBear

App

2/12 に鎖国法人EDOMODEにてリリースしました。音のならないアラームアプリです。 https://itunes.apple.com/jp/app/frozenbear/id556500451?mt=82/28 にiPhone女史にて http://www.iphone-girl.jp/application-review/248230.html 3/7 にmeet-iにて http://…

面接

初めてかもしれない、エンジニアの人と技術的な話をしたのは。 周りにのせられて1社出したESが通り、今日、最終面接だった。 3回目で最終だったのだが、面接をしてくれた人は全員エンジニア。 なんとなく、精神的にプログラマ気質なのかしれないと思った。 …

plistからUIColorを読み込む

#import <UIKit/UIKit.h> typedef struct _RGBColor { float r; float g; float b; }RGBColor; typedef struct _RGBAColor{ float r; float g; float b; float a; }RGBAColor; @interface UIColor (Extension) UIColor* UIColorWithRGBFromString(NSString* str); UIColor* </uikit/uikit.h>…

Archiveが通らなくなった時に見直すCodeSigningの見本

上と同じなら問題なし。 cocos2d環境なので、プロジェクトを作るときにMacOSのtargetが勝手に生成されて、Any SDK という項目が追加されてます。 これはなくてもOK。要はタイトルのとこは "Don't code Sign"で SDKのとこは "iPhone Developer of Distributio…

実機テストとAppStoreでの動作が違った

この様な事態に遭遇しました。尋常ではないレベルで焦り、大至急調べたところ、あるタイミングで次のようなコードが実行されていました。 if(nan) 恥ずべき事態です。こいつが、実機テストの時はNOに、AppStoreではYESと解釈されていたようです。nanがコード…

cocos2dでダブルタップを判別

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event { CGPoint location = [[CCDirector sharedDirector] convertToGL:[touch locationInView:[touch view]]]; location = [self convertToNodeSpace:location]; float delay = 0.2f; switch (…

CCFadeIn, CCFadeOut, CCFadeTo に関して

cocos2d(v2.0.0)のフェードイン、フェードアウトのエフェクトを実装する際は、 CCFadeIn CCFadeOut ではなく CCFadeTo の使用をお勧めします。なぜかというと、 CCFadeInはフェードインをかける前にopacityを0に CCFadeOutはフェードアウトをかける前にopaci…