Dbank0208
facebook twitter GitHub
Dbank0208

冬休みに実施すること





こんにちは、フリーランスエンジニアの永田です。


冬休みに実施するという事で、2つの課題を持っていました。

一つは自作MetalライブラリーでCPUとメモリーの使用が上がりすぎ、固まるという事象です。
もう一つは暗号化ロジックで、Python側の処理をhttpからhttpsに変更するという項目です。
結論からいうと、2つとも比較的すんなりできました。
MetalReFresh
こちらの変更点

commandBuffer.present(mtkView.currentDrawable)
↓
commandBuffer.present(mtkView.currentDrawable!.layer.nextDrawable()!)


ios11で使えていた。commandBuffer.present(mtkView.currentDrawable)は実施できなくなっていました。
ios11.2.1からは、commandBuffer.present(mtkView.currentDrawable!.layer.nextDrawable()!)こちらで動作しました。
ちなみに、実機の場合のみMetalは動作します。
Metalは今年の夏ぐらいから実施していますが、そろそろ3Dバージョンの実装もしようと思います。
取り組む項目の優先順位は、通信系やいろんなロジックを実施しているので、3D系からの実施はしないと思います。

RsaAuthentication


httpsではIPアドレスを指定してpost通信がiosではできないという記事が海外、日本でもほとんどでした。
逆に出来るという記事は、ほぼありませんでした。正確に指摘できている記事は最新系では一つもなかったと思います。
対応としては、githubのreadmeにも記載していますが、日本語でもこちらで解説したいと思います。
1. RsaAuthentication

をダウンロード、もしくはクローン
2. ターミナルで httpsServerの階層にいく。cd httpsServer
3. ターミナルで python cyrptoRSA.py 暗号鍵の生成
4. ターミナルで python openssl req -x509 -newkey rsa:2048 -keyout private-key.pem -out cert.pem -days 365 証明書の作成
5. ターミナルで 証明書の登録 ここでIPアドレスも設定します。
6. ターミナルで python httpsServer.py でhostを立ち上げます。
7. cert.pemを実機もしくは、シュミレーターにインストールします。
実機はメールで添付してインストールしました。シュミレーターはドロップです。
8. iphoneの設定->一般->情報->証明書信頼設定から SwitchButtonで 証明書を有効にします。
9. ViewControllerのこちらのメソッドでIPアドレスを設定します。実機の場合は、自身のIPアドレスになります。
let urlString = "https://localhost:8000/?\(txt.replacingOccurrences(of: " ", with: "+"))"

10. アプリを起動して暗号化の認証がhttpsのpost通信で実施できます。

出来ない、出来ない、という記事が多い中、
出来るだろという気持ちがあり、Appleの証明書の対応を確認して、この方法を見つけました。
冬休みの課題は速攻でクリアーしてしまったので、AWSのSDKなども実施しようと思います。


今年も一年ありがとうございました。来年も宜しくお願い致します。



AppStore リリースしているアプリの紹介

進捗カメラ

進捗カメラ

こちらは個人として5月にリリースしたアプリケーションで製作期間は約1ヶ月です。
機能は二つのカメラとアルバム機能、画像を他のアプリケーションと共有機能です。
一つ目のカメラは輪郭抽出です。二つ目のカメラは底辺、高さを計測します。
アルバム機能では画面のサイズと角度を計測できます。情報を他のアプリケーションと共有できます。

今後の予定


モバイルパワーと通信パワーが上がるにつれて、3Dプログラミングが増えてくるのはないかと考えています。
iosはさらに飛躍的なアプリケーションを作成するには、フルスタックエンジニアになる必要があると思ってます。
Swiftの基盤があるので、PHPもPythonも比較的にわかりやすいので引き続き頑張りたいと思います。




貴重な時間に、お読み下さいましてありがとうございました。