BambooHero

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

2年放置してた個人アプリの開発を再開!iOSプロジェクトのもろもろ(Xcode、ライブラリなど)を最新化する

仕事が忙しいことを理由に個人アプリをずっとアップデートできず、気がついたら2年が経過。。 当時はXcode10で開発していましたが、いまではXcode12に。 最近仕事がちょっと落ち着いてきたので個人アプリの開発を再開しようと思い、まずは開発環境全体を最新…

雑多なメモ書きにCotEditorが便利なのでオススメしたい

今日やること、会議中のメモ、ちょっと調べたことなどをメモするのにCotEditorというMacアプリが超絶便利なのでオススメしたいです。 coteditor.com ちょっとメモするのに最適なアプリが欲しかった テキストエディットはショートカットで新規タブを開けない …

Google AdSenseの審査に一発で合格したので準備したことをまとめます

先日初めて自分のブログ(当ブログです)をGoogle AdSenseの審査に出し、見事一発で合格することができました! 本記事ではGoogle AdSenseの審査に向けて私が準備したことをまとめてご紹介します。 ブログ開設から審査合格までの期間 ブログ環境 審査提出時…

はてなブログをGoogleにインデックスしてもらうためにやったことまとめ

せっかく記事を書いても、誰にも見てもらえないのではモチベーションが続きません。 ブログをはじめてから毎日のようにアクセス解析のページを見てましたが、なかなかアクセスが増えないので、登録だけはしていたGoogle Search Consoleについて本格的に調べ…

iOSシミュレーターのフォルダ構成

iOSアプリでファイルを扱う処理を書くときに、iOSシミュレーターのフォルダ構成について知っておくと便利です。 本記事ではiOSシミュレーターのフォルダ構成について説明します。 iOSシミュレーターのフォルダ構成 iOSアプリのフォルダ構成については公式ド…

Xcode Couldn’t communicate with a helper application.

エラーの原因 対応方法 別の対応方法 エラーの原因 XcodeでAppleアカウントにサインインしようとしたら以下のエラーが出ました。 エラーの原因と対処法は色々とあるようですが、私の場合はXVim2を導入するためにオレオレ証明書でXcodeに署名し直していること…

iOS UIテストにおける要素検索のTips

iOSのUIテストを実装する上で有用な要素検索のTipsをまとめました。 要素検索APIのクラス構成を把握する UI構造のスナップショットを見ながら検索コードを書く NSPredicateを使った条件検索 まとめ 要素検索APIのクラス構成を把握する UIテストの実装に慣れ…

Xcode Test Plans(テストプラン)を使って実行対象のテストを管理する

開発プロジェクトが大きくなってくると、ユニットテスト、UIテストとテストの量がどんどん増えていきます。 特にUIテストは実行に時間がかかるので、Pull Requestが作成・更新されるたびに実行するのは現実的ではないケースもあります。 このため、Pull Requ…

XCUIApplication.launchArgumentsとArguments Passed On Launch

UIテスト時はアニメーションをオフにしたり、アプリ初回起動時のダイアログを非表示にするなどの制御をしたいとき、UIテストコード側で以下のように起動時引数を与え、アプリコード側でその引数を参照して制御を行うことができます。 // UIテストコード let …

iOSのDeployment Targetはプロジェクトとターゲット両方に値を指定しないといけない

現在開発しているiOSアプリには、メインターゲットに加えて複数のエクステンションターゲットがあり、それぞれバラバラのバージョンが指定されているなど整理されていない状態だったため、プロジェクトのDeployment Targetのみ指定する形に修正しました。 し…

BitriseのワークフローにiOS Device Testing(Firebase Test Lab)を組み込む前に、ローカルで実機テストする

Bitrise上でのビルドは、すんなりとはいかないものです。 以下の記事でワークフローにiOS Device Testingステップを組み込む方法について紹介したのですが、対象が巨大で複雑化したiOSアプリとなると、うまく設定したつもりでもなかなかビルドが通らなかった…

