PIYO - Tech & Life -

Swift

バッテリー監視のMacアプリを作ったんだけど難しかった

久しぶりにMacアプリを作りました(5年ぶりぐらい)。難しかったです。 5年ぶりぐらいにMacのネイティブアプリ書いたけどさー、相変わらず情報なさすぎるしiOSの情報ばっか出てくるからググりにくいし、世の中のMacアプリ書いてる人はみんな天才なのかな?と思うよね — 大野ぴーちゃん (@pi_cha_n) April 26, 2020 Macbook Proをドッキングステーション経由 …

Hydraを使ってSwiftでPromiseする

これまでは問題なかったんですが、機能の追加でAPIリクエストを全部待ってから次の処理をしたくなりました。なのでPromise系のライブラリを導入して、きちんと待機することにしました。 Promise系のライブラリはいくつかあるようです。

iOSでデバッグ実行できないときにプリントデバッグする方法

iOSアプリの開発において、デバッガーをアタッチできないときのデバッグは骨が折れます。その最たる例がPush通知から起動するときだと個人的には思います。 アプリが起動していない状況から起動するときに挙動を検証する際には、そもそもアプリが起動しておらずプロセスが存在しないためデバッガーをアタッチすることもできません。

SwiftでJSのsetTimeoutみたいなことをする

iOSで仕方なく少し待ってから処理を実行するてのを時々やりたくなるんですが、毎度書き方を忘れるので、自分用にメソッドを定義して使っています。 どこかグローバルなところに定義しとくとアプリ全体で使えるので、AppDelegate.swiftの一番下あたりに定義を書いておきます。

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があります。 ドキュメントを読んでみて難しい部分があったので整理しておこうと思います。