iOS 課金 canMakePaymentsがfalseを返す時

課金ができる常態かをチェックするメソッドcanMakePayments

できない状態とはどういうときかというと
ペアレンタルコントロールで課金ができない状況のときである。

存在することは知っていたが、意図せぬ状態で設定してしまうこともあるのだろう。
なぜか課金できないとの問い合わせがあったときはこの設定を見てもらうのが良い。

設定→一般→機能制限の順にタップする

https://support.apple.com/ja-jp/ht201304

クレジットカードのセキュリティコード チェックなしのブランドもある!

クレジットカード決済時に入力するセキュリティーコード(CVV2ともいうらしい)であるが、
実はこれ全てのクレジットカードが対応しているわけではない
(いい加減な値を入れても決済時にチェックされないケースもある)

決済時のサイトの注意書きでは

「日本国内の全てのクレジットカード発行会社が、クレジットカード・セキュリティコード(CVV2/CVC2)対策を施しているわけではありません。」

とか

「クレジットカード会社によっては、セキュリティコードによる認証に対応していない場合があります。」

とか記載があるということは、カード発行元ごとに対応が違うのだろう。

手元で試す限りJCBは大丈夫そうだが、VISA発行元の二枚はいい加減なセキュリティーコードをいれても通ってしまった!

セキュリティーコード自体は単にカードに記載があるので、カード盗まれたらどっちにしようが不正利用される可能性がある。
上記の意味では気休め程度と思っておいた方が良い。

セキュリティを高めるのであれば3Dセキュアを導入するべきだろう。

MySQL テーブルを一部復活させる

MySQLでバックアップを取っていても、オペレーションミスは防げない。

間違って今朝あるテーブルを全件DELETEしてしまって真っ青に!

幸いにして早朝4時にバックアップが走り、mysqldumpしているファイルがあったのでそこから復旧させることに。
最初は簡単にテーブルのみを指定するオプションがあると思ったのだがそんなものはなかった。

しょうがないので巨大なMySQLファイルから目的のテーブルを探して、リカバリーすることに!

SH-M05 Suicaトラブル続く

GRATINA2を使っていた時はこのようなトラブルは皆無だったのだが、
SH-M05にしてからちょくちょくトラブルに遭遇する。
(スマホだから半分諦めているが)

まずは電源OFFであればSuicaは使えるのだが、中途半端に電源ONして起動中の状態(パスワード入力でブート待ちのとき)は使えないようだ。
改札にかざしても反応無しであった。

完全に起動すれば使えるはずだが、さすがに朝の改札で待っている余裕はなかったので物理Suicaで切り抜けた。

次は、地方のお土産やでSuica対応端末があったのだが、これまた読み取りエラー!
二度連発したので、さすがに他に切り替えようと思ったけど三度目の正直で成功。

お店ではあまり失敗したことがないので、IC共通端末の設定ミス(店員側の選択ミス)の可能性もあるかも??

メタデータリジェクト対応策 スクリーンショット

iOSのアプリは審査が厳しいが、ポイントを抑えれば審査落ちを避けることができる。

よくあるのはデザイン変更したリリースでも昔のスクリーンショット使っているとバイナリ審査に入る前に拒否される。

だいたい以下のような一文で始まる

We noticed that your screenshots do not sufficiently reflect your app in use.
意訳:アプリで使われている画面が十分に反映されたスクリーンショットではありません。

新しいアプリのスクリーンショットを取り直して再審査!

ジオトラスト改めデジサート発行のSSLを更新

約一年前に証明書がChromeで警告が出るようになるから、RapidSSLの証明書を無料で有効期限を伸ばした上で延長更新できたが、
なぜか有効期限まだ2年あるのに再び更新依頼がきてた。

これで3年期限で発行した証明書であるが、これが三度目の発行である。
やり方は昔のRapidSSLの方法と変わらず、管理画面からドメイン認証用のファイルをダウンロードして、特定のパスに配置する。

http://ドメインルート/.well-known/pki-validation/fileauth.txt

配置したら5分以内にクロールされてた。

追記:翌日になってもクロールが続いているので調べてみたら、なんと認証用ファイルが去年のものであった(去年も同じPC使っていたので)。クロールが60分に一回になっていたので、配置しなおし、8時50分にクロールされて、20分後に証明書発行のメールが来た!

CF-RZ5 Windows10 1804クリーンインストール後 絶好調

歴代ノートPCのなかで最も不安定であったCF-RZ5

突然マウスカーソルが消えてシステムの復元で復活させたり、
画面がいきなりちらつく、WIFIが使えなくなるなどじゃじゃ馬ぶりを発揮してきた。

そして工場出荷状態に戻そうとしてリカバリーパーティションまで消してしまってThe END

しばらくMint Linuxでしのいでいたが(デフォルトで無線LANも使えるので問題なかったのだが!)
やはりWindows10も試して見たくなり、18年4月の大型アップデートが出るのを待って適用!

するとどうだろうか!今までの不具合が嘘のように収まったのである!
ドライバーがだいぶこなれてきたのかな?

ちなみにアップグレートインストールはゴミが残るのでよろしくない!
クリーンインストールすべし!

CF-RZ5 突然カーソルが飛ぶ現象はタッチパッド

CF-RZ5で文章を入力していると時折カーソルがとんでもない方向へ行ったりすることが多かったが、3年目にして漸く謎が解明した。

どうもタッチパッドに手が不意に触れてしまうらしい。
タッチパッドが手の付け根など機敏に反応してカーソルを別のところに持っていってしまうという。

これCF-Sシリーズだと一段くぼんだホイールパッドになっているから発生しないのだけど、どうもCF-RZシリーズはそこらへんの設計がよろしくない。

ほかのタッチパッドPCでも起こりえそうなものだが、MACBookProだとキーボードから離れているからか発生したことはないな。

あまりに誤操作頻発するのでタッチパッド無効化してマウスに回帰しようか考え中。
昔からデスクトップでもTrackPoint付キーボードで、ノートではかさばるのでマウス使わずに、タッチパッドとかつかってた。

マウスなんて、6年ぐらい使ってないけど!

VMWare ESXi 6.5 on Shuttle XH110V

以前Desk mini 110にVMWare ESXi インストール成功&安定運用しているVMWare ESXi だが、今度はShuttleのXH110Vにインストールしてみた。

同じチップセットだから上手くいくだろうという見通し。

インストールにあたってはBIOSをUEFIブートにした。

インストール後にリブートして、IP V4の設定。しかしLANにつながらず
つながらない原因はNICが二つあって、右側だけを設定してたので右側につなぎなおした。
そしたら疎通確認完了。

LAN二つ設定もできるのかな?

GooglePlayのレシート linkedPurchaseToken について

定期購読時にキャンセルしたりアップグレードしたときに付与されるlinkedPurchaseTokenフィールド

発生するケースは以下の2パターン

サブスクリプションを購入後、期限前にキャンセルし、再び期限前に購入(1ヶ月のプランで、即日解約して、翌日買い直し)
サブスクリプションを購入後、別のプランにアップグレード

この場合にlinkedPurchaseTokenが以前のレシート情報を保持するtokenとなる(linkedPurchaseTokenは直訳すればつながれている購入履歴トークン)

以下GoogleのAPIページの意訳をしてみる。

For example, suppose a user originally signs up and you receive purchase token X, then the user cancels and goes through the resignup flow (before their subscription lapses) and you receive purchase token Y, and finally the user upgrades their subscription and you receive purchase token Z. If you call this API with purchase token Z, this field will be set to Y. If you call this API with purchase token Y, this field will be set to X. If you call this API with purchase token X, this field will not be set.

例えば、最初に購入したトークンをXとする。それをキャンセルしたのち、サブスクリプションの期限無いにもう一度購入するとトークンYが発行される。この後さらにプランをアップグレードするとトークンZが発行される。

トークンZでレシート検証APIを呼ぶと、linkedPurchaseTokenにはトークンYがセットされる。
トークンYでレシート検証APIを呼ぶと、linkedPurchaseTokenにはトークンXがセットされる。
トークンXでレシート検証APIを呼ぶと、linkedPurchaseTokenにはなにも設定されない。

IT Information