PIYO - Tech & Life -

IOS

Swiftデバッグビルドでの最適化オプション

React Nativeで使うために高速フーリエ変換のためのコードをJSで書いていたんですが、色々とあってiOSネイティブで作り直してみるということがありました。 同様のコードをSwiftに移植して、さぞ速くなるだろうなーと思ったら激遅。JSだと1〜2秒ぐらいで終わっていた処理が6秒ぐらいかかるようになりました。

EasyImagyを使ってiOSでの画像の画素列を取得する

先日React NativeでやったことのiOSネイティブ実装版です。 React Native版はこれ↓ https://blog.piyo.tech/posts/2018-05-20-image-rgba-react-native/ んで、Swift版なんですが、いい感じに実装してくれているEasyImagyというライブラリを見つけたのでこれを試してみました。

iOSで画面表示されているUIViewをUIImageに変換する

iOSのUIをそのまま画像にする方法です。AVCaptureOutputで撮った写真と何かのViewを合成した画像を出したいみたいなときに使えます。 以下のコードでUIImageに変換ができます。ここでのViewは色々なSubviewなんかが入っている、画像として取り出したいViewです。

iOSのカメラでLightroomのように撮影条件を変更する

iOSのカメラというかAVFoundationにはAdobeのLightroomアプリのようにホワイトバランスやシャッタースピードなどをカスタマイズするAPIがあります。 ドキュメントを読んでみて難しい部分があったので整理しておこうと思います。

iOSのVisionフレームワークで顔のパーツ認識を試せるサンプルアプリ

iOS11から使えるようになったVisionフレームワークというのを使うとものすごく簡単に顔認識が可能です。裏ではCoreMLが使われているということで機械学習ベースの顔認識のようです。 ちょっと動かしてみようと思ったときに最適なサンプルアプリケーションをGitHubで見つけましたので紹介しておきます。おかげで同じようなことを実施するアプリを作るときの参考になりました。

自作SegueでViewControllerをdismissする

いやー、7年iOSやってても全然しらなかったんですが、Segueを自作するとちょっと便利ですね。 モーダルで開いたViewControllerを閉じるときにボタンを置いてコードを書くのは面倒だなーと思ってたんですが、閉じるボタンの操作をSegueで定義できます。

iOSでいい感じのアラートをサクッと出す

SCLAlertView-Swiftがサクッと使うのにいい感じです。 https://github.com/vikmeup/SCLAlertView-Swift 簡単ですが、使用例です。サンプルアプリにボタン3つおいておきます。 showSuccessで成功時のアラートが、showErrorでエラーじのアラートがそれぞれ出せます。他にも

fastlane/boardingでTestFlightのベータ版の配布ページが一瞬で作れた

社内用に作ったiPhoneアプリをメンバーに配るのにTestFlightのベータ配布を使いますが、いちいちメールアドレスを使うのが面倒です。Google Playにはオープンベータテストにしておくと参加用のURLから勝手に入ってもらうことができるのに、TestFlightはできないのかな、なんて調べていたら自分でホスティングすれば似たようなことを実現できることがわかりました。