アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


iOSアプリで悪意あるユーザーに値を改ざんされないために

有料アプリなどを作っていると、脱獄などを行ったユーザーに値を書き換えられるとまずいことがあります。
対処法はざっくり3つかなと

ファイル暗号化

UserDefaultsを使用していると、iExplorerなどのアプリを使えばiPhoneファイルシステム内部を見ることができ、
脱獄してなくてもファイルの書き換えができちゃうみたいです。
保存する前にデータを暗号化すると良さそう。

Keychain accessを使う

UserDefaultsを使うのではなく、Keychain Accessを使うのもよさそう。
そもそもユーザーがアクセスできない領域のようなので安心。
だが、脱獄したiPhoneですらアクセスできないのかは未確認。
このへんの情報、ややディープなのでなかなか出てきません。
知ってる方いたら教えていただけると助かります。

keychain accessの詳しい解説

Cocoaの日々: [iOS] Keychain Services とは

重要な情報はサーバーに保存して都度問い合わせ

まぁこれが一番安心といえば安心です。

【Swift3】Boolのイニシャライザに色々渡すとどうなるか試した

試してみました。

Bool(1) # true
Bool("true") # true
Bool("1") # nil
Bool("t") # nil
Bool("a") # nil
Bool("True") # nil
Bool("1") # nil

Bool(0) # false
Bool("false") # false
Bool("False") # nil
Bool("0") # nil

Bool(2) # true
Bool(10000) # true
Bool(-1) # true
Bool(-10000) # true

Bool(nil) # fatal error

文字列の場合

“true” か “false” を渡すと初期化される。
それ以外はnilが返る。

数値の場合

0を渡すとfalseで初期化される。
それ以外はtrueで初期化される。

Serverlessフレームワークでテストを書く

2017/3/15追記

これが今のところベストプラクティスっぽい serverless.com


mocaとchaiで書くのがよさそう。

qiita.com

qiita.com

serverless 公式ブログでもmochaを使ったエンドポイントのテストが紹介されていました。

serverless.com

素晴らしくわかりやすいServerlessでTDDやろうぜのスライドを発見しました。

www.slideshare.net

mochaの使い方

Mocha - the fun, simple, flexible JavaScript test framework

lxyuma.hatenablog.com

参考URLあれば追記していきます。

スタバでWiFiに接続したのに「インターネットに接続できません」と出る時の対処法

StarbucksWiFiに接続したのに、ブラウザを立ち上げると「インターネットに接続できません」などの表示が出てインターネットができないことがあります。

そんなときは別のブラウザを立ち上げてみると繋がったりします。

自分はChromeを使っているので以下の方法を試すようにしています。

  1. Cmd + Shift + N でシークレット・ウィンドウを立ち上げる

  2. それでもだめならSafariを立ち上げる

これで自分の場合は100%つながります。

「インターネットに接続できません」などの表示が出て困ったら試してみてください。

lambdaをフロントエンドjsから直接実行したい

フロントエンドのjsから直接lambdaを実行したいなと考えておりました。
AWS API Gatewayを使ってもいいのですが、lambdaなどの料金に対してAPI Gatewayの料金はやや割高に感じていて、
できればlambdaを直接叩きたいなと。

結論。できるみたいです。
ただしjsのみで実装しようとするとキーとシークレットをjsにハードコードしないといけなくなるので
CognitoかWeb Identity Federationを使わないといけないみたいです。

参考

dev.classmethod.jp

Unityの画面録画機能つくりたくて調べたことまとめ

uRecord

プラグイン「uRecord」を使用。
マシンスペックに依存しない書き出し方法なのでコマ落ちの心配がなさそう。
連番静止画を書き出すだけなので動画作成にはffmpegを使っている。

psychic-vr-lab.com

Texture2DのReadPixels

サイズの指定ができる模様。
ffmpeg必須。
csldevlog.blogspot.jp

windows限定 Asset Store

こんなのも。権利関係が面倒そう?

github.com

www.f-sp.com

everplay

動画をWEBに共有する。導入がかなり簡単みたい。 tsubakit1.hateblo.jp

SpriteKit + ReplayKit

UnityじゃないけどiOS向けのSpriteKitはReplayKitってのがついてて、録画が簡単にできるっぽい?

stackoverflow.com

MacBookProタッチバーが効かなくなった時

結論

Macを再起動すればOK。

経緯

壊れたのかと思って焦ったのでいつかどなたかのために事象の共有を。

タッチバーのボリュームボタンと明るさボタンが突然効かなくなってしまいました!!!
ミュートボタンは効くんだけど、他2つのボタンは押してもスライダーが出てこなくなってしまいました。

しかし、再起動したら即なおりました。よかった。