コネヒト開発者ブログ

コネヒト開発者ブログ

コネヒトはiOSDC Japan 2023に協賛いたします!

こんにちは、iOSアプリエンジニアの@yanamura_です! 本日は、iOSアプリ開発者の祭典iOSDC Japan 2023に協賛するお知らせです。 コネヒトはiOSDC Japan 2023に協賛いたします! iOSDC Japan 2023に、シルバースポンサーとして協賛いたします。 iosdc.jp スポ…

ママリ iOSアプリの2023年3月現在の開発環境

iOS

2023年3月現在のママリのiOSアプリは開発環境について紹介します。 言語 100% Swiftで、以前はObjective-Cのコードもありましたが、全てSwiftに書き換えました。 iOSのサポート範囲 iOS14以上としています。4/10以降は14.5以上に変更予定です。(iOS14.0~14.…

ママリ iOSアプリのモジュール分割

iOS

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 ママリのiOSアプリでモジュール分割を行いましたのでその内容について記載しました。 なぜモジュール分割 目的としては大きく2つありました。 1つ目はApp Extensionsをつくるのを楽にした…

脱RosettaしてiOSアプリのビルド時間を短縮

この記事はコネヒトアドベントカレンダー2022の19日目の記事です。 こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 Apple Siliconを搭載したMacをつかって開発していますが、ママリのiOSアプリはXcodeではRosetta2上でしかビルドが通らず…

ママリへのSwiftConcurrencyの導入

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 Xcode13.2からSwift ConcurrencyがiOS13からでも使えるようになり、遅ればせながらママリのiOSアプリでSwift Concurrencyを導入してみました。 ママリのアーキテクチャ 現在ママリのiOSア…

Xcode14対応

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 ママリのiOSアプリでXcode14でビルドが通るように対応を行いました。そんなに大変ではありませんでしたが、多少修正するところがあったのでまとめてみました。 やったこと ライブラリのア…

コネヒトはiOSDC Japan 2022に協賛いたします!

こんにちは、iOSアプリエンジニアのyanamura(@yanamura_)です! 本日は、iOSアプリ開発者の祭典iOSDC Japan 2022に協賛するお知らせです。 コネヒトはiOSDC Japan 2022に協賛いたします! iOSDC Japan 2022に、シルバースポンサーとして協賛いたします。 ios…

HimotokiからSwift.Decodableに徐々に移行させる

iOS

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 コネヒトではAPIで取得したJSONをDecodeするのにHimotokiを使ってきましたが、Swift4でSwift.Decodableが追加されてからは新しいコードはSwift.Decodableを使っています。共存状態はのぞま…

GitHub ActionsのManual Workflowを使ってiOSアプリのバージョンをあげる

これはiOSアドベントカレンダーその2の3日目の記事です。 こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 2021年11月にGitHubActionsにmanual workflowが導入されました。これはなにかというとGitHub Actionsに入力値を指定して手動でト…

FloatingPanelに表示するViewをSwiftUIにする

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 コネヒトで開発しているママリのiOSアプリでもSwiftUIを使い始めました。 なるべく新しい部分はSwiftUIでつくっていくぞ!ということで、こちらのハーフモーダルの部分をSwiftUIで実装しま…

RxSwift 6.0の主な変更点

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 RxSwiftの6.0が公開されました。 公式のWhat's new in RxSwift6はこちらです。 What's new in RxSwift 6 ? - DEV Community 細かいdiffはこちらをご覧ください。 https://github.com/React…

iOS14からはaddTargetじゃなくてaddAction

こんにちは、コネヒトでiOSエンジニアをやっていますyanamuraです。 これは iOS Advent Calendar 2020 の 4日目の記事です。 TL;DR UIKitのUIControl系のView(UIButtonなど)ではタップ時のアクションをコードで実装するときは、標準のAPIだとaddTargetを用い…

TravisCIの料金体系の変更によるmacOSでのビルドへの影響(有料ユーザー向け)

2020/11/02からTravis CIの料金体系が変わりました。 blog.travis-ci.com 影響があるのは以下の4つ場合です。 Building on the macOS environment Building with more than 10 concurrent builds Building on a Trial Plan Building on a public repositorie…

コピペでできるGitHub Actionsでreleaseブランチのマージ、リリースノートの作成の自動化【git-flow用】

こんにちは、コネヒトでiOSエンジニアをやっていますyanamuraです。 iOSやAndroidアプリの開発だとgit-flowを使って開発することも割と多いのではないかと思います。 git-flowの場合releaseブランチをマージする場合はdevelopとmain/masterにマージする必要…

Sign in with AppleでのiOSアプリとサーバーとの連携

iOS

こんにちは!エンジニアの柳村です。 Twitterなどの3rd partyのログイン機能を提供しているアプリは6/30までに対応が必要です。(2ヶ月延期されましたね!) アプリ単体でSign in with Appleをできるようにするのはとても簡単です。しかし大抵のアプリの場…

Swift製CLIツールをMintを使わずSwiftPMで管理する

こんにちは!エンジニアの柳村です。 SwiftLintやSwiftFormat,XcodeGenといったSwift製のコマンドラインツールを管理するために、同じくSwift製であるMintを使っているのを割とよく見かけます。 Mintは便利ですが、Mint自体をなにかしらの手段でインストール…

iOSでWebThread関連のクラッシュが急増した件

iOS

こんにちは!エンジニアの柳村です。 9月末頃からママリのiOSアプリでWebThread関連のクラッシュが増加し、ときどき爆増するといった事が起こりました。 クラッシュレポートを調べてみると以下の3つクラッシュが多数発生していました。 Crashed: WebThread 0…

potatotips #64に参加・LTしてきました

iOS

こんにちは!エンジニアの柳村です。 2019/8/27に開催されたpotatotips #64 に参加・LTしてきました。 potatotips.connpass.com 今回の会場はReproさんでした。 代々木駅から出てすぐの好立地で、おしゃれな内装でしたよ(写真を取り忘れました・・ iOS関連…

swift-formatで自動コード整形

こんにちは!エンジニアの柳村です。 前回SwiftFormatの導入について紹介しましたが、今回はswift-formatについて紹介します。 ここではappleのほうのswift-formatの使い方を紹介していきます。ただこちらはSwift 5.1以上に対応しているので、Swift 5.0向け…

SwiftFormatで自動コード整形

こんにちは!エンジニアの柳村です。主にママリのiOSアプリの開発を担当しています。 今回はSwiftFormatの導入についてお話します 背景 コネヒトではSwiftはraywenderlichのswift style guideをコーディングのスタイルガイドとしてコードを書いています。 で…

読書会でチームの改善が捗った話

本記事はコネヒト Advent Calendar 2018の14日目のエントリーです! こんにちは!エンジニアの柳村です。 わたしの所属するチームではチームメンバー全員がスクラムマスターをできるようになろう!という目標でいろいろなことをやっています。その一環として…