Citrus-Field TECH BLOG.

フリーランスのITエンジニア、iOSアプリの個人開発、業務委託(小売、ヘルスケア)を行っています。お仕事については、メールもしくはXのDMでご相談ください

Compose Multiplatformでのクリーンアーキテクチャとマルチプラットフォーム対応を確認した。

これまで、Compose Multiplatformを、 しっかりと使ったことがなかったので、今後のポテンシャルの知りたいと感じたので使ってみました。 今回は、Android、iOSだけですが、その他デスクトップ(Windows, macOS)の開発ができるため開発ツールなどの開発をKotl…

テスト駆動開発

テスト駆動では次のプロセスを何度も回します。 目標を考える 目標を示すテストを書く 実行して失敗させる(REDの状態) 目的のコードを書く(コードの汚さは関係なし) テストを成功させる(GREENの状態) テストが通るまでリファクタリングを行う テストに時間が…

【模索中】効率的な開発に向けたクリーンアーキテクチャの適用方法

もし、今現在、Swift用のクリーンアーキテクチャテンプレートを作るとしたらどんな感じになるだろうか 参考リンク一覧 最も影響を受けたもの。 github.com clean-swift.com medium.com qiita.com さっくりとした各コンポーネントの役割 Presentation Layer V…

MacのスクリーンショットをHEICからJPGに変更する

これだけ。 defaults write com.apple.screencapture type JPG

あれ?iOS18で仕様変化されている!と驚いたので変更点を書き出してみた。

なんだか、iOS18、iPad OS18のジェスチャー周りでハマったので、変更点を書き出してみた。 developer.apple.com 概要 iOS & iPadOS 18 SDK は、iOS & iPadOS 18 を実行する iPhone および iPad 向けのアプリの開発をサポートします。SDK は Xcode 16 にバン…

原点回帰

そーだいさんの書いたこの記事に刺激をもらった。 モバイルとバックエンドが近いというだけでなく、 なりたい明確な人物像を演じることが必要だ。 理想の自分を演じることで、理想に近づく メンターあるいはメンタルコーチはいるか。 疑うことを恐れていない…

シンプルなWatchOSアプリを作る

WatchOS用のミニアプリを作る、そのアプリでリューズの回転の使い方も解説します 今回はゼロから新しいアプリを作りたいと思います。 これから作るアプリのスクリーンショット SwiftUIで実装しています。WatchOSでは、iOSなどと比較し使用できるフレームワー…

テスト駆動開発で確実なロジックを設計、実装するための考え方

AndroidとiOSで、同一機能のネイティブアプリを開発する場合、AndroidとiOSのロジック(アーキテクチャのModel)は一致している必要があります。 アジャイル開発であっても、単体テストは、確実に漏れなく確認します。 正解はドキュメントでは無く、ロジック…

Figmaでデザイン、ワイヤーフローを作成しプロトタイプモードで画面遷移図を確認する

私は、Figmaでデザイン、プロトタイピング、VSCode連携、FigJamなど、なるべくFigmaで完結できるような環境を使っています。 ただし、開発モード(Dev Mode)は、時期尚早と判断し、まだ使っていませんが、今後の進化で有効となれば使い始めると思います。 …

iOS開発環境の構築を半自動化するヒント

環境構築めんどくさいですよね。 だからシェルを流してバババってやりたいと思っています。 osascriptとはAppleScriptを実行するためのコマンドです まずはカレントディレクトリでのシェル #!/bin/sh echo "\n**********************" echo "Xcodeのセットア…

(和訳)WWDC24 Day2-1 'Bring your app to Siri' (アプリをSiri対応にするための方法)

アプリをSiri対応にするための方法 www.youtube.com

Play Console 要件対応、D-U-N-S ナンバー登録を行う。

Androidアプリのリリースに、D-U-N-S ナンバー(DUNS ナンバー)が必要になりました。 詳しくは、以下に記載されています。 support.google.com これまでも、Apple Bussiness Manager対応などで企業様のD-U-N-Sナンバーを聞くことはありましたが、私のような…

モダンプログラミング言語 vs C言語 - シニアプログラマーの感じた違い

