開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

Android NDKでjava.lang.UnsatisfiedLinkError

Android NDK、いいですよね。 でもいろいろとエラー(特にコンパイルエラー)が出てきて大変です。 今回は実行時エラーが出ました。 java.lang.UnsatisfiedLinkErrorです。 このエラーはライブラリを読み込むのを忘れていたり、 関数名を間違えていたりする…

How does your app use file sharing feature?

iOSアプリ作成において最大の敵、リジェクト。 うっかりミスでリリースが1週間ほど伸びてしまうことがあるので天敵です。 今回はこんな感じでリジェクトされました。 How does your app use file sharing feature? ええ。そんな機能はありません。 Applicati…

Eclipseでプロジェクトファイルに×がついてエラーメッセージが見れないとき

Android開発をするために使用させてもらっているEclipseですが、 開発とは関係のないビルドなどで不毛な戦いをすることが多々あるかと思います。 たまに、ツリーのプロジェクトファイルのアイコンに×印が付いていてビルドできないけど、 ソースコードの方に…

MATLABのParallel Tool Boxのmatlabpoolがエラーを吐く

趣味で大規模計算するため並列計算ができるToolbox、Parallel Tool Boxを購入しました。 学生価格なので約2500円、超お得! いざ実行するためにmatlabpoolを叩いたのですが、ぬるぽを吐いてうまく動きませんでした。 EDU>> matlabpool Error using matlabpoo…

Gimpを導入しようとした際のLibgimp version mismatch!というエラーに立ち向かう

こんなん出ました。 Libgimp version mismatch! The GIMP binary cannot run with a libgimp version other than its own. This is GIMP 2.8.10, but the libgimp version is 2.8.4. Maybe you have GIMP versions in both /usr and /usr/local ? なんのこっ…

MATLABでgifアニメーションを作る

MATLABでfigureのgifアニメーションを作ろうとしたのですが、 なんとなく画像ファイル群からgifファイルを作りたいと思い、試行錯誤しました。 MATLABのsystem関数でconvertを呼び、画像ファイル群をgifファイルに変換します。 汎用性は高いのですが、設定が…

MATLAB開始時のディレクトリの変更

MATLABで開始時に動かしたいプログラムがあるときは、 MATLAB起動時の初期フォルダにstartup.mを配置してコードを書きます。 それはよく知られているのですが、この初期フォルダの変え方が調べてもパッと出てこなかったのでメモを残します。 MATLAB起動時に…

最前面にさせないように現在のFigureの指定

MATLABで描画対象とするFigure(画面)を変更する機会は多いと思います。 figure( 1 ) ; でも、これだといちいち最前面にそのFigureがしゃしゃり出てきて、 プログラミングしてるのを阻害されてとっても邪魔なんですよね。 なので最前面にさせないように、か…

Eclipseが起動しない時の対処法 そのN

Eclipseがまた起動しない!Build Workspace...から進まない! 原因を探るは諦めましょう!!よくわからないので!! 「あまり詳しくない人でもこれをやればなんとかなる」方法がいくつかあると思います。 その方法の1つとして、僕がよく使っている方法を紹…

構造体配列のフィールドから行列を作る

MATLAB便利です。 便利なのですが、たまにかゆいところに手が届かないときがあります。 構造体配列(struct)と行列(matrix)とセル行列(cell)周りの行き来がしにくいのです。 少々強引ですが、パキッとstruct→matrixにする方法があるので紹介します。 s = stru…

MacOS10.9(Mavericks)でAndroidエミュレータが起動しない

(忙しい人向け) Intel® Hardware Accelerated Execution Manager End-User License Agreement - OS X* | Intel® Developer Zone ↑このページからHotfix版のHAXMをインストールすればOKです Mavericks快適で嬉しいです。 ところが、Mavericksにバージョンア…

点の集まりからパターンマッチングしてくれるMATLABとC++用のライブラリLIBICPを導入する

卒論のために点パターンマッチングを行う必要がありました。 時間がないので手頃なライブラリを探していたところ、LIBICPというものを見つけました。 Andreas Geiger SVD-baseな点パターンマッチングを行ってくれるようです。よくわかりませんが。 C++で書か…

SublimeText2を使ってMacでPython3の開発環境を整える

脱MATLABを目指して、Python3で数値解析を行える環境を整えてきました。 Homebrewを使ってMacにPython3とかNumpyとかPcipyとかをインストールする - 開発のヒホ Homebrewを使ってMacにmatplotlibとかipythonとかをインストールする - 開発のヒホ ということ…

Homebrewを使ってMacにmatplotlibとかipythonとかをインストールする

目指せ、MATLAB脱却! Pythonで数値解析! 前回の続きで、Pythonで苦なく数値解析ができるような環境を整えていきます。 (前回→Homebrewを使ってMacにPython3とかNumpyとかScipyとかをインストールする - 開発のヒホ) 今回はMac(OSは10.9)にmatplotlib、ip…