Bitriseを使ってFirebase Test LabでiOSアプリのUIテストを実行できるようにする方法

BitriseではFirebase Test Labを使ったiOSアプリの実機テストをサポートしています。 ここではその設定方法をご紹介します。 なお、ここではInitialコミット状態のXCodeプロジェクト(新規作成直後のプロジェクト)を使用します。 コード署名用ファイルのア…

XCodeのビルド、キャッシュ関連フォルダまとめ

iOSアプリ開発をしていると、急にビルドが失敗するようになったり、実機にアプリがインストールできなくなったりすることがあります。 そういうとき、DerivedDataフォルダを削除する良い、とか、XCodeのキャッシュを削除しましょうとかっていう記事を見て、…

GithubへのプッシュでBitriseのビルドがトリガーされない

トリガーの設定を何度やってもビルドが始まらず、なんでろうと思っていたのですが、Webhookの設定がされていないことが原因でした... 最初のアプリのセットアップでWebhookの設定の工程を飛ばしてしまっていたようです。 Bitriseでアプリを選択し、Codeタブ…

Bitriseでビルド&テストする前にローカルでビルド&テストをデバッグしたい

ユニットテストを実装し、ローカルでテストがパスすることが確認できた。 コードをプッシュしてBitriseでテストできるように設定しよう。 ...ビルドが失敗する。。 たぶんこの設定がおかしいんだな。もう一度プッシュしてビルド! ...ビルドが失敗する。。 …

iOS on BitriseでUIテストだけを実行するワークフローを作りたい

iOSアプリのプロジェクトにユニットテストとUIテストが両方あるのですが、1つのワークフローで両方を実行するととんでもなく時間がかかってしまうので、UIテストだけを実行するワークフローを作りたいと考えました。 もう少し具体的に説明すると、以下の2つ…

ゲーミングチェア(DXRACER)を自宅にインストールしたので早速レビュー!

完全リモートワークになってから丸一年が経過。 ニトリで買った数千円のイスで自宅でずっと仕事をしてきたのですが、なぜだか急に良いイスが欲しい気持ちが湧き上がり、深夜に2時間ほど調べて勢いでゲーミングチェアを購入しました!w (最近ミシミシと嫌な…

ドメイン駆動設計入門の「依存関係逆転の原則」についての話がわかりやすかった

ドメイン駆動設計入門のChapter7に出てくる「依存関係逆転の原則」についての話が個人的にわかりやすかったのでご紹介します。なお、コード例はSwiftで記述します。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.…

無分配型の投資信託を長期保有するなら、NISA口座使わなくてもいいよね?

手元に投資資金として100万円弱あり、つみたてNISA口座で投資信託を購入していこうとしているのですが、つみたてNISAは毎月の積立上限額が33,333円までと決められています。 そうなるとしばらくの間多くの投資資金を現金のまま眠らせておくことになってしま…

iDeCoのスイッチングにかかるコストってどのくらい?

S&P500連動インデックスファンドに切り替えたい これまでiDeCoはTOPIX連動インデックスファンドと外国株式インデックスファンドでポートフォリオを組んでいたのですが、NVICの奥野さんの記事や、バフェット太郎さんの書籍を読んでS&P500連動インデックスファ…

SwiftUIプロジェクトを作った後にAppDelegate起動に変更したい

XCodeでSwiftUIの新規プロジェクトを作ったときに、最初はLife CycleとしてSwiftUI Appを選択したけど、後々AppDelegateに変更したいことがありました。 SwiftUI Appを選択してプロジェクトを作成すると、xxxApp.swiftというファイルが作成されてそれがエン…

このブログで何を書いていくか

BambooHeroというブログを始めることにしました。 ブログ名にあまり意味はありませんw プログラミングを生業としているので、プログラミング関連の話題を主に書いていくことになると思います。 あと、最近株式投資に興味を持っていて勉強をし始めたところな…