備忘録

開発でつまったところの備忘録.不定期に更新します.

IRKitをiOSで動かす

今日のお題は

f:id:nawafuji:20140604193450j:plain

です。

こいつはリモコンなどの赤外線信号を記録して、スマホから家電等を操作できるよ!っていうアイテムです。

 

AndroidiPhoneともに公式アプリが無料で出ていて、使うことができます。

今回は、公式アプリを使わずに、ゼロからこいつを操作するiOSアプリを作ります。

続きを読む

HueSDKを使ったiOSアプリの動かし方

今日のお題はPhilipsのHueです。↓

f:id:nawafuji:20140528150925p:plain

これはスマホからアプリを通してon/offや色を制御できるという照明で、

PhilipsからSDKが公開されており、アプリが開発できるようになっています。

 

最近これをiOSで動かすというタスクが発生し、よくわからないながらもなんとか動かすことができたので、方法をメモしておきます。

( xcode5.1.1 iOS7 )

続きを読む

cgcolorrelease(cgImage)でassertion failedする問題

iOS上でのOpenCVの、UIImageとmatを変換するときに

cgColorRelease(cgImage)

という処理をするのですが、

これが

Assertion failed: (!space->is_singleton), function color_space_dealloc, file ColorSpaces/CGColorSpace.c....

 

みたいなエラーをはいて落ちます。

 

このエラーでググると同じ症状で苦しんでる人が見受けられるのですが、どうやらcgImageがもうreleaseされているのにreleaseしてしまっておこるエラーのようです。

 

読んでも結局対処がよくわからないので、とりあえずreleaseをコメントアウトすることで応急処置をとっています。でもreleaseしないのもメモリ的に不安が。。

iOS上でOpenCVを動かす

iOS上のOpenCVは糞って聞いた覚えがあるのですが、とりあえず必要だったのでやってみました。

 

導入は

http://www.casleyconsulting.co.jp/blog-engineer/iphone/cocoapodsopencv-2-4-6で始める画像処理-for-ios/

を習って、cocoaPodsを使ってプロジェクトにopencvライブラリを組み込む方法でやったら簡単でした。

現時点ではopenCV2.4.8でした。

 

いまのところいい感じです。

vimのノーマルモードでIMEをオフにする

ってことは,macだとkeyremap4macbookみたいなやつで,escを英数切り替えに割り当てて簡単にできます.

 

そのwindows版としてyamyを使っていたのですが,不具合が多いのでやめて

http://hotolab.net/blog/vim_ime/

のブログに書いてあるとおり,google imeの設定でesc(またはctrl+j)をおした時にIMEオフにしました.

 

なんか二回押す必要がありますが,とりあえずこれで行こうと思います.

.bashrc編集

いいかげんcdとlsのコンビもうざいので.bashrcをいじりました.

 

まずcdしたらlsするように変更

http://it-scrap.blogspot.jp/2009/12/bash-cdls.html

[bash] cdと同時にlsするエイリアスコマンド

 
cd したらどうせ ls するので、cd ついでに ls しちゃう Alias です。
1
2
3
4
5
6
function cdls() {
    # cdがaliasでループするので\をつける
    \cd $1;
    ls;
}
alias cd=cdls
これを .bashrc に追記して source すれば OK です。
 
次に大文字と小文字の区別を撤廃

 

http://d.hatena.ne.jp/hkobayash/20081031/1225430163

 

大文字/小文字を無視

.inputrcに以下の一行を追加

Ubuntuではデフォルトで.inputrcがないので作成

set completion-ignore-case on

保存

 

他にもいろいろいじりようがあるらしいですが,とりあえずこれらだけ

Mac修復

卒論発表前日に動かなくなった僕のmac

どう動かなくなったかというと,起動するとりんごのマークとともにインジケータが出てそのインジケータが1/5くらいまで進んだところで落ちる,という状態でした.

 

復旧しようと思ってぐぐると,起動の時に「Command+r」を押しながら起動すると復元ユーティリティが出て修復できる,とあったので,それを試してみましたが,修復できませんと言われてしまう.

 

もう無理かと思いましたがこんな記事が

http://d.hatena.ne.jp/glass-_-onion/20110125/1295960871

fsck コマンドで修復

までやったところ状況がほぼ同じ.

ということでインストールディスクを作ってそこから

fsck_hfs

をやれば治るかもと思い,

http://studiohermit.blog29.fc2.com/blog-entry-105.html

を参考に違うmacでインストールディスクを作成(SDカード).

 

できたら復旧したmacにsdカードを刺して

http://news.mynavi.jp/column/applelifehack/015/

のようにoptionを押しながら起動して,インストールディスクを選択して起動.

そこからターミナルを開いて先ほどのコマンドを打つ.

結構時間がかかりましたがsucceedと出たので恐る恐る再起動すると無事復旧しました.

 

諦めなくて良かったです.