現役ソフトウェアエンジニアが、C言語と後発の言語と、どちらが大変か不毛な議論をしていたので、 現役プログラマー目線で比較してみるという不毛な検証をしてみた。 ただ、C言語の開発環境は無いので、現在でも見かける古いコードとモダンプログラミングの…

2023年12月Update : Apple Developer Programの証明書を作成する

Apple Developer Programの作成方法、Provisioning Profileの更新方法 Apple Developer ProgramとApple Developer Enterprise Programのメンバーに発行されるDeveloper ID証明書は、アプリを配信する際に使用する、配布用証明書の一種です。 Developer ID証…

本番環境でのLog収集を容易にするOSLogの使い方について

はじめに iOSのログは、古くから存在しますNSLogや、iOS14で導入されましたOSLogなどさまざまなものが存在します。 こういったログ収集はソフトウェア開発において重要な側面であり、開発者がアプリケーションの動作を理解します貴重な情報源です。 OSLogは…

Cyberduckで隠しファイル、隠しフォルダが表示されない時の対処方法

新規インストールしたCyberduckを使い始めて、リモートファイルの一覧画面に隠しファイル、隠しフォルダが表示されず、すぐには表示方法が分からなかった。 メニューバーより、[Cyberduck]-[設定]を開き、[環境設定設定-ブラウザ]タブの真ん中あたり、','で…

[長文注意!!」インボイス制度の適格請求書発行事業者番号を確認する方法

以前に行ったインボイス制度の適格請求書発行事業者番号を確認するためe-Taxのサイトに行ったところ、事業者番号に辿り着くまで、かなり大変だったので、その確認方法をまとめておきます。 なおインボイス制度の賛否などについては触れません。 請求書を送る…

[Swift][UIKit]Todoリストのチュートリアル。

現状、iPhoneアプリ開発を扱った書籍は、ほとんどSwiftUIを対象に書かれています。 実務ではSwift、UIKit、StoryBoardを使ったもの、場合によってはInterface Builderを使っている場合もあるかもしれません。 StoryBoardとSwiftUIどちらも使用できるようにな…

タブバーのカスタマイズ(ソースコード有り)

Swift、UIKit、Storyboardで、画面のUIを変更しやすくしたタブバーのチュートリアル動画です。 タブバーを使う場合、最初の実装の仕方で、その後の生産性が変わってきます。 今回は、年季の入ったiOSアプリのタブメニューの見た目を、タブ毎の大きさや、グラ…

Appleウェビナー「ヘルスケア/フィットネス カテゴリにおけるAppビジネスの可能性と Apple Watch の活用」の感想

2023年5月16日(火)午後2:00〜午後3:30 (日本標準時) Apple Developer Relations主催のウェビナー 「ヘルスケア/フィットネス カテゴリにおけるAppビジネスの可能性と Apple Watch の活用」 を受講しました。 あまり活用されていないかもしれませんが、Apple…

ポートフォリオ・実績を更新しました。

今までご覧になりにくい場所に掲載していた「ポートフォリオ・実績」を更新しました。 ご依頼される前にご覧いただけると幸いです。 https://yadorogi.github.io/

AWS Innovate - Data and AI/ML Editionを受講しました。

すこし前の話になりますが、 AWS Innovate - Data and AI/ML Editionを受講しました。 私はデータサイエンティストではありませんが、昨今の開発では CoreMLを使ったり、バックエンドでAWS側でML(機械学習)のモデルを使って、iPhoneやAndroidでデータを可…

Mac mini(M2チップ)を購入しました

開発機として、これまでインテルチップのTouchID付きのMacBookPro(2020)を使ってきましたが、ビルドの遅さが気になってきたので、新しいMac mini(M2チップ)を購入しました。 これまでのインテルはl,M1が並行して販売されていた時代のもので、M1ではDoc…

Console.appを触ったらXcodeのデバッグができなくなりました。

ログ取得に iOS14から使えるようになったOSLog()を使おうとし、Console.app をアタッチしたら、デタッチできなくなり、デバッグできなくなった。 環境がおかしくなった模様。 対策 iOSシミュレータのメニューより[Device]-[Erase All Content and Settings..…