dely Tech Blog

クラシル・TRILLを運営するdely株式会社の開発ブログです

iOS

クラシルリワードでインタラクティブアニメーションツールの Rive を導入しました

クラシルリワードの魅力的なキャラクターをいきいきと動かすためRiveというインタラクティブアニメーションツールを導入しました

potatotips というテック系イベントでHealthKitの権限に苦労した話を発表しました

クラシルリワードの新卒2年目iOSエンジニアが勢いで potatotips というイベントに登壇しました。参加経緯とCoreMotion・HealthKitの権限取得についてまとめました。

クラシルリワードにおける自動テストツール MagicPodの導入事例

クラシルリワードに自動テストツールとしてMagicPodを導入したことについて紹介してきます。

iOSDC 2023に登壇しました & 社内で聴講した内容の共有会を行いました

iOS

iOSDCについて iOSDCは公式ページによると、 iOSDC Japan 2023はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。 と紹介されており、日本最大級のiOS関連のカンファレンスと知られています。 iOSDC 2023では1,409枚のチケッ…

クラシルiOSアプリのリニューアルと新卒iOSエンジニアの奮闘🔥

2022年12月にアプリリニューアルしたクラシルiOSアプリ。その開発裏側では新卒iOSエンジニアが奮闘していました。カラー・タイポグラフィの変更、独自アイコンへの差し替へについてプラクティスを紹介しています。

Swift Package Managerを活用したクラシルリワードのiOSアプリ構成

Swift Package Managerを活用したクラシルリワードのiOSアプリ構成について紹介していきます。

Google Mobile Ads SDKを使用した広告の実装において役立つTips

はじめに こんにちは!クラシルiOSエンジニアの中川です。 今回はGoogle Mobile Ads SDKを使用した広告の実装において役立つTipsをいくつかご紹介しようと思います。 テストモード テストモードは、本番環境の広告を表示する代わりに、テスト用の広告を表示…

クラシルiOSにおけるSwiftUIの実装方針

こんにちは、クラシルiOSのEMの@RyogaBarbieです。 2021年のSwiftUI 3、2022年のSwiftUI 4からSwiftUIを本番で使用するアプリも増えたのではないかと思いますが、 クラシルでも新規開発される画面では積極的にSwiftUIを使用していこうという流れになっていま…

SwiftUIをクラシルに導入した話

SwiftUIをクラシルに導入した話 こんにちは。これはdely アドベントカレンダー10日目の記事となります。 今年も残りあと少しとなりました。クラシル開発部でiOSエンジニアをしている@yochidrosです。 前回はharry(@gappy50)さんのクラシルでのSnowflakeデー…

Xcode13のConcurrency関連の新機能を使ってアプリを作ってみた

iOS

iOSエンジニアの石田です。 WWDC2021では、ConcurrrencyにまつわるSwiftの新しい文法やSwiftUIの新しいViewが紹介されました。 本記事では、それらを使ったアプリを作りながら、新機能を紹介したいと思います。 作るアプリは、GitHubのAPIを使って、ユーザの…

2段階認証 (TOTP) をSwiftで実装してみる

iOS

TRILL開発部の石田です。 2段階認証の設定で、QRコードを読み込んで30秒ごとに変わる6桁の数字が生成される、という仕組みをよく見かけます。 今回はSwiftでその2段階認証の仕組みを実装してみました。 2段階認証 (TOTP) とは 2段階認証にはいくつか種類があ…

なぜ MVVM + FRP は Elm Architecture に勝てないのか

こんにちは、delyでクラシルiOSアプリ開発を担当している稲見 (@inamiy)です。 この記事は「dely #2 Advent Calendar 2020」の25日目の記事です。 dely #1 Advent Calendar 2020 dely #2 Advent Calendar 2020 昨日は、delyのSREチームのjoooee0000(高山)さ…

Xcodeプロジェクト管理ツール「Tuist」を試している

delyコマース事業部のJohnです。 この記事は「dely #1 Advent Calendar 2020」の20日目の記事です。 今回は、iOS開発で使っている「Tuist」というツールを紹介したいと思います。

Xcode OrganizerのScroll Hitch Rateについて

iOS

TRILL開発部の石田です。 2020年9月にXcode12がリリースされ、Scroll Hitch Rateという機能が追加されました。 今回はこの機能について紹介します。 Xcode Organizerとは Xcode Organizerについて、Appleのドキュメントでは以下のように説明されています。 A…

iOSのサブスクリプション機能 プロモーションオファーを触ってみた

こんにちは! dely で iOS エンジニアをしている nancy です。 はじめに この記事は「dely #2 Advent Calendar 2020」の15日目の記事です。 adventar.org adventar.org 昨日はクラシルのフロントエンドを担当されている しらりん さんの「ウェブの未来を描く…

Carthageで生成したframeworkの管理でRomeを導入してみた

