忘れるので
vboxmanage setextradata VMNAME CustomVideoMode1 1920x1080x32
VMNAMEには自分の作ったVMの名前
最後は任意の解像度
OnsenUIでhammer.js使ってて、少し手こずったので覚え書き。
右にスワイプして前の画面に戻るといったことをしたくて、ons-gesture-detectorを使いました。(下記URL参照)
http://ja.onsen.io/guide/components.html#ons-gesture-detector
http://ja.onsen.io/guide/overview.html#DetectingFingerGestures
ページのどの部分でスワイプしても反応してほしかったので、以下のように書きました。
<ons-gesture-detector ng-swiperight="ons.navigator.popPage()"> <ons-page ng-controller="hogeController">
<ons-toolbar>
…
</ons-toolbar>
</ons-page>
<ons-gesture-detector>
ここからが本題。
これでうまく動くかと思いきや、完全にはうまくいかなかった。
手元のiOSではうまく動くものの、Android端末ではかなりスワイプの判定がシビアで、最初の方はAndroidでは動いていないと錯覚するほどでした。
対処方法は簡単で、コントローラー部(hogeController)に以下のコードを追記するだけ。
.controller('hogeController', function($scope) {
Hammer.gestures.Swipe.defaults.swipeVelocityX = 0.1;
…
});
これは検出するスワイプの速さの設定です。
にHammer.jsのスワイプに関する内容が書かれています。
デフォルト値では
VelocityX = 0.65 //OnsenUIでは0.6
となっています。
0.1に下げることで、比較的ゆっくりなスワイプにも反応してくれるようになりました。
また、これを設定することでiOS側の感度が高くなりすぎるといったこともなかったので、ひとまず問題はなさそうです。
今日の進捗終わり…
iOSのアプリ(Objective-C)で自前でバージョンを管理(更新があるか確認)しなきゃならなかったので、書いてみた。
想定しているバージョンは◯.◯.◯という形式で◯は全て数字であること。
例えば1.10.2と0.11.3を比較して1.10.2の方が新しいよといった感じです。
separateVerStringで.を区切り文字として、3つの番号を配列に格納しています。
次にversionCompareで配列の中身をfor文でint型に変換しつつ、アプリのバージョンと最新のバージョン番号を高位から順に比較し、アプリのバージョンが最新より低ければ0返すようにしています。
0が返されたらviewDidLoaded部でアラートビューを出すようにしているといった作りです。
ツッコミどころがあれば是非お願いします。
ではでは良いお年を(☝ ՞ਊ ՞)☝
自宅でgitサーバーを運用中であるが、DNSサーバーを建てていないのでサーバーのLAN内に入った時にいちいち
/etc/hosts
を書き換えなければならない。(コメントアウトするか外すか)
例えば
192.168.0.2 example.com
を
#192.168.0.2 example.com
にするためだけに、
sudo vim /etc/hosts
として書き換えるのは阿呆らしい。
かといって稼働中でバリバリ使用中のサーバーサイドをいじりたくなかったので、hostsファイルを半自動で書き換えてしまえと思いました。
#!/bin/sh var=`sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I|grep "\sSSID"|sed -e "s/[^:]*: //"` var2=`cat /etc/hosts|grep "example"` if [ -z ${var} ]; then # echo "Please turn on Wifi or connect to the Wifi spot!" exit 1 elif [ ${var} = "your_SSID" ]; then echo ${var2} | grep '#' if [ $? -eq 0]; then #if [ !`echo ${var2} | grep -q '#'` ]; then sed -i -e '/example/s/^#//' /etc/hosts fi else echo ${var2} | grep -q '#' if [ $? -eq 0 ]; then #if [ `echo ${var2} | grep -q '#'` ]; then echo "already have #" else echo "add # on the beginning" sed -i -e '/example/s/^/#/' /etc/hosts fi fi exit $?
Githubにもソースをあげているのでご自由にどうぞNa0ki/hosts_rename_script · GitHub
上から順に雑に説明します。
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I
で以下の情報が得られます。(値は適当に変えてあります)
agrCtlRSSI: -57 agrExtRSSI: 0 agrCtlNoise: -95 agrExtNoise: 0 state: running op mode: station lastTxRate: 300 maxRate: 300 lastAssocStatus: 0 802.11 auth: open link auth: wpa2-psk BSSID: 0:0:00:00:00:00 SSID: your_SSID MCS: 15 channel: 44,1
ここからSSIDの行grepしてsedで整形してあげれば、SSIDを取得できます。(varの中身)
次にexample.comのある行を取得したいのでexampleでgrepをかけています。
最初のifではwifiが接続されていない場合を想定しています。wifiが接続されていない場合はNULLが返ってくるため
[ -z ${var} ]
でNULLの場合の処理に持って行っています。
次のifはサーバーと同一LAN内にいる場合の処理を書いています。
sedでexample.comの行頭のコメントアウトを外しています。
最後はサーバーのLAN外にいるときはコメントアウトするように処理しています。
以上です。
シェルスクリプトを普段書かないので書式に随分と苦しめられました。
助けてくれた友人に感謝。
OSXではlaunchdでスクリプトをバックグラウンドで動かせるらしいので、このスクリプトを動かせるようにlaunchdの勉強中です(☝ ՞ਊ ՞)☝
ではでは
一番最初のビューについてる矢印をうっかり消してしまい、そういやどうやってつけるんだっけと思ったので覚え書き。
最初にもってきたいView Controllerを選択した状態で右側のUtilitiesにあるAttributes inspectorを開き、Is Initial View Controllerにチェックをいれて終わり。
友人に聞くまで知らんかった。
XPeria UL(SOL22)からXPeria Z3(SOL26)にかえました。
ハード的にはULで満足していたのですが、OSの公式アップデートがAndroid4.2で止まっていたため、グローバルモデルのZシリーズに変更しました。
ULが5インチに対してZ3が5.2インチで画面が若干大きくなりました。片手で操作するぶんには困らないサイズです。
本体の縦のサイズはZ3がULより大きく、厚さはZ3の方が薄いです。
Z1などは角がカクカクしていて持ちにくかったのですが、Z3は角が丸くなっているので比較的持ちやすいです。ただULと比較するとULの方が圧倒的に持ちやすかったです。
ソフトウェア面ではZ3はAndroid4.4.4です。
5.0がすでにアナウンスされているので、しばらくしたらアップデートが降ってくると思います。
今のところ改善してほしいと思っているのはアイコンサイズです。やたらとデカイのでせっかくの5インチFHDが台無しです。
しかし、これでやっとAndroidの最新を追いつつ開発ができそうなのでとても嬉しいです。