世界地図 Free V2.8 & 中国地図 Free V1.4 申請

昨日の夜中(9/16 A.M.1:00くらい?)に「世界地図 Free V2.8」と「中国地図 Free V1.4」をアップルへ申請しました。
どちらもアップデート内容は

  • iOS10対応
  • バグ修正

のみです。
とりあえず、アプリが消されない様にしなきゃってことで。。。
都道府県と同様、広告はAdMobのみにしました。

とりあえずRejectされません様に。。。

Launch Image & App Icon (2016)

(2018/1/16 Updated.)

iPhoneアプリの起動時画像とアイコンについて。
6年ほど前に一度書いたけど3.5インチの320x480と640x960しか無かったし、OSも古かったから大分変わってる。
そこでもう一度整理。

最新のXCode8.0だとビルド可能な最低がiOS8.0だから
最終OSがiOS9.3.5のiPhone4Sは含まれる。
iPhone4は、最終がiOS7.1.2だから除外。

という訳で以下の様になる。

・Launch Image (Portrait)

機種 サイズ(inch) バイス解像度 画像解像度 理論解像度 名前
iPhone 4S 3.5 640x960 640x960 320x480 Default@2x.png
iPhone 5/5s/5c/SE 4 640x1136 640x1136 320x568 Default-568h@2x
iPhone 6/6s/7/8 4.7 750x1334 750x1334 375x667 Default-375w-667h@2x.png
iPhone 6 Plus/6s Plus/7 Plus/8 Plus 5.5 1080x1920 1242x2208 414x736 Default-414w-736h@3x.png
iPhone X 5.8 1125x2436 1125x2436 375x812 Default-375w-812h@3x.png

Plus系は、ハード的な解像度は1080x1920だけど内部的には1242x2208(414x736 @3x)だから
作る側としては、1242x2208の画面と思って作ればいいみたいだね。


・App Icon

機種 画像解像度 名前
iPhone 4S/5/5s/5c/SE/6/6s/7/8 120x120 Icon-60@2x.png
iPhone 6 Plus/6s Plus/7 Plus/8 Plus/X*1 180x180 Icon-60@3x.png

まあ、名前はxcassets使えば関係ないんだろうけど。。

*1:2018/1/16 追記

都道府県 Free V3.0 申請

大変久しぶりのエントリです。
何やらAppleさんが古い(長らくアップデートしていない)アプリを削除するということらしいので、長期に渡ってほったらかしていた我がiPhoneアプリ達をアップデートすることにしました。
まずは、都道府県Free。
最後のアップデートは、2015/4/4と実に一年半近く前です。
その時のアップデート内容を見ると

  • iOS8対応
  • バグ修正

と何ともやる気ない感じ。
まあ、ダウンロードも全然されなくなっちゃってるしね。。。
とりあえず、時期的にiOS10に対応すべく修正してみました。
後はiPhone6/6 plus以降のでかい画面で少し表示がおかしかったとこの修正。
アップデート内容は

  • iOS10対応
  • バグ修正

ありゃ、前回と同じじゃんかよ。。
それと広告を大幅に変更してAdMobへ一本化。何かiAdも終わっちゃったしねー。

そんな訳で、超久々にAppleさんへ申請しました。
次は世界地図Freeだぜー。

久しぶりにやると色々と仕様が変わってて大変。
やっぱり3か月に1回程度はアップデートすべきだな、と思いました。

さて、今どきのアップデート審査はどれくらい時間がかかるのだろう。

UARTを使う

RaspberryPiのUARTをプログラムから使ってみる。
ピンは、
8:TXD(GPIO14)
10:RXD(GPIO15)
6:GND
となっている。
デフォルトでは、このUARTはシリアルコンソールとして使える様になっているのでまず無効にする必要がある。

/boot/cmdline.txtの編集

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

となっているのを

dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

とする。

/etc/inittabの編集

最終行の

TO:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

コメントアウト

#TO:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

リブートして完了。

$ sudo reboot

RaspberryPiの初期設定覚え書き2(VNC)

その2。

VNCのインストール

まずはパッケージをインストール。

$ sudo apt-get install tightvncserver

とりあえず、起動する。

$ tightvncserver

パスワードを聞かれるので適当に決める。
起動してるか確認してみる。

$ netstat -nlt

ポート5901でListenしてればOK。
PCとかから接続してみてうまくいけば、とりあえずOK。

VNC自動起動

自動起動スクリプトを書く。

$ sudo /etc/init.d/vncboot

(http://assimane.blog.so-net.ne.jp/2013-03-27を参考にさせて頂きました)

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

#! /bin/sh
# /etc/init.d/vncboot

USER=hoge
HOME=/home/hoge

export USER HOME

case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
su $USER -c '/usr/bin/vncserver :1 -geometry 1600x900 -depth 24'
;;

stop)
echo "Stopping VNC Server"
su $USER -c '/usr/bin/vncserver -kill :1'
;;

*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac

exit 0

スクリプトに実行権限を与える。

$ sudo chmod 755 /etc/init.d/vncboot

自動起動の設定

$ sudo update-rc.d vncboot defaults

再起動

$ sudo reboot

再起動後にVNCクライアントから接続できればOK。

RaspberryPiの初期設定覚え書き

※ この覚え書きは、自分がやったことを残しておくことが目的です。
他の人が見て参考になる様なものではないです。
そもそもLinuxは全然判らない。。。

SDカードにイメージを書き込み (Mac)

  • SDカードを挿入して、マウント位置を確認

ターミナルで

$ diskutil list

SDカードの/dev/diskX(Xは数値)を確認する。

  • アンマウント

$ sudo diskutil unmountDisk /dev/diskX

  • イメージの書き込み

$ sudo dd bs=1m if=/Users/hoge/Downloads/2015-05-05-raspbian-wheezy.img of=/dev/diskX

書き込みが終わるまで結構時間がかかる。
アクティビティモニタのディスクタブでプロセス名ddの書き込みバイト数がイメージサイズ(約3.7GB)になるのを見ながら待った。

初回起動

  1. RaspberryPiに無線LANアダプタ(GW-USNano2を使用)、キーボード、マウス、モニタを接続して電源を入れる。
  2. expand_rootfsでSDカード全体を使う様にする。
  3. change_localeで日本語(ja_JP.UTF-8 UTF-8)をデフォルトにする。
  4. ブート時にDesktopが起動する様に設定。(Linuxは全然わからんから困った時の為)
  5. Finishでリブート。

起動

  1. 無線LANのキーを入力して接続する。
  2. IPアドレスを固定に設定する。
  3. シャットダウン。
  4. 一度、電源を切る。

(これらはGUIでやった)

起動2

  1. キーボード、マウス、モニタを外す。(とりあえずもう使わないから)
  2. 電源を入れる。
  3. SSHで接続する。(確認したIPとポート22、pi/raspberry)DHCPだけど、まあ大抵は同じのがもらえる。

設定等

$ sudo rpi-update
$ sudo reboot

  • パッケージを最新にする

$ sudo apt-get update
$ sudo apt-get upgrade

  • rootパスワードを設定

$ sudo passwd root

  • ユーザの追加

$ sudo adduser hoge

  • 追加したユーザにグループを追加

ユーザpiと同じにする為に、両方表示してみて比較

$ groups pi
pi : pi adm dialout cdrom sudo audio video plugdev games users netdev input spi i2c gpio
$ groups hoge
hoge : hoge
$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,i2c,gpio hoge

ユーザhogeのグループを表示して確認

$ groups hoge
hoge : hoge adm dialout cdrom sudo audio video plugdev games users pi netdev input spi i2c gpio

  • SSHのポート番号を変更する

$ sudo nano /etc/ssh/sshd_config

Port 22と書いてある行の22を変える。(49152〜65535の間で好きなのにする)

Port 22 ==> Port 54321

PermitRootLoginのyesをnoに変える。

PermitRootLogin yes ==> PermitRootLogin no

SSHを再起動

$ sudo /etc/init.d/ssh restart

リブート

$ sudo reboot

  • piユーザのユーザ名変更

今回は、新しいユーザ(hoge)とポート番号(この例では54321)で再度SSH接続する。
piユーザをそのまま残しておいて、勝手にログインされたりしない様に変更しておく。

$ sudo usermod -l org_pi_user pi

っていうのをやろうとしたら、使用中だからダメみたいなエラーが出る。
表示されたプロセスをpsで見てみるとデスクトップ用のプロセス。
そういや、起動時にpiユーザでデスクトップに自動ログインする様にしてたっけ。。。
うーん。。どうすべきか良くわからんけど、piユーザをそのまま残しておきたくは無いので

$ sudo raspi-config

からデスクトップをやめてテキストコンソールへ変更。
再起動後、もう一度

$ sudo usermod -l org_pi_user pi

を実行すると無事完了した。

はしごステップ V1.0 公開

先日申請した新アプリ「はしごステップ (Agility Ladder)」が、本日AppStoreへ公開されました。
かなり久々の申請だったからリジェクトされないか不安だったけど、無事通過。よかったよかった。
後はどれだけ遊んでもらえるか。
皆様、よろしくお願いします。<(_ _)>