Python(Numpy)とC++の行列の掛け算の実行速度テスト

もうこのシリーズはたぶん最後です。 この前に、iOSにおいて行列積の速度テストを行いました。 iOSのBLAS(Accelerate.framework)とEigenの行列の掛け算の実行速度テスト - 開発のヒホ 結果、C++のBLASバージョンは速いことと、C++のEigenバージョンもそこそ…

OctaveとPython(Numpy)の行列の掛け算の実行速度テスト

先日、研究室でMATLABとPython(Numpy使用)の行列の積の速度テストをしてみた結果、 MATLABの方が倍ぐらい速いらしいことがわかりました。 MATLABは製品ですからね、当然といえば当然の結果です。 逆にNumpyでそこまでの速度が出るのが驚きです。 では、通称…

Homebrewを使ってMacにPython3とかNumpyとかScipyとかをインストールする

毎度手間取る環境構築。 しかも今回はデフォルトで入ってるPython2がとても邪魔というおまけ付き!お前は引っ込んでろ! というわけで、homebrewを使ってMac(OSは10.9)にPython3とかを突っ込みました。 昔の記事はそこそこあるのですが、まぁ数年経てば色々…

iOSのBLAS(Accelerate.framework)とEigenの行列の掛け算の実行速度テスト

結論:BLASの方が速い。 この前こんな記事を書きました。 iOSのvDSP(Accelerate.framework)とEigenの行列の掛け算の実行速度テスト - 開発のヒホ で、こんなコメントを貰いました。 Steve Apologies in advance for not writing in Japanese, but I assume y…

iOSのvDSP(Accelerate.framework)とEigenの行列の掛け算の実行速度テスト

※2013/12/20追記※ ↓Steve氏のコメントを受けて再検証しました。↓ iOSのBLAS(Accelerate.framework)とEigenの行列の掛け算の実行速度テスト - 開発のヒホ 結論 : Eigenの方が早い。 iOSの端末で行列計算するには、普通にforでぶん回して計算するよりも、Accel…

TopCoder SRM 144 Div2 Level 3 [PowerOutage] の日本語解説

解法に感動した・・・ 問題 : http://topcoder.bgcoder.com/print.php?id=284 重要なところ The graph represented by the set of edges (fromJunction[i],toJunction[i]) will never contain a loop, and all junctions can be reached from junction 0. まず…

Octaveのhisteqとかimadjustがうまく動かない

MATLABは高いからOctaveを導入して早1週間、なかなかの使い心地です。 たまにMATLABとは違う動作をして混乱するぐらいです。 今回はhisteqで混乱しました。 histeqは画像のヒストグラムをうまいことして見やすくしてくれるのですが、 filename = 'photo.png…

TopCoderの練習問題 BinPacking::minBins (SRM 598 div1 250)

昨日、友達(id:kazy1991)に誘われてすごく久しぶりにやったTopCoderがそこそこに楽しかった。 んで、なんか記事(http://kazy.hatenablog.com/entry/2013/12/04/225238)書いてはったので、便乗して解いてみた。 さっきの友人の記事から問題を引用・・・ 容量300…

OctaveのPackagesを全部インストールする

研究のためにMATLABを使う機会が増えてきました。 家でも動かしたいからOctaveを導入してみました。 その際に、数多のパッケージをいちいちインストールするのが面倒だったので、 全部インストールするスクリプトを書きました。 install_all_packages.m % pa…

Xcodeで、拡張子.mmに変更せずにObjective-C++のソースコードとして扱う方法

0. Objective-C++として扱いたい.cppを開く 1. 右のタブのIdentify and Typeの下のType横のボタンをクリックする ↑Type横のボタンをクリック 2. Objective-C++ Sourceを選択 ↑Objective-C++ Sourceを選択 3. クリーンする 4. Objective-C++として扱えるよう…

Androidの課金処理でonActivityResultが呼ばれない

課金の処理についてはここを参考にさせてもらいました。 【Android】GooglePlayによるアプリ内課金実装方法 自分専用のクラス化をしつつ実装してたけど、なぜかonActivityResultが呼ばれないようになってしまった。 iOSの方の課金処理と違い、Androidの課金…

Xcode5のシミュレータで、アプリを起動しても真っ黒なときの対処方法

iOS7がリリースされましたね! 僕のアプリのレビュー欄に、着々と不具合報告コメントと大量の☆1がプレゼントされることでしょう! iOS7開発をするためにXcode5のベータ版を使っていたのですが、 アプリをRunしてもシミュレータが真っ黒になるだけという症状…

iOS7で枠ありのUIBarButtonItemを作る

iOS7になって、ナビゲーションバーの両サイドのボタンの枠が無くなりました。 ↓文字やアイコンがむき出しになってる Androidを彷彿とさせますね・・・ 『郷に入らば郷に従え』ということで文字むき出しのままデザインした方がいいですね。でも、そんなすぐにデ…

iOS7のテーブルビューの右のリスト(インデックスリスト)の白い背景を消す

iOS7って楽しぃ〜! アプリをiOS7でもちゃんと動くようにする作業楽しぃ〜! UITableViewの右のリストに白い縦線が入ることを確認しました。 ↓こんな感じ このリストのことはインデックスリストなんて呼び名もあるみたいです。 とりあえず白い背景を消す、ま…

iOS7でテーブルビューのセルが描画されない

iOS7・・・ iOS7・・・ ウーン・・・ iOS7のUITableViewCellのサブクラス、つまりカスタムセルがなぜか描画されませんでした。 一応解決して、原因もなんとなくわかったのでメモ。 ↓なぜか描画されない。 描画してた仕組みはこんな感じで、- (void)drawRect:(CGRect)rect…

iOS7のナビゲーションバーの半透明をコード上で失くす

デベロッパーにとってはもうウンザリなiOS7対応ですが、 やっぱり対応しないと文句を言われるので、対応せざるを得ないです。 既存のアプリをiOS7で動かしたときに最も遭遇率が多いのは、 なんかしらんけどナビゲーションバー分だけ上がってることでしょう。…

複数の枠なしボタンを線で別けてUINavigationBarに設置する

iOS7になって、UINavigationBarに配置するUIBarButtonItemの枠が消えました。 iOS6以前のUIに慣れたユーザーがこれに慣れるのは時間がかかるかも。 枠がないのが良いのかどうかは置いといて、 この仕様に対応させるときに、複数ボタン置くと問題が起こります…

iOS7のUIActionSheetとかUIBarButtonItemのフォントがダサいときの対処法

iOS7に対応する必要がありますが、ちょくちょく仕様が変わってて混乱しますね。 一番びっくりしたのが、UIActionSheetとかのフォントがなんかダサいこと。 変更する方法は無いかとか色々探ってみたのですが、例がないらしく結局よくわからない。 ↑なんかフォ…

開発者が知っておいたほうがいいかもしれないiOS7の仕様一覧

Xcode5をダウンロードしないといけない 嬉しいのか悲しいのか、Xcode自体のデザインも変わった Xcode5でiOS6のテストをする方法 こっちにまとめました → Xcode5でiOS6のテストをする方法 Xcode5で新しくCapabilities ProjectファイルにCapabilitiesとかいう…

iOS7の強制フルスクリーンに関するiOS6とiOS7のNavigationBarの挙動の違い

こんな感じにUIを配置して UINavigationControllerにくっつけるとこうなる (´・ω・`) うへぁ ってことで、iOS6とiOS7の挙動の違いを適当にまとめてみます NavigationBar無し Storyboard 左:iOS7 右:iOS6 これは問題なし NavigationBar有り Storyboard 左:iO…

Interface BuilderやStoryboardでiOS7以前の外観を見る方法

Xcode5を入れてみました。 XIBとかStoryboardが全部iOS7の外観に変わりましたが、設定すればiOS6の外観も一緒に確認できるみたいです。 0. 開く Interface BuilderのことをXIBだとかIBだとかって呼んだりします 1. Assitant Editorでプレビューを見れるよう…

Xcode5でiOS6のテストをする方法

Xcode5が出てしばらく経ちましたが、まだインストールしていません。 Apple様に『iOS7でクラッシュするんですけどーwww(意訳)』と言われたんで、しゃーなしでXcode5を入れてみました。 まぁデザインがいろいろ変わってて混乱しますね。 iOS6環境のSimul…

Android StudioでAndroid NDKだとかJNIだとかを実装する方法

結構探したけどやり方が出てこなかったので・・・ 方法はない! 今のとこ! 諦めてEclipseに戻るんや!! ところで、NDKって言わると最初に「ねぇどんな気持ち?」が思いつくよね。 ∩___∩ __ _,, -ー ,, / ⌒ ⌒ 丶| 今、どんな気持ち? (/ "つ`..,: (●) (●)…

OpenGL ES(GLKit)を使って動くエフェクトを作る(その2:花火の火花みたいなのを作る)

OpenGL ES(GLKit)を使って動くエフェクトを作る(その1:GLKViewを使ってみる)の続き 花火みたいなエフェクトを作ろう!ってのが目標です。実際の花火は上の画像みたいに「複数の火花が尾を引いて落下している」ように見えます。 ということでまずは複数表…

OpenGL ES(GLKit)を使って動くエフェクトを作る(その1:GLKViewを使ってみる)

iOS5になって、新たにGLKitという便利なものが追加されました。 従来ではOpenGLを使うために数十行書かなければいけなかったのを、アップルさんがうまいことまとめてくれたのを作ってくれました!ありがてぇ! 最近はアプリも飽和状態ですし、エフェクトを拘…