BambooHero

iOSアプリ開発と株式投資をメインに色々書きます

UIViewRepresentableなビューにTCAを組み込むべきか?

まだSwiftUIにはUITextView相当のものが用意されていないので、UIViewRepresentableを使ってUITextViewをSwiftUIビューで使用できるようにしています。 さらに、自分が関わっているプロジェクトではThe Composable Architecture(TCA)を採用しているのです…

slatherでiOSアプリのカバレッジを可視化する

Xcodeだけでもカバレッジの数値を見ることはできますが、特定のディレクトリやファイルをカバレッジ対象から除外するなどといった細かいことはできません。 最近業務でiOSアプリのリアーキテクチャを進めているのですが、旧アーキテクチャではテストを全く書…

燃え尽き症候群の治し方

新しいプロジェクトが始まり、どういうアーキテクチャにしようか、どういうライブラリを使おうかと考えることにワクワクする日々。 より良いものを作ろうと、寝る間も惜しんでコードを書いては直し書いては直しを繰り返す。 タスクが山積みの状態、それでも…

MintでインストールしたパッケージをBitriseにキャッシュさせる方法

iOSのプロジェクトにSwiftLintを導入していて、SwiftLint自体はMintでインストールしています。 Bitrise上でSwiftLintを実行するためにはビルド前にSwiftLintをインストールしておく必要があるため、Xcode Test for iOSステップの前にScriptステップを配置し…

Github CLIで「直近24時間以内に更新されたPR」を抽出する

Github CLIはGithubに対する様々な操作をコマンドラインから実行できる便利なツールです。 最近自分が関わっているプロジェクトで「直近24時間以内に更新されたPRの番号とブランチ名の一覧」を抽出してバッチ処理をしたいという要件があり、Github CLIを使っ…

Bitriseで前のステップが失敗した場合にだけステップを実行する方法

Bitriseで前のステップが失敗した場合にだけステップを実行する方法についてご紹介します。 例えばこんなワークフローを作成します。 Scriptステップ ここではexit 1を実行し、ステップを失敗させます Comment on GitHub Pull Requestステップ① 前のステップ…

EvernoteからNotionへのデータインポートをやってみたので手順をご紹介します

かれこれ10年くらいEvernoteを使ってきたのですが、昨年の日本でのNotionの盛り上がりをうけて私もNotionを使い始め、そこまで使いこなせてる感はないものの、Markdownで書けることやページの構造化がやりやすいといった点が好きですっかりNotionユーザにな…