アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

2025-01-01から1年間の記事一覧

Feature FlagとiOS/Swiftでの実装

こんにちは。開発部第一グループの吉田です。 未完成の機能をブランチにマージしながら安全にリリースを進めるために、Feature Flagを使用しています。Feature Flagを活用することで、開発中の機能を本番環境に含めたままリリースし、適切なタイミングで公開…

入社後3ヶ月研修を終えて🌈

こんにちは。開発部第一グループの田村です。 私は2025年7月にiOSエンジニアとして中途入社でアイリッジに入社しました。3ヶ月間の研修が終わりブログを執筆する機会をいただきましたので、3ヶ月間の研修期間で行ったことを交えつつ、アイリッジに入社して研…

iPhone 端末の暦法設定に注意されたし

こんにちは。開発部第1グループの涌井です。 今回は「iPhone 端末の暦法設定に注意されたし」と題しまして、普段何気なく書いているコードでも思わぬ落とし穴があるので、注意したいですよね。という内容でお送りいたします。 注 : 以降の文章では、「端末…

iOS/Swiftで端末ストレージ残量低下を検知して判定を出すにはどうしたら良いか

こんにちは。 開発部 第一グループ の杉田です。 今回はiOS端末において「端末ストレージ残量低下を検知して判定を出す」にはどうしたら良いか、という興味が湧きましたので実装してみました。 前提: 本稿は端末ストレージの残量を取得し、 “低下したか”を…

plistをシェルスクリプトの設定ファイルとして使う試み

こんにちは。プロダクト開発グループの斉藤です。 普段は iOS アプリの開発をしている立場ですが、運用やビルドのためにシェルスクリプトを書くことがあります。 その際に、スクリプトのための設定ファイルを作りたい場面などもよくあり、いつもであればJSON…

SwiftUI でアニメーション GIF を動かす

はじめに こんにちは。プロダクト開発グループの于です。 今回は、UIViewRepresentable で UIKit を活用し、SwiftUI でアニメーション GIF を動かす方法のご紹介になります。 Swift や SwiftUI では、標準で GIF アニメーションを再生できません。たとえば S…

Android 歩数計の実装方法を比較する

こんにちは。開発部第 1 グループの坪倉です。 Google Fit API は 2026 年に非推奨(廃止予定)となります。 また、2024 年 5 月 1 日以降は新規アプリで Google Fit API を登録できなくなりました。 これを踏まえ、代替となる 2 つの歩数記録方法 と、参考…

【Android16】大画面デバイスでscreenOrientationが無効になる!?

Android16リリース 2025年6月10日に Android 16(API レベル 36)がリリースされました。 これまでの慣例に従えば、新しいOSのリリースから約1年後には、Google Play ストアでの公開・更新において、targetSdk のアップデートが必要となります。 Google Play…

便利になった!? Background Tasks のデバッグについて

はじめに こんにちは。開発部第1グループの西岡です。 WWDC 2025 と猛暑で寝不足がちな6月に入りました。 今回は Background Tasks フレームワークを使ったバックグラウンド処理の実装に対するデバッグ方法について触れたいと思います。 なぜ今さらデバッグ…

AndroidのJetpackComposeで歩数計を実装してみた

こんにちは。 開発部第一グループの若松です。 Android アプリで歩数計を開発する機会があったので実装してみました。 歩数を取得する実装は SensorManagaer、ヘルスコネクト、Recording API などいくつかありますが、今回は SensorManagaer を使って、歩数…

【SwiftUI】UIViewControllerで設定されたナビゲーションバーのボタンを使う方法

はじめに こんにちは。開発部第1グループの高橋です。 SwiftUIは年々機能が拡充されていますが、まだUIKitと混在することもあると思います。 私は先日UIViewControllerの画面をSwiftUIのアプリに組み込む際、UIViewController側で設定されたnavigationItemを…

Swift CombineでのRunLoop.mainとDispatchQueue.main

こんにちは。開発部第一グループの吉田です。 SwiftのCombineでreceive(on:options:)メソッドはPublisherから要素を受け取るSchedulerを指定するために使用されますが、コードレビューやブログ記事のサンプルでRunLoop.mainとDispatchQueue.mainがScheduler…

定期社内勉強会を1年間主催してみた

こんにちは。プロダクト開発グループの中野です。 2024年3月から2025年3月まで、エンジニア向けの社内勉強会を隔週で主催しました。 勉強会で扱ったトピック、運営者として感じたことなどを共有します。 2024年3月~9月: 個人主催 開催の経緯 勉強会は私の個…

Network Link Conditionerで遅い環境をシミュレートする

こんにちは、開発部第一グループ、iOSエンジニアの西岡です。 今回はネットワーク環境をシミュレートするためのツールをご紹介します。 はじめに Network Link Conditioner とは なぜ低速の通信環境でもテストすべきか iOSで Network Link Conditioner を使…

【Android】久しぶりにAndroidアプリを実装してみた

こんにちは! 開発部第一グループの若松です。 Android/Flutterエンジニアとして働いていますが、最近はFlutterの開発が中心だったので、 研修の一環として久しぶりにAndroidアプリを開発してみました! 電車が好きなので、列車の位置情報をリアルタイムで表…

kotlinでバックグラウンドからフォアグラウンド復帰時に処理をする

こんにちは、開発部第1グループの岡田です。 1つのActivityに対して複数のFragmentを持つプロジェクトでバックグラウンドからフォアグラウンドへ復帰してきた際に処理を行いたい時に利用できる方法を紹介します。 今回は DefaultLifecycleObserver を利用し…

フリーランスエンジニアから正社員になってみた

2024年9月僕は7年間やってきたフリーランスエンジニアを辞め株式会社アイリッジに正社員として入社しました。 3ヶ月間の研修期間も終わり、ブログを執筆する機会をいただきましたので 自分がフリーランスから正社員となった理由、アイリッジを選んだ理由、ア…