Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

iOS cocoapods FLAnimatedImagegif を使ってgifを再生

FLAnimatedImagegifを使用(あのFlipboardが公開してるライブラリ)

■ Podでインストール
pod 'FLAnimatedImage', '~> 1.0'
■ 使いたいViewControllerに2つのヘッダファイルインポート
#import "FLAnimatedImage.h"
#import "FLAnimatedImageView.h"
ローカルのgifファイル(nyan.gif)を再生させたいとき
NSURL *gifUrl = [[NSBundle mainBundle] URLForResource:@"nyan" withExtension:@"gif"];
FLAnimatedImage *gifImage = [[FLAnimatedImage alloc] initWithAnimatedGIFData:[NSData dataWithContentsOfURL:gifUrl]];
FLAnimatedImageView *animationView = [[FLAnimatedImageView alloc] init];
animationView.animatedImage = gifImage;
self.view = animationView;
ウェブのURLにあるgifを再生させたいとき
FLAnimatedImage *gifImage = [[FLAnimatedImage alloc] initWithAnimatedGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://raphaelschaad.com/static/nyan.gif"]]];
FLAnimatedImageView *animationView = [[FLAnimatedImageView alloc] init];
animationView.animatedImage = gifImage;
self.view = animationView;

たったこれだけでできる。ありがとうFlipboardさん。

参照)
https://github.com/Flipboard/FLAnimatedImage

Ruby ハッシュソート

■ こういうハッシュをdateでソートする

p dataHash
{
    {
        title: "aaaaaa"
        article_url "http://bbbbbb"
        date: 2014-07-22T19:38:29.000Z
    },
    {
        title: "ccccccc"
        article_url "http://dddddd"
        date: 2014-07-26T19:38:29.000Z
    },
    {
        title: "eeeeeee"
        article_url "http://fffffffff"
        date: 2014-07-24T19:38:29.000Z
    }
}

■ dateの日付が新しい順にソート

dateHash.sort{|a,b| b[:date] <=>a[:date]}

古い順にしたい時は a[:date] <=>b[:date] とする。


参考)
http://rails3try.blogspot.jp/2011/12/ruby.html

iOS UIImagePicakerController 日本語化

UIImagePicakerControllerを使ってデフォルトのカメラを呼び出すと表示が英語になっていて、コードからいじれない。
→言語の設定をすると変更できる。


■ ビルドの言語設定
TARGETS > {PRODUCT_NAME}> Info > Localization native development region
→Japan を選択

■ プロジェクトのLocalizationsにJapanese追加
PROJECT > Info > Localizations
→ + Japanese選択
→ infoPlist.strings, main.storyboard が選択されている事を確認して Finish押す
※ storyboardのチェックが出てこない時は、一度storyboardのファイルを選択して右側のメニューをぬるっと出してそこの一番左のメニューのLocalizationのボタンを押す。
→ EnglishとJapaneseにチェックが入っていることを確認

■ Localizationのstringファイル追加
File > New > File... > Resource > Strings File
→ ファイル名は Localizable
→ Englishが選択されている状態でLocalize押す

■ ファイルをLocalizeする
→ Localizable.string を選択し右メニューのLocalizeのEnglishとJapanese両方にチェック

■ ひと通りチェック
→ Main.storyboardの下にMain.storyboard(English)とMain.storyboard(Japanese)がある
→ Localizable.stringsの下にLocalizable.strings(English)とLocalizable.strings(Japanese)がある


これでBuildするとUIImagePicakerControllerやNavigationBarなど純正のUI部分が日本語になる


参考)
http://idea-cloud.com/dev/localise.html
http://lab.dolice.net/blog/2013/04/17/xcode-localize/

GitHub Contributions 色つかない(草生えない)

GitHubでコミットしてもContributionsに草が生えないとき

GitHubはContributionsをE-mailで管理してるので、それが紐づいていないといくらコミットしてもプッシュしても色がつかない
GitHubのマイページ > Edit Profile > Emails で登録されてるアドレスを確認
■ コマンドからgit コマンドに紐づいているアドレスを確認
$ git config user.email
{YOUR_EMAIL}

{YOUR_EMAIL} がGitHubのアカウントのアドレスと同じならば問題ない。
違う場合もしくは空の場合登録が必要

■ アドレス変更, 登録
$ git config user.email "{YOUR_EMAIL}"
■ 確認
$ git config user.email
{YOUR_EMAIL}

これの状態でPushするとちゃんとすぐにGitHubマイページのContribusionsに色がつく

参考)
Why are my contributions not showing up on my profile? · GitHub Help

Heroku コマンド

Herokuのコマンド一覧

■ ログイン
$ heroku login
■ アプリ一覧
$ heroku list
$ heroku apps 

どっちでもいける。

■ アプリ情報みる
$ heroku info --app {APPNAME}
■ アプリ名変更
$ heroku heroku rename {NAME_NEW} --app {NAME_OLD} 
■ デプロイ
$ git push heroku master
■ ブラウザで開く
$ heroku open

sshキーをホスト毎に分ける。

例えば複数のサーバーで公開鍵を使って認証している場合、gitコマンドで使う鍵を変えなければいけない。

ssh configを設定する

cd ~/.ssh
vim config
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
    Port 22

Host other.git.com
    HostName other.git.com
    User git
    IdentityFile ~/.ssh/id_rsa_other
    Port 22

ssh configをつくると、git clone {URL}のURLのホストをみて
自動で鍵を切り替えてくれる。

参考)
http://nilfigo.hatenablog.com/entry/20130705/1373000104

Heroku デプロイ

Herokuの登録からrailsアプリのデプロイまで

■ Herokuのページから登録デプロイまで
https://dashboard.heroku.com/

■ Heroku Toolbeltインストール
Heroku登録後ダウンロードURLが出る

■ ターミナルからアカウント認証

$ heroku login
Enter your Heroku credentials.
Email: {YOUR EMAIL ADDRESS}
Password (typing will be hidden): 
Could not find an existing public key.
Would you like to generate one? [Yn] y
Generating new SSH public key.
Uploading SSH public key /Users/{USERNAME}/.ssh/id_rsa.pub... done
Authentication successful.

■ Herokuに載ってるテストアプリをローカルにcloneしてくる

$ git clone git://github.com/heroku/ruby-sample.git

■ Herokuのアプリケーション作成

$ cd ruby-sample/
ruby-sample$ heroku create testdeployapp

※ アプリケーション名はすべて小文字(ここがURLになる)

■ サンプルアプリをHerokuへデプロイ

$ git push heroku master

■ ブラウザで確認

$ heroku open

Hello World が確認できる。

参考)
https://gist.github.com/konitter/5370904