iphoneアプリをappstoreに申請する際に、launchImage周りでエラーがでる場合

iphoneアプリをappstoreに申請する際に、launchImage周りでエラーがでる場合に、
エラーがでる事がある。

xcodeのバージョンは、xcode7.2.1

xcodeのLaunchImageは、レイアウトファイルをちゃんと指定しているのなになぜか、、
色々調べたところ。

通常は画像ファイルか、storyboardファイルの指定の必要があるが、
昔に作ったアプリなので、storyboardの拡張子ではなく、xibファイルの指定だったからのようでした。

xcode

LaunchScreen.xib → LaunchScreen.storyboard

これをxibからstoryboardで作り直しして指定したら、
無事解決!!!
同じようなシチュエーションの人で、参考なれば嬉しいです!

無料SSLの「let’s encrypt」を導入してみた

https化

無料SSLの「let’s encrypt」を導入してみた

https化

昔はSSL化(https化)はお金がかかるし、処理速度も遅くなるし、

導入も面倒だしと思っていたのですが、

最近はそうでもなくSSLだけと無料速いになったようですので、

あと世の中的にもう全部SSLにしようという流れにまけてSSLにしたいと思います。

SEO効果も若干はあるようですので。。

あと、iphoneアプリのATS無効も効かなくなり来年あたりから完全にhttp通信が死んでしまいそうなので、

1. 無料SSL「let’s encrypt 」をインストール

gitからファイルを落とし

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/

下記コマンドで環境チェックを行うようです。成功するとhelpが表示されます

$ ./letsencrypt-auto --help

エラー内容が表示される場合は、1つ1つ改善する必要があります。
僕の場合はopensslのバージョンが古かったです。。 yum update opensslで完全されましたが。

2. SSL証明書周りをダウンロード

下記のように自分のSSL化したいドメインを指定して実行すると、
対話式の画面で、メールアドレスを求められます。

./letsencrypt-auto certonly -a standalone -d ドメイン

対話画面のメールアドレスを入力し、
さらに利用規約に同意すると、
完了画面が表示されます!

The program nginx (process ID 18766) is already listening on TCP 
port 80. This will prevent us from binding to that port. Please stop 
the nginx program temporarily and then try again. 

ただ僕の場合は、下記のようなエラーでたので、
認証チェック時の80ポートに使っているnginxを、
面倒だったので停止してから、証明書DLのコマンドを打ち直しました。

すると、無事完了し、下記フォルダ内に一式証明書周りのファイルが生成されました。

/etc/letsencrypt/archive/ドメイン名/privkey1.pem ← 秘密キー
/etc/letsencrypt/archive/ドメイン名/cert1.pem
/etc/letsencrypt/archive/ドメイン名/chain1.pem
/etc/letsencrypt/archive/ドメイン名/fullchain1.pem ← サーバー証明書と中間証明書のガッチャンコ

これをnginxの設定に入れます。

3. nginxでSSLの設定

$vim /etc/nginx/conf.d/hoge.conf

下記のような内容をnginxに設定


listen 443 ssl; ssl_certificate /etc/letsencrypt/archive/ドメイン/fullchain1.pem; ssl_certificate_key /etc/letsencrypt/archive/ドメイン/privkey1.pem; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!ADH:!MD5;

あとはnginxのチェック&反映

$ nginx -t
$ service nginx restart

最後にhttpsでドメインチェック!

その他すすめる上で気になるところTIPS

  • 認証チェックする際のポートが開いていない、ポートが開いているか確認する
  • letsencryptの有効期限が3ヶ月らしいので、cronなどで自動更新処理をしておくといいかも
  • httpからhttpsにリダイレクトなどSEO効果など大事にするチューニング色々

ほぼこちら完結かつわかりやすい記事を参考にさせて頂きました!
ありがとうございます!
http://qiita.com/sak_2/items/ff835b669c0a7e110b09

Unity C#で webのjsonを取得するサンプルメモ

Unity C#で webのjsonを取得するサンプル

JsonReadWeb.cs

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using MiniJSON; // 事前にMiniJSONをいれておく

public class JsonReadWeb : MonoBehaviour {
    public GameObject prefab;

    void Start () {

        // コルーチン実行開始
        StartCoroutine("GetJSON");
    }

    IEnumerator GetJSON(){

        // webサーバにアクセス
        WWW www = new WWW("http://example.com/");

        // webサーバから何らかの返答があるまで停止
        yield return www;

        // エラーがあったら
        if(!string.IsNullOrEmpty(www.error)){
            Debug.LogError(string.Format("Fail Whale!\n{0}", www.error)); // エラー内容を表示
            yield break; // コルーチンを終了
        }

        // webサーバからの内容を文字列変数に格納
        string jsonText = www.text;

        // 文字列を json に合わせて構成されたキーバリューを作る
        var json = Json.Deserialize (jsonText) as Dictionary<string, object>;

        // 内容確認
        foreach (var data in json) {
            Debug.Log ("key名:" + data.Key + " value値" + data.Value);
        }

    }


}

macにmysqlクライアントのみ インストール

mac(yosemite)にmysqlクライアントのみインストール

ぐぐっても中々でてこなかったので、メモ。

macにmysql-clientのインストール。
macをmysqlサーバーまで起動してしまうと重くなりそうなので、
CUIで使えるmysql-clientだけ利用。

brewのインストール

http://brew.sh/index_ja.html

brewがインストール済みなら、下記コマンドでmysqlのclientのみインストール

brew install mysql --client-only

javascript カンマ区切りの金額表示色々(小数点切り捨ても)

一番簡単な方法

var num = 9800;
num.toLocaleString(); //9,800

ただし、対応していないブラウザ云々があります。IE10等

その他1

var num = 9800;
String( num ).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,' ); // 9,800

9,8,00
とか
9,800

僕が採用したカンマ区切り

// カンマ区切りフォーマット対応
function moneyDisplayFormat(str) {
    var num = new String(str).replace(/,/g, "");
      while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
        return num;
}

// 呼び出し
moneyDisplayFOrmat("1,99,9");

1,99,9
とか
1,000,
とか
カンマが変な位置あっても対応している。

小数点が入っている場合は、
1,99,9.023 => 1,999.023と出る。

小数点を切り捨てしたい時

var num = Math.floor(1999.533); // 切り捨て 1999

var num = parseInt(1999.533); // 1999

CentOS6.5にvagrantをインストールしsshまで汗

1. VirtualBox インストール

# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
# yum list | grep VirtualBox
# yum install VirtualBox-4.3

2. Vagrantつっ込む

# rpm -Uvh http://files.vagrantup.com/packages/a40522f5fabccb9ddabad03d836e120ff5d14093/vagrant_1.3.5_x86_64.rpm

3. Vagrant box の追加

# vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-i386-v20140504.box

4. VMの格納先とVagrantfileの作成

# mkdir centos6.5_VM
# cd centos6.5_VM
# vagrant init centos

5. vagrant upで仮想環境(VM)を構築

# cd centos6.5_VM
# vagrant up

僕の場合、conohaの格安VPSをつかっていたため、起動のタイムアウト上限をこえて起動できなかったので、

# vim Vagrantfile 

で、

 12   # Every Vagrant virtual environment requires a box to build off of.
 13   config.vm.box = "centos"
 14 
 15   # ここ追加
 16   config.vm.boot_timeout = 3600

config.vm.boot_timeout = 3600 を追記し、
途中でこけないようにしました。

6. 仮想環境(VM)へのsshアクセス

ssh アクセス

# vagrant ssh

VMの停止

# vagrant halt

VMの破棄

# vagrant destroy

以上!参考になれば幸いです。

Unity C# で文字列をfloatに変換

Unity C# で文字列をfloatに変換

//string floatVal = “10.0f”; // NG
string floatVal = “10.0”;

float playerX = float.Parse (floatVal);

stringの時点でfを入れてしまうとエラーになるので注意!

wordpressでrobots.txtがnginxで表示されない場合の対処

nginxで、wordpressのプラグイン「XML-Sitemap」でrobots.txtが表示されない

http://hoge.com/robots.txt にアクセスしてrobots.txtが「404 Not Found」になってしまう

wordpressをnginxの環境でセットアップしていると、
XML-Sitemapで自動生成されるrobots.txtがで表示されないようです。
apacheの場合は特に意識しなくても大丈夫かと思いますが。

色々とググってみましたが、日本の記事がなかったので、
メモとして残します。

実は、「http://hoge.com/index.php?robots=1」にアクセスすると
robots.txtの内容が表示されます。
なのでrewriteしちゃいます。

nginxで動的にrobots.txtを表示する設定

/etc/nginx/conf.d/hoge.conf

server {
  listen 80; 

 〜省略〜

  # nginxとwordpressだと自動生成されるrobotsが404になるのを防ぐ
  location = /robots.txt {
    rewrite ^/robots\.txt$ /index.php?robots=1 last;
    allow all;
    log_not_found off;
    access_log off;
  }

   〜省略〜

あとはnginxを再起動

$sudo service nginx configtest
$sudo service nginx restart

実際に「http://hoge.com/robots.txt」の設定確認

User-agent: *
Disallow: /wp-admin/

Sitemap: http://blog.4star.link/index.php?xml_sitemap=params=

上記のように反映されていればOK
シンプル!