ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

【Xcode16】【iOS18】UIViewControllerを継承したクラスの同期的な静的メソッドを非同期呼び出しするとクラッシュする問題の解決

はじめに 実行環境 発生した事象 調査内容 パターン1. @MainActorを付与した自作クラスを使用する場合 パターン2. @MainActorを付与した自作クラスを継承したサブクラスの場合 パターン3. @MainActorを付与したベースクラスを外部モジュールで定義し、それを…

AndroidのSDKアップデートに伴う自動テスト祭り2024

ども。LDIの仙波です。 スマホアプリの自動テストを担当しています。 久しぶりの記事投稿となります。 毎年の恒例行事としてAndroidのTarget SDKのアップデートがあります。 この時期は保守メンバーが特に多忙になりますが リグレッションテストを担うテスト…

iOSエンジニアの挑戦:iPhone端末カメラ問題の解決

はじめに iOSエンジニアの譚です。 今回は開発中に遭遇したiPhone端末のカメラピント問題とその対応について紹介させていただきます。 開発環境 Xcode 15 iOS 17 iPhone 12 Pro Max, iPhone 15, iPhone 15 Pro Max ピント問題とその対応 今回発生した問題は…

FigmaのDevMode新機能、アノテーションを使ってみたら便利だった話

こんにちは、デザイナーの松本です。 先日アップデートされたFigmaのDevModeの新機能、アノテーション(測定・注釈)を早速使ってみて、便利だなぁ〜!と思わずブログを書いてしまいました。 Figmaとはブラウザ上でUIデザインやWebデザイン、グラフィックデ…

Cloud Functions でのJWT対応方法の紹介

ローソンデジタルイノベーション(LDI)のiOS/Android開発マネージャーの阪口です。 今回は、Cloud Functions でのJWT(JSON Web Token)を利用した認証処理について紹介します! はじめに 前回こちらの記事で、Cloud Functions と Cloud Firestore の社内利用…

FlutterとDartを使ったAPI通信の実装方法

こんにちは、LDIのモバイルアプリエンジニアの庄司です。 前回に続き、在宅勤務報告システムの開発にまつわる話をしようと思います。 在宅勤務報告システムではhttpパッケージを使って、APIの呼び出しを実装しています。 今回はAPIへのリクエストとレスポン…

Firebase Auth×Microsoft Entra ID×Microsoft Graphで認証処理を実装した際にちょっと困ったこと

ローソンデジタルイノベーション(LDI)でPMを担当している畑沢です。先日、下記記事にて在宅勤務報告システムについてご紹介しました。 techblog.ldi.co.jp今回は、Firebase Authentication × Microsoft Entra ID × Microsoft Graphを利用した認証処理と、実…

Flutterで環境ごとにビルドする方法

はじめに ビルド環境を切り替えて開発する方法について --dart-define-from-file 環境変数定義(json) 実行方法 ソースコード側の対応例 在宅勤務報告システムで工夫したこと 最後に はじめに こんにちは、ローソンデジタルイノベーション(LDI)でiOSエンジニ…

失敗から学んだ、Flutterでテキストボックスの状態に合わせてボタンの活性状態を制御する方法

はじめに こんにちは、Android開発エンジニアの岡田です。 普段はAndroid開発を行っていますが、今回はFlutterで在宅勤務報告システムを開発した時の出来事を記事にしていきます。 テキストボックスの状態によって、ボタンの活性/非活性を制御する方法につい…

(iOS) Alamofire + Swift Concurrency でのAPI通信処理の実装例

ローソンデジタルイノベーション(LDI)のiOS/Android開発マネージャーの阪口です。 開発しているアプリのAPI通信処理は、Alamofire を利用して実装しています。 通信処理部分をSwift Concurrency に対応したため、今回はどのように実装したか紹介します! 通…