エモンのブログ(スマホアプリ作成日記) -14ページ目

エモンのブログ(スマホアプリ作成日記)

エモンのブログです。

GooglePlayとAppStoreにアプリをリリースしてます。
「詰将棋パラダイス」4500問無料で公開。
「みんなのしょうぎ」投票型の将棋対局。いずれもソーシャルアプリなので、ソーシャルゲーム作成に興味があるかたは是非ご覧ください。

どうもエモンです。
最近あったAIR for Androidの不具合を報告します。

AIR for Androidでソーシャルアプリを作っていますが、どうやらAndroid4.1.2で度々画面が暗転するという不具合あるようです。ユーザからかなり報告が上がってきていたのです。
自分の手元にある端末だとそんなことにはなってなかったので放置していたのですが、どうやらNexus7でも起きているようで、これは放置できなくなりました。

暗転の原因はStageWebViewを2つ同時に使っていたからでした。
基本的には一方のStageを表示するときには、もう片方を閉じる処理を入れて解決させました。

Flashでレイヤー構造を保持したまま、別MCに貼り付けたいことがあります。
レイヤー、フレームをドラッグ&ドロップするとコピーされますが、
別MCに貼り付けたいときはどうするのか…。
レイヤー構造をフォルダに入れてコピーすると構造はコピーされるので、
その後ドラッグ&ドロップして対応しました。

FlashCCになってからやり方がかわったのでメモ
別MCで受けるためのフォルダが別途必要だったり。
公式

・レイヤーフォルダーからのフレームのコピー
・フォルダーを閉じ(タイムラインでフォルダー名の左の三角形をクリック)、フォルダー名をクリックしてフォルダー全体を選択します。
・編集/タイムライン/フレームのコピーを選択します。
・挿入/タイムライン/レイヤーフォルダーを選択し、フォルダーを作成します。
・作成したフォルダーをクリックし、編集/タイムライン/フレームのペーストを選択します。





他になにかいい方法ないでしょうか
さくらのクラウドは大規模障害を出したらしいけど、レンタルサーバが安定しているので、さくらには期待したいところです。
さくらクラウドを導入してアプリを公開するまでのサーバ設定をメモします。
HTML5の仮想端末からSSHがつながるまで設定を行い、アプリが作れる環境まで整えます。
ファイアウォールとかネットワークの設定がGMOクラウドと比べて一手間かかる印象でした。

--以下HTML5仮想端末から
管理者アカウントを作成する

SSHでログインするときに直接rootで入られるのはよくないため、別途管理者アカウントを作ります。
taroというユーザを作成しました。
useradd -g 10 taro
passwd [パスワード]

これでtaroというユーザができます。
・suコマンドを制限
vi /etc/pam.d/su

この中の
auth required pam_wheel.so use_uid

がコメントアウトされているので有効にする
・rootアカウントでのsshログイン禁止
vi /etc/ssh/sshd_config

の中のPermitRootLoginをnoに変更してsshdを再起動
service sshd reload


ネットワークの指定を行う

vi /etc/sysconfig/network-scripts/ifcfg-eth0
NETMASK
IPADDR
GATEWAY

をそれぞれ指定する。
NETMASK=255.255.255.0のような感じで。また
IPV6INIT=no
BOOTPROTO=none

以上を追加してネットワークを起動する
/etc/rc.d/init.d/network start

※これで別ターミナルからSSHがつながる。
--以下通常ターミナルから

SELINUXを無効にする

vi /etc/selinux/config

のSELINUX=disabledを指定する

公開かぎをインストール

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

ネットワーク起動しままにする

chkconfig network on


ネームサーバを設定する

/etc/resolv.conf
nameserver [もらったネームサーバその1]
nameserver [もらったネームサーバその2]


各種アプリ作成に必須のものをyumでインストールしていく

・httpdをインストール
yum -y install httpd
service httpd start
chkconfig httpd on


・wgetをインストール
yum list | grep wget
sudo yum install wget

which wgetで調べると/usr/bin/wgetにいる。
echo $PATHで/usr/binにパスが通っていることを確認

・PHPのインストール
yum install php php-gd php-mbstring php-mysql


・mysqlのインストール
yum -y install mysql-server
chkconfig mysqld on


・ログインする
mysql

・パスワード設定
SET PASSWORD FOR root@localhost=PASSWORD('[パスワード]');


iptablesの設定

ルールの確認
iptables -L
受信パケットを全て許可
iptables -P INPUT ACCEPT
転送パケットは全て拒否(ルーティングしないため)
iptables -P FORWARD DROP
送信パケットは全て許可
iptables -P OUTPUT ACCEPT
まず個別のルールを全て削除する
iptables -F
自分自身からの入力を許可
iptables -A INPUT -i lo -j ACCEPT
ポート別の設定
80番(www)を許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
・保存
/etc/init.d/iptables save
保存後、iptables を再起動する
service iptables restart


PHPにおけるタイムゾーンの設定

strtotimeでエラーがでていたのでタイムゾーンを設定する
/etc/php.ini
date.timezone = "Asia/Tokyo"

を指定する