dely tech blog

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

iOS

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 に勝てないのか

iOS

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

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

iOS

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のサブスクリプション機能 プロモーションオファーを触ってみた

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になるのか調べてみた

iOS

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

TRILLアプリのウィジェット設定方法

iOS

ウィジェットはiOS14以降で利用できる機能です。OSをアップデートのうえご利用ください。 また、App StoreよりTRILLアプリバージョン3.5.0以降にアップデートしてください。 設定方法 1. ホーム画面で何も表示されていない部分を長押しし、上部の+ボタンを…

社内ライブラリを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

こんにちは!クラシル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 で広がるデザインの可能性」というテーマで書いています。 dely.…

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

こんにちは!クラシル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実装をさぐる

iOS

こんにちは。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アプリがどのようなフローを経てストアに公開されているかをざっくりとご紹介したいと思います。 この内容が、同じ…

SRE育成プロジェクト(APOLLO計画)でアストロノート1号になってみた!!

iOSエンジニアの西川です! kurashiru(クラシル)のiOSアプリの開発を担当しています。 前回のdely engineering blogで紹介させていただいたAPOLLO計画にアストロノート一号として選ばれた僕がこの計画の感想を書いていきたいと思います。 未来のSREを最速で…