はじめまして、dely開発部のfunzinです。普段はクラシルのiOSアプリ開発を担当しています。 この記事は「dely #1 Advent Calendar 2020」の13日目の記事です。 adventar.org adventar.org 昨日はbababachiさんのコンテナサポートされたLambdaで湯婆婆実装し…

KMMでiOS・Android
を共通化しよう

こんにちは! dely開発部でiOSエンジニアをしている@yochidrosです。 この記事は「dely #2 Advent Calendar 2020」の11日目の記事です。 adventar.org adventar.org 昨日は@_kobuuukataさんの開発者向けのオンラインイベントを開催してわかった7つのポイント…

RenovateをiOSアプリ開発に導入してみた

はじめまして、dely開発部のfunzinです。普段はクラシルのiOSアプリ開発を担当しています。 この記事は「dely #1 Advent Calendar 2020」の4日目の記事です。 adventar.org adventar.org 昨日はMeilCliさんの【C#】null許容値型のnonnull判定どれが早いかク…

Swiftで1+1が何故2になるのか調べてみた

TRILL開発部の石田です。 この記事は「dely #2 Advent Calendar 2020」2日目の記事です。 dely #1 Advent Calendar 2020 - Adventar dely #2 Advent Calendar 2020 - Adventar 昨日はsacoさんの記事「ノンデザイナーでも大丈夫!見やすいプレゼン資料をつく…

社内ライブラリをSwiftPMに対応させる

TRILL開発部の石田です。 TRILLでは、Swagger Codegenで生成したAPIクライアントライブラリを使ってサーバと通信しています。 このライブラリはGitHubで管理しており、Carthage経由で利用しています。 Xcode11からSwift Package Manager (以下SwiftPM) がサ…

TRILLアプリでiOS14のWidgetに対応しました & Tips集

TRILL開発部の石田です。 TRILLでは、ver.3.5.0でiOS14で新しく登場したWidgetに対応しました。 もともとToday Extensionには対応していたのですが、Widget Extensionは新しい機能ということでデザインや実装を見直しました。 Widget自体はWidgetKitフレーム…

“ダーク“な2019年

こんにちは!クラシルiOSアプリを開発しているknchstです。 この記事は「dely Advent Calendar 2019」の 21 日目の記事になります。 qiita.com adventar.org 昨日は Android チームの tummy による「何もわからない状態からいち早く脱するためのコードリーデ…

Combine と RxSwift を比較してみた

こんにちは! dely 株式会社で iOS を担当している nancy こと仲西です。 本記事は dely Advent Calendar の11日目の記事です。 qiita.com adventar.org 昨日は小林さんが「UI デザイン × PdM で広がるデザインの可能性」というテーマで書いています。 https…

宣言的UIフレームワーク 「SwiftUI」と「Flutter」を比較してみた

iOS

こんにちは!クラシルiOSアプリを開発しているknchstです。 昨今のモバイルアプリケーション開発では様々な要件があり、それらを満たすよう実装するには数々の苦難がありました。その一つとしてUIの状態、所謂State管理が難しくなってきています。ネットワー…

iOS版クラシルのフィードを滑らかな動きにするためにやったこと

こんにちは、iOSエンジニアのtakao(takaoh717)です 今回はクラシルiOSアプリのフィードのパフォーマンス改善を行った話をご紹介します。 改善を行ったフィードはUICollectionViewで構成されており、レシピ、画像バナー、広告など複数の異なる型のデータを…

Xcode11でデバッグ機能がいい感じにアップデートされたので紹介

iOS

こんにちは!クラシルiOSアプリを開発しているknchstです。 6月のWWDC19はSwiftUIなどのサプライズもあり、とても盛り上がりましたね!様々なセッションがあったのですが、個人的にいいなと思ったのがXcode11のデバッグ機能についてです。 この記事では以下…

Firebase Test labでiOSアプリのUnitTestとUITestを行う

こんにちは!クラシルのiOSアプリ開発を行っているtakaoです。 今回はiOSアプリのテストの実行に関する内容です。 現在のクラシルのテスト運用は、Bitrise上でfastlaneのrun_testsというActionを使ってテストの定期実行を行っていますが、結果の確認がしやす…

エンジニアがCSと上手く連携するためのコミュニケーション

こんにちは、delyでiOSエンジニアをしている堀口(@takaoh717)です。 今日は、普段僕が行っているCS(カスタマーサクセス)担当者との取り組みについてご紹介しようと思います。

AppleのUI実装をさぐる

こんにちは。delyデザインエンジニアのJohn(@johnny__kei)です。 本記事はdely Advent Calendar 2018の10日目の記事です。 Qiita: https://qiita.com/advent-calendar/2018/dely Adventar: https://adventar.org/calendars/3535 前日は、プロダクトデザイナ…

iOS版クラシルの開発からリリースまでの流れ

この記事はdely Advent Calendar 2018の7日目の投稿です。...今回は、delyが運営しているレシピ動画サービス「kurashiru(クラシル)」のiOSアプリがどのようなフローを経てストアに公開されているかをざっくりとご紹介したいと思います。 この内容が、同じ…