タッチパネルは意外と使うけど、最近の使い方だとうっとおしいので無効化しました。
あとで有効化できるようにメモしときます。
※自己責任で
デバイスマネージャーの「ヒューマン インターフェース デバイス」という項目に「HID 準拠 タッチパネル」という項目があったので右クリックで無効化。
有効化も同じ手順。
終わり(☝ ՞ਊ ՞)☝
タッチパネルは意外と使うけど、最近の使い方だとうっとおしいので無効化しました。
あとで有効化できるようにメモしときます。
※自己責任で
デバイスマネージャーの「ヒューマン インターフェース デバイス」という項目に「HID 準拠 タッチパネル」という項目があったので右クリックで無効化。
有効化も同じ手順。
終わり(☝ ՞ਊ ՞)☝
覚え書き程度なので、いつもどおり小見出しなしのダラダラとした文章です
スマートフォンアプリに対してプッシュ通知をしてみたかったので、APNS(Apple Push Notification Service)やGCM(Google Cloud Messaging)に通知を送るプロバイダを構築します。
node-pushserverがあるようなのでソレを使っていこうと思います。
まずはyumでnode.jsを入れるためにリポジトリの追加をします。
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
次にnode.js及びnpmをインストール
yum install nodejs npm --enablerepo=epel
ここに関しては
node.jsをyumでインストールする(centos6.5) - Qiita
を参考にしました。
これでnode.jsの準備はできたので、次にnode-pushserverの導入です。
に書かれている通りに進めます。
まずはMongoDBが必要ということでyumでインストールできるようにします。
こちらもMongoDBのページ( Install MongoDB on Red Hat Enterprise, CentOS, Fedora, or Amazon Linux — MongoDB Manual 2.6.7 )に書かれています。
/etc/yum.repos.d/mongodb.repo
を作り、mongodb.repoの中身は
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
となります。
書き終えたら、
yum install -y mongodb-org
を実行するとMongoDBがインストールされます。
次にnode-pushserverをインストールします。
npm install node-pushserver -g
インストールされた中にexample.config.jsonがあるので、それをいじるとプロバイダの準備ができます。
ちなみにこいつのディレクトリは
./npm/node-pushserver/0.5.3/package/
にありました。
0.5.3は多分バージョン番号なので適宜変えてください。
今回は以上
ここからが証明書の取得やらでめんどいところ( ˘ਊ˘)
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にチェックをいれて終わり。
友人に聞くまで知らんかった。