2013年12月20日

UIButtonにsetImageできない

iPhoneアプリでボタンのガイドをするためにUIButtonを光ってるように見せようと

[btn setImage:点灯.png forState:UIControlStateNormal];
sleep(1);
[btn setImage:消灯.png forState:UIControlStateNormal];
 
とかやってもsetImageされない…
普通に一回だけsetImageするとちゃんと画像が表示されるのに…
どうせあとで書き換えられるからと最初のsetImageは省略されてしまうようだ。

で、どうすればいいかというと、

dispatch_semaphore_t on_semaphore;
on_semaphore = dispatch_semaphore_create(0);
[NSThread detachNewThreadSelector: @selector(OnLED:) toTarget: self withObject: btn];
// Wait until the semaphore is signaled 点灯待ち
while (dispatch_semaphore_wait(on_semaphore, DISPATCH_TIME_NOW))
{
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:10]];
}
sleep(1);
//消灯の処理
:
- (void)OnLED:(UIButton *)btn {
[btn setImage:点灯.png forState:UIControlStateNormal];
dispatch_semaphore_signal(on_semaphore);
}

というように別スレッドでsetImageするといいみたい。
ボタンを点滅させるだけでこの量…
セマフォはなくても動くけど使わなかったらタイミングがバラバラでダメでした…
スレッドを使った処理って難しい。
今まで順番通りに実行してくれるプログラムしか書いたことなかったからなぁ…

セマフォなんて教科書でしか見たことなくて実際に使ったのは初めてでした。
使い方としては間違ってるような気もするけど動いて欲しいように動くからいいや。
ラベル:アプリ製作
posted by one-hand-engineer at 10:34| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月19日

性同一性障害の夫婦が人工授精で産んだ子どもを実子と認定した裁判結果に思う

性同一性障害の話と実子と認定するかどうかは分けて考えた方がいいと思う。
分けて考えると配偶者の遺伝子片方だけの子どもを実子と認めるかどうかという話になって、再婚した時の連れ子を実子と認定するかどうかと同じ話になる。
連れ子は養子縁組しないと子とは認められない(夫婦双方の遺伝子を持っていないと実子にはなれない)
連れ子も実子と認めるか他人の卵子や精子の提供で人工授精でできた子どもは養子縁組をしないと子とは認めないかのどちらかで私が裁判官なら後者だろうなぁ…
法律は感情論じゃだめで他と矛盾がないようにしないと。
ラベル:時事ネタ
posted by one-hand-engineer at 08:41| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月18日

体調悪い

先月末に急に調子が悪くなって、ふらふらするは手の震えはひどいは飲み込みが悪いは目も見にくいは、とにかくなにもかも調子が悪い。
歩くのにも支障があって近所のコンビニまでも行けず散歩で少しづつ距離を延ばそうとしてるのだけど距離を延ばせずかえって短くなってるような状況。
でも無理すると転びそうだわ帰還できなくなりそうだわで打つ手なし。

また2,3ヶ月かけて新しい状態に慣れるしかないけど。
長期間かけてリハビリしても状態が変わると一発でダメになるから困ったものです…
ラベル:リハビリ
posted by one-hand-engineer at 08:51| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月17日

モヤさまごっこ

「モヤさま」や「ミルクゴッド」の声をやってる”ショウ君の正体がHOYAのVOICE TEXTという音声合成ソフトなのは一部では有名な話なのですが、これのiPhone用の無料お試しアプリがあります。
これを使って”〜なんだってよ”としゃべらせると「モヤさま」ごっこが、”〜しなさい"としゃべらせると「ミルクゴッド」ごっこができます。


posted by one-hand-engineer at 10:16| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月16日

小木曽

AUのCMに「半沢直樹」の机バンバンで有名になった”小木曽”役の人が出てますけど、昔お笑いやってたビシバシステムの人なんですってね。
「なんでも鑑定団」に出てる住田の相方。
何がブレークするかわからないものですね。
posted by one-hand-engineer at 13:07| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月14日

iPhoneアプリ「点字学習」アップデート

「点字学習」のアプリをアップデートしました。

VoiceOver機能(画面の読み上げ機能)をオンにしていると使い物にならなかったのを改善しました。

ラベル:アプリ製作
posted by one-hand-engineer at 09:34| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月13日

歩けなくなる恐怖

”歩けなくなる恐怖”を書かれてる人がいますけど私も11月末頃に急に調子が悪くなって以来調子が悪くて歩くのにも支障があって遠出ができないので全く同感です。
http://yaplog.jp/kisaradudu/archive/388

丁度MRIを撮る時期だったのでMRI撮ったら前見えなかった血管が見えるけど梗塞や血管の瘤などは見えないということだったので血流が変わったせいだと思うのであまり心配はしてませんけど。
4年も経つのにちょっと脳内の状態が変わると右目と左目の画像はずれるし、めまいもひどいし、手足の動きも嚥下も何もかも調子が悪くなっていて三歩進んで二歩下がった感じで困ったものです。
また半年ぐらいかけて新しい状態に慣れていかないとならないのですけど、そこでまた状態が変わったらやり直しかと思うと賽の河原状態…

今は近所のコンビニまでも行けないのでとても不便です。
前もちょっと発熱しただけで階段の昇り降りができなくなったけど、本当に紙一重の状態です。
歩けなくなる(というか悪化する)のは恐怖です。
ラベル:脳梗塞
posted by one-hand-engineer at 09:25| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月12日

目の不自由な人向けアプリはビジネスにならない

実際にやってみる前は、目が不自由な人だと間違って広告を触ってしまって普通よりクリック率が高いんじゃないかとか思ってたら全く逆で、目が不自由な人はシングルタップで読み上げてダブルタップで決定するVoiceOver機能を使ってるから誤クリックは皆無だし、広告のバナーをVoiceOverで読み上げると無意味な記号の羅列なのでクリックしてみようなんて気は絶対おきないだろうしで広告収入は見事にゼロ。
目の不自由な人向けアプリを無料の広告アプリで出すのは無理ということがわかりました…
ボランティアで作るのもいいけど、やっぱモチベーションは下がるよなぁ…
いつまでも月収1000円というわけにもいかないので…
posted by one-hand-engineer at 09:12| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月11日

OpenCVをiPhoneアプリで使うには

OpenCVというComputer Visionを扱うライブラリがあります
画像を解析したり効果を加えたりするのに非常に便利

XcodeでOpenCVを使ったプロジェクトをbuildするには

1. OpenCVのframeworkを追加
http://sourceforge.jp/projects/sfnet_opencvlibrary/
ここからzipをダウンロード

2. GeneralタブのFrameworkの”+”のadd otherでOpenCVのファイル一式を展開したディレクトリを追加

3. OpenCVを使いたいソースで
highgui.hppとopencv.hppをimportする

4. Build Settingsタブの
Apple LLVM 5.1 - Language - C++のLanguage DialectをCompiler Default
をlibstdc++(GNU C;; standard lib…)に変更(7の対策)
(追記:この情報は古いです xcode6と最新のopencv (現在2.9を使用中)のframeworkではCompiler DefaultのままでOKでした)

(v2.4ではValid Architecturesにarmv7sが入ったままで大丈夫だった。昔はだめだったらしい。)
→ と思ったらArchiveする時にLinkerでエラーが出ました。v2.4でもValid Archtectureのarmv7sは消さないとダメのようです。

5. Supporting Filesの
プロジェクト名-Prefix.pchのUIKit.hの前に

#ifdef __cplusplus
#import "opencv.hpp"
#endif

を追加(UIKit.hのimportの前に入れる必要がある)
(追記:xcode6で新規プロジェクトを作ると.pchのファイルは作られないみたいで、なくても大丈夫みたいです)

6. BuildするとUnknown type name 'namespace'のエラーが出るので
プロジェクト内の全てのファイルの拡張子を.mは.mmに.hは.hppに変更
main.mmとAppDeligate.mmのヘッダファイルのimport文も合わせて修正
#import "AppDelegate.hpp"など

7. Buildした時に<ext/atomicity.h>が無いというエラーが出たら(4をやってれば出ない)(CoreMediaとCoreVideoがなくても出るみたいなので追加)
(追記:最新のopencvのframework(現在2.9を使用中)を使えば出ないはず)

Build SettingのApple LLVM 5.0 - Language - C++の
C++ Standard Libraryをlibstdc++(GNU C;; standard lib…)に変更
(追記: 最新のframeworkを使ってれば
libc++ (LLVM C++standard library with C++11 support)が正しい)

opencvの古いサンプルコードだとIPLImageという型を使ってるのが多いけど、最近はcv::Matが主流みたい
(ネットには古い情報がたくさん残っててわかりにくいですね… ちゃんとアップデートされてるところを信用しましょう)

ということで、作っていたのが
http://one-hand-engineer.seesaa.net/article/385134648.html
これでした
ラベル:アプリ製作
posted by one-hand-engineer at 16:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年12月10日

死の青画面

BSOD

空港向けのデジタルサイネージもやってたのでFaceBookでこの写真を見て胸がドキドキした…
(冗談でなく本当に体が反応しました。職業病ってやつ?)
posted by one-hand-engineer at 08:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする