iPhone 5s スマホポーチ(皮製)作成

古くなった革ジャンを端切れにして取っておいたので、それでiPhone 5s スマホポーチ作った。
革ジャンタグも再利用して貼り付け。
iPhone 5sをそのままポケットに突っ込んで、持ち歩いていたのでこれでキズつくこともない。

iPhone アプリ作成の開発環境

メイン機はDELLのノートPC Windows 10で、Mac Bookも持ってはいますがBootCampでwindows 7環境でずっと使っています。
メイン機でiPhone アプリ開発したいので、以前Vmware Playerで、Mac Xをインストールして動かしていたイメージがあったので、これをMac OS X-10.11 El Capitanにapp storeからUPDATEしてXcode 7.3をインストールしました。

昨日のフリーSIM化したSoftBank iPhone 5s 64G 実機でアプリを導入できるか試してみました。

————————————————–
DELL Inspiron 7537
 Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
 4core MEM:16G

Vmware Player :仮想: Mac OS X-10.11 El Capitan
  CPU @ 1.9Ghz
  2cpu MEM:4G
  HDD 120G

————————————————–
  ※ituneでiPhone 5sも問題なく認識。
 

 
 ※とりあえず、Build & run まあこの辺は統合環境をいろいろ使ってるので雰囲気で行ける・・・
   APPLE IDでsign inの要求が来たので言いなりにセットアップ。(これは一度だけで良い)
  iPhone 5sにアプリがインストールされるがこのままではセキュリティー制限で動作せず。
 
 
 [設定] – [一般] – [プロファイルとデバイス管理]にデベロッパAPPのタグが出来ていたので、
 これをタップして、”信頼”設定すれば以後このデベロッパのアプリは動作可能。
 

後は、普通に動作します。
これで、iPhoneアプリも開発できます。ただapp storeに載せるにはApple Developer Programの登録料が毎年1万1800円するので、有料アプリ作らないとほぼ意味ない。
あと、Objective-C知りません、というかこの言語嫌いなんです。c,c++,c#,javaでいいじゃない。
なぜにわあわざObjective-C・・・。
画面のレイアウトとかオーバーレイとかプロセス間とかiPhone iOS全く知らないのでこのあたりを熟知する必要があります。

SoftBank iPhons5s SIMロックを解除してもらいました。

SIMフリー iPhone SE(奥さん使用)に乗り換えて、余ったSoftBank iPhons5s 64Gを SIMロックを解除してもらいました。(自分のサブ機に使用)

SoftBank iPhons5sはキャリア公式のSIMロック解除対象外ですので、SIMロック解除をできる業者に頼むことになります。
通常日本のこの手の業者だと最低でも¥15,000以上します。以前は競合が無かったのでもっと高かった。

今回、日本の業者ではなく、海外の業者に頼んだ。(ebayでiphone 5s softbak factory unlock serviceで検索すればいっぱい出てきます。)
このなかで、ユーザ評価が高く、価格の安いもの($94 [¥9,427])を選んで注文した。
2週間で、完了&アクティべート方法のメールが来たので早速、so-net 0 sim(docomo系)で、アクティベートして問題なく使えるようになりました。
アクティベートの方法といっても、元のキャリー以外のSIMを差して、wifi接続してアクティベート完了
するまで10秒ぐらいまつだけですぐに完了します。

※後で、docomoのSIMで試して、問題なくデータ通信、電話使えてます。
※海外業者はいろんなところがありますので、自身のない方はフォローの良い日本の業者がいいかと思います。

※SIMロック解除はAppleにあるアクティベーションサーバのデータベースに管理されているIMEIの
データ内容をUPDATEする必要があると思うのですが、これらの解除業者はどうやっているのか?どこも1、2週間かかることから何かしらappleに申請を出して作業してるのだろうと想像はつきますが・・・

SoftBankでは利用できなかった、docomoのプラチナバンド 19も捕まえています

まあ何はともあれ、SoftBank iPhons5s 64G SIMフリー使えてます^^

CrenaCam 0.9.5 Google PLAY「審査の結果、なりすましに関するポリシーに違反しているため」アプリリジェクト&異議申し立てで復活

CrenaCam 0.9.5「審査の結果、なりすましに関するポリシーに違反しているため」アプリリジェクト&異議申し立てで復活

経過メモ
【8/6 16:20】
 CrenaCam 0.9.4.1から0.9.5にUPDATEしてGoogle PLAY

 ※Nexus 5xおよび6pのイメージセンサーがreverse location取り付け位置による180度回転表示、画像保存問題に対応。


【8/6 17:26】
 「審査の結果、なりすましに関するポリシーに違反しているため」という内容のメールがgoogleから来て、アプリが削除されてしまった。 
 Google PLAY Developer Consoleにログインして確認してみると、削除になってるし、過去バージョンごとなかったことになってしまってる。
 自動判定で何かが誤認識されたんだと思いますが、面倒だけどメール中にあったGoogle のポリシー サポートチームのリンクがあったのでそこから異議申し立てを行った。(文章は日本語のみで英文は付けなかった。)

 ”オリジナルで誤認識と思われますので再確認をお願いします。”と一行だけ書いて、
 自分のホームページトップのCrenaCamのキャプチャー画像を付けて送信した。

【8/6 17:54】
 Google Play Teamから72時間以内にメールするから待てと、英文のテンプレ回答がきた。

【8/9 17:36】
 Google Playチーム(<=日本)から
 ”お客様の異議申し立てを承認し、結果としてアプリ「CrenaCam」(jp.picolix.camera.controll)を元に戻させていただきました。”
 Google PLAY Developer Consoleから再度[更新を送信] するように。
 とのメールが来た。
 ※リミット72時間の18分前!

【8/9 19:00】
  CrenaCam 0.9.5.1にバージョンアップして、再登録。
  ※画像保存時にプログレスを付けた。

【8/9 20:00】
  無事UPDATE完了しました。
 ※これって毎回、誤認アプリリジェクトが発生するリスクがあるのか・・・
  何回もやってたらアカウントBANもあり得る。

肝心のバージョンアップ内容は
================
・画面キャプチャーサイズが縮小されるバグ修正
・Nexus5x,6pで画面が180度回転するバグ修正
・画像保存時にプログレス表示
================
https://play.google.com/store/apps/details?id=jp.picolix.camera.controll

============================================================================
後日談、なぜか1日後に再リジェクトされた。
再「異議申し立て」して、 
再”お客様の異議申し立てを承認”
何回繰り返すのか・・・
このままだと今後も同様のことが繰り返されるはずなので
「アプリやストアの掲載情報で第三者の知的財産(ブランド名やロゴ、画像アセット、音声など)を使用する権限を有していることを証明する文書がある場合」
に対して、
Google Play アプリ審査チームに、
 第三者がcrenacamをレビューしてくれた内容をpdfにして送信した。
Google Play アプリ審査チームより
 「jp.picolix.camera.controll」に関する文書を受領いたしました。今後の参照用に提出させていただきます。”とのメールを頂いたので今後は大丈夫かと思います。
※これで以後再発した時は、個人のアプリなのでもう面倒なのでストアからリジェクトでいいです。
会社のアプリがこれだと深刻ですが・・

iPhone SE 2台購入&MVNO Biglobe SIMに移行

Softbank (奥さんと娘)からBiglobe SIM mvnoに移行中。

http://join.biglobe.ne.jp/mobile/lp/lp_01.html

1) iPhone SE 16G SIMフリー 2台 apple storeで購入 ¥47,800 x 2
2) softbank解約 2台 解約+転出料 ¥16,700 x 2
3) 月額基本料(3人分)
  ¥13,250 => ¥5,200 (Biglobe SIM 12Gシェア)

      【Biglobe SIM 12Gシェア】
      ・3日間の通信速度制限無し
   ・12Gまでシェアできて、余は翌月に繰り越し
    (大体いつも自分4G、娘4G、妻1Gで合計9Gで十分です。)
   ・1ライセンス無料でWi-Fiスポット利用可能
    (3名分あれば良いのですが1ライセンスのみです。追加したい場合は1台250円/月)
   ・使った感覚ですが通信速度、電話特に全然問題なしでした。

1カ月約 ¥8,000もの節約となります。15カ月ぐらいで携帯・解約料などは回収できそうです。
また、解約したSoftBankのiPhone 5S 64G,iPhone 5C 16Gは別途売る予定です。

しかし大手通信キャリアの基本料は高過ぎ。スマフォBB割が10月でなくなり、娘の学割も切れるのでそのままにしておくと月額基本料が更にUPすることになっていたので、この際Biglobe SIM mvnoに移行することにしました。

ちなみに、私はAndroid Nexus 5x (docomo sim フリー解除) を使用しています。

Nexus 5x はカメラ露出補正をサポートしていない。

Android 端末Nexus 5x買って、BIGLOBE MVNO 音声通話SIM 6Gを契約した。

これまでNexus 5を使ってきましたが、Nexus 5xにアプリを移行してさらにサクサク動くようになりましたが、愛用している、Android Camera FV-5 (アプリで唯一課金して購入)が、Nexus 5では、露出補正のプレビューが出来ていたのですが、Nexus 5xでは、なぜか露出補正のプレビューは全くできなくなった。

Play ストアのCamera FV-5のレビューを見てたら、開発元の解答でNexus 6Pは、元々機器が露出補正をサポートしていないので、動作しないとの回答が載っていました。多分5xもそうなんだろうなと思い確認することに。

Nexus 5xのデバイスをdocomo端末仕様確認ツールで調べてみると、
露出補正の範囲が[0,0]でNexus 5xも6Pと同様に露出補正機能は使えないようです。

ちなみに、Nexus 5は、露出補正の範囲は[-12,+12]で露出補正のプレビューは使えます。

しょうがないので、これからはISO補正で感度調整します。

尚、露出補正とISOの違いは、
露出補正:
 絞りF値とシャッタースピードの数値関係を変えて、
 関節的に明るさを調整する。
ISO:
 電気信号を増幅して、直接的に明るさを調整する。

後、Nexus 5xは、ワイヤレス充電は対応してないとか、USBはType-Cになってさらに不便になってます。
おまけに、イメージセンサーはreverse locationで他の一般的なスマフォとは逆向け付けられています。これによりカメラ関係アプリはrotationが設定されていないアプリはpreviewが反転してしまいます。
http://qiita.com/tomoima525/items/f59d345ea40c36244f9b

Xperia GX SO-04D (2012年モデル) をAndroid 5.1.1 lollipoopにアップグレード

前回、Pokemon GOテスターのアプリのOS要件がAndroidは version 4.3 以上となっておりサブ機のXperia GX SO-04DをAndroid 4.1.2から 4.3にUPしましたが、今回 Pokemon GOの正式アプリのOS要件がAndroidは version 4.4以上でこのままだとインストールもできないので、
http://xinroom.net/mobile/so-04d-how-to-install-cm12-1/#i-3
を参考に無事Android 5.1.1にできました。
(root化するのであれば、インストール前には必ずバックアップを取っておくこと。)

前提条件:
 Android 4.3 Jelly Bean以上であること
 root化されていること
 カスタムリカバリ(CWMなど)がインストールされていること

 必要アプリは下記。
 ・cm-12.1-20151020-UNOFFICIAL-hayabusa.zip
 ・TX.4.3_ramdisk_replacer_for_CM12.1.zip
 ・CWM6-cDM_v2.5_vfix2_MultiRecovery.zip
 ・open_gapps-arm-5.1-pico-20151124.zip
 ・UPDATE-SuperSU-v2.46.zip
 以上をSDカードに保存してスマフォにセット

Android 5.1.1 lollipoop(CM12.1)のインストール
 1)SONYロゴが表示されている際にボリュームダウンキーを連打もしくは連続で押下。
 2)カスタムリカバリが起動するので、
  「install」ボタンを選択
   ・cm-12.1-20151020-UNOFFICIAL-hayabusa.zip
   ・TX.4.3_ramdisk_replacer_for_CM12.1.zip
   ・CWM6-cDM_v2.5_vfix2_MultiRecovery.zip
   ・open_gapps-arm-5.1-pico-20151124.zip   (picoは最小構成、microでも良いお好みで)
   ・UPDATE-SuperSU-v2.46.zip
   の順にセットしてインストール
  「Wipe->Advanced Wipe」
   ・chche,davik,dataをチェックしてwipe実施
  「Reboot->System」で再起動
 
以上でOK。一通り設定して区切りのいいところで、バックアップをとる。
動作は以前よりもサクサクと動いてます。

[追記]
Android5.1.1でGPSを全く掴まなくなった場合は、
 [設定]-[ストレージ]-[キャッシュデータ]をクリアーする。
↑でGPS復活しました。

APPサーバにGoogleアカウントでログインする。

よくサイトで、twitterアカウントでログインとか、facebookアカウントでログインとかありますが、「Googleアカウントでログインする」を実装中です。
google cloud platform上で完結するアプリだと凄く簡単なのですが、APPサーバが別サイトの場合、google cloud platform上でGoogle App Engineを利用したAPPを作成して連携させないといけません。
今回は、google cloud platform上でgoogleアカウント認証サーバを作成して、googleアカウントログイン中なら、ID,ニックネーム,メールアドレスを呼び出し元に帰り、ログインしていなければgoogleのログイン画面が出てログイン後に、呼び出し元に帰るようにしました。

※APPサーバとgoogleアカウント認証サーバの連携には、ワンタイムパスワードを連携させて他から接続できないようにする予定。

作ってみて気が付いたのですが、普通にこれを設置してURL公開して知らないユーザが、もしgoogleアカウントログイン中でアクセスしたら、ID,ニックネーム,メールアドレスがサイトオーナーに知られてしまいます。
(但し、知られるのはこの3種類だけでパスワードとかは、知られませんのでそこは安心して下さい。)

尚、google cloud platformは無料ではありません。有料となりますが、インスタンスとかチューニングして、課金されないようにします。(弱小サイトなので無課金でいけるかと思います。)

=メモ=googleアカウント認証サーバ(そんなに大したものではありません)==
google cloud platformの使い方、Google APP Engine Launcherの使い方とかは他のサイトで。

—————————-
 =メモ=googleアカウント認証サーバ(そんなに大したものではありません)==
google cloud platformの使い方、Google APP Engine Launcherの使い方とかは他のサイトで。
—————————-

<?php
require_once ‘google/appengine/api/users/UserService.php’;

use googleappengineapiusersUser;
use googleappengineapiusersUserService;

$user = UserService::getCurrentUser();
$login = UserService::createLoginURL($_SERVER[‘REQUEST_URI’]);
if ($user == null) {
       ob_start();
       header(‘Location: ‘ . $login);
       ob_flush();
}else{
$op = $_POST[‘op’];
       $uri = $_SERVER[‘REQUEST_URI’];
$userid = $user->getUserID();
$nicknme = $user->getNickname();
$email = $user->getEmail();
$str = $userid . “t” . $nicknme . “t” . $email . “t” . $op . “t” . $uri;
$sstr = var_serialize($str);

       echo “<html><head></head>”;
       echo “<body onload=’document.returnlogin.submit();’>”;
       echo “<form name=’returnlogin’ method=’post’ action=’https://xxxxx.xxxx/login.php’>”;
       echo “<input type=’hidden’ name=’fg’ value='” . $sstr . “‘>”;
       echo “</form>”;
       echo “</body></html>”;

}

function var_serialize( $obj ){
        //データを暗号化します。受け取り側は複合化する。
}

?>

これだけです。
APPサーバ側は、googleアカウントでログインしたい時は、googleアカウント認証サーバを
formでsubmitとすればOKです。
既にログイン中の時は、https://xxxxx.xxxx/login.phpに戻って来ます。

ログインしていない時は、googleアカウントログイン画面が表示され、
ログイン後、
に必要情報を付加して戻って来る。

Microsoft Azure Windows 2008 Server,SoftEther VPNサーバインストール手順・設定,スマフォ Android L2TP over IPsec VPN接続

け合って、スマフォからとあるサイトにアクセスするのに、米国経由の踏み台サーバが必要だったので、Microsoft Azure Windows 2008 Server(米国西海岸)で運用しているサーバにSoftEther VPNをインストールして、L2TP over IPsec接続できるようにしました。

※前回はLinux CentOS7にPPTPサーバをインストールしています。中国現地グレートファイーウォールを突破するのに利用。

====
1)SoftEther VPNサーバインストール・設定
2)Microsoft Azure Windows 2008 Serverファイアーウォール設定
3)Microsoft Azure 仮想マシンのエンドポイント設定
4)Android VPN接続設定
====

【Microsoft Azure Windows 2008 ServerにSoftEther VPNサーバインストール・設定】
 1) SoftEther VPN のダウンロード
    https://ja.softether.org/5-download
    ここから、ダウンロードして、言いなりにインストールして、後は管理マネージャーから設定する。
  途中、ダイナミックDNS機能の設定ダイアログとか表示されますが、固定IPで運用しているので
  スルー。(動的IPの方は、好きな名前.softether.netが割り当てできます。)

2) 管理マネージャーを起動しlocalhostをダブルクリック

 
  3) VPN Server”localhost”の管理画面が開きます。
  -1) 管理ポートのリスナーは複数ありましたが、5555以外削除しました。
  -2) 仮想HUBは何も変更していなければVPNという名前の仮想HUBができています.
    「仮想HUBの管理」を開いて、
      「ユーザの管理」でVPN接続したいユーザを新規作成する。ユーザ名、パスワードを設定
      「仮想NATおよび仮想DHCPサーバ機能」で「SecureNAT機能を有効にする」を押下
    -3) 「VPN Azure」は必要ないので無効にする。
    -4) 「IPsec/L2TP設定」
             L2TPサーバ機能を有効にする(L2TP over IPsec)にチェックを入れる。
       IPsec事前共有鍵は、適宜8文字程度に変更して設定。
【Microsoft Azure Windows 2008 Serverファイアーウォール設定】
 1) Windows ファイアーウォール設定でUDP 500,1701,4500を許可する。
【Microsoft Azure 仮想マシンのエンドポイント設定】
 1) Microsoft Azure 仮想マシンのエンドポイント UDP 500,1701,4500を割り当てる。
【Android VPN接続設定】
 1) VPN設定
  「設定」-「その他の設定」-「VPN」-「+」で新規作成
   名前:適当
   タイプ:L2TP/IPSec PSKを選択
   サーバアドレス:IPアドレスまたはFQDN
      IPsec事前共有鍵:SoftEther VPNで設定したIPsec事前共有鍵
  以上で接続できます。接続成功したらステータスバーに横鍵アイコンが付きます。
  接続中は全てVPNサーバ経由でアクセスされます。