LT(5分)

新卒1年目で対外活動に取り組んだらとても良かった話

ryu_develop 中山 龍

私は23新卒iOSエンジニアとしてChatworkに入社し、この1年で多くの対外活動に取り組んできました。
具体的には、

  • iOSDC 2023や自社イベント、名古屋のモバイル勉強会をはじめ複数のイベント登壇(計8回)
  • Chatwork初開催となるモバイルインターンの運営
  • 自分で企画・準備をした若手を中心としたモバイルイベントの開催
  • 技術ブログの執筆(8記事)
    などです。

対外活動に取り組んでみると「日々の自分の活動をふりかえることができる」「自分の知見を共有することでフィードバックや思わぬ意見から学びが得られる」「さまざまな経歴を持った社外の方々と交流ができる」など、良いことがたくさんありました。
そして、通常業務と並行して対外活動に取り組むことで、自然と「通常業務での学びをイベントでアウトプット」 → 「アウトプットへの反応からの学びを通常業務に活かす」 → 「通常業務での学びをイベントでアウトプット」 …といったようなサイクルを回すことができたり、対外活動の取り組みが評価され、社内のアワードを受賞することができました。

このLTでは、僕が新卒1年に取り組んできた対外活動の経験を交えながら、そこから得られた学びや通常業務への学びの活用を共有し、対外活動に取り組む良さを紹介したいと思います。

1
LT(5分)

アプリ審査の疑問解消!1 on 1 App Reviewコンサルテーションの始め方

ryu_develop 中山 龍

iOS開発者にとって避けて通れない「アプリ審査」。
リリースには「新しい審査基準で審査が通るのか」「どのようなことが確認されるのか」といった疑問を抱えることが多いのではないでしょうか?
そこで、Appleでは審査プロセスをスムーズに進めるために「1 on 1 App Reviewコンサルテーション」を実施しています。

このセッションでは、私自身の経験を基に「1 on 1 App Reviewコンサルテーション」の詳細とその活用方法を紹介します。
具体的な手順や注意点を共有し、iOS開発者がアプリ審査の疑問を解消する手助けとなることを目指します。

2
LT(5分)

Kotlin Multiplatform環境でOpenAPI Generatorを導入する

kumamushin1 村田 真矢

アプリ開発において重要な通信系処理ですが、OpenAPI Generatorを利用することで、OpenAPIのAPI定義書からクライアントコードを自動生成することができます。
このトークでは、OpenAPI GeneratorをKotlin Multiplatform環境で活用し、より効率的にアプリを実装する具体的な方法と工夫を紹介します。

以下のポイントに焦点を当ててお話します。

  1. Kotlin Multiplatform環境でのOpenAPI Generatorの設定と使用方法
  2. OpenAPI Generatorでクライアントコードを生成する上での工夫

Kotlin MultiplatformでAndroidとiOSの開発を効率化したうえで、更に楽に実装できるようにしていきましょう!

3
LT(5分)

Swift Macrosを活用したXcodeプレビュー上でのView Debugging

Scior Scior

Xcodeのプレビューは動作や表示を簡単に確認することができるため、UIKitやSwiftUIを利用した開発において非常に便利です。
一方、通常の実行時に利用できるCapture View Hierarchyなどのデバッグ機能や、サードパーティのデバッグ用ライブラリを使うことができないため、
プレビュー上では各Viewの位置やサイズの確認が難しいという課題があります。

本トークでは、プレビュー環境特有の制約を回避しながら、Swift Macrosを使うアプローチで、プレビュー上で動作するViewのデバッグ機能を実装する方法について説明します。

このトークで話す内容:

  • RuntimeでViewを辿る動的アプローチとコードに手を加える静的アプローチの比較
  • 現状のプレビュービルド時特有の制約
  • MemberMacroとSyntaxRewriterを利用したViewの加工
  • SyntaxとViewを紐付けるための実装の工夫
  • デバッグ機能の実装と動作デモ
1
LT(5分)

好きなSwift発表ドラゴン

Kyomesuke Kyome

好きなSwift発表ドラゴンが
好きなSwiftの言語機能を発表します

Swiftは2014年にWWDCにて発表された、Appleの開発するオープンソースのプログラミング言語です。
「モダン、安全、高速、インタラクティブ」を特徴とし、iOSやmacOSなどのAppleプラットフォームだけでなく、LinuxやWindowsでも利用でき、アプリケーション開発のみならずCLIやサーバーサイド向けのソフトウェア開発も可能です。現在はSwift 5までバージョンを重ねており、来るSwift 6にて大幅に機能が追加される見込みなど絶賛成長中の言語です。

本LTでは定番の言語機能から正式名称がわからない言語機能まで発表していきます。
Swift初心者の方からベテランの方までSwiftの素敵な言語機能を確認してSwift力を高めていきましょう!

3
LT(5分)

目まぐるしく変わるCI環境に合わせて、CI環境移行を容易にするMakefile

shichimi_0_o 山岸恵介

Swiftでのアプリ開発において、CI環境の構築や移行は大変です。しかし、Makefileを活用することで、その作業を簡単に行うことができました。
Swiftでのアプリ開発において、継続的インテグレーション(CI)環境の構築や移行は、多くの開発者にとって悩ましい課題です。特に、目まぐるしく変化するCIツールやプラットフォームに対応するのは容易ではありません。そんな中、Makefileを活用することで、この問題を驚くほど簡単に解決できました。
たとえば、以下のような内容をMakefileに記述しました。

makefile
test:
bash run_tests.sh

coverage:
bash run_coverage.sh

このように、テストやコードカバレッジの実行をMakefileで一元管理することで、CI環境の移行が非常にスムーズになりました。新しいCIツールに移行する際も、.ymlファイルのようなワークフローが記載されてるファイルを変更するだけで済むため、時間と手間を大幅に削減することができました。

この方法は、Swiftでのアプリ開発だけでなく、他の言語やプロジェクトにも応用できるため、CI環境に悩む全ての開発者にとって有益です。ぜひ、Makefileを活用して、より効率的な開発環境を構築してみてください。

LT(5分)

iOSエンジニアが知るべき生成AIの力 — Pull Request要約で言葉の壁を乗り越えろ

TRAsh___ Hiroya Hinomori

チームエンジニアリングでグローバルなメンバーと連携していると、どうしても言語の壁が辛いことが多々あります。そういった壁を今、勢いのある生成AIの力を使って乗り越えられるのではないか。
さまざまな手法を試しました。その中で特に効果的だったのが生成AIのPull Request要約ツールでした。

今回は数あるPull Request要約ツールの中の「PR Agent」を使って、グローバルメンバーとのGitHub上のコミュニケーションを円滑にした話をします。

セキュリティとか大丈夫なの?
Swiftに対応してる?
使うとどうなるのか?
でも生成AIって嘘つくんでしょ?
といったiOSエンジニアにとって気になるポイントを解説します。

このトークを通じて、生成AIがコーディング以外の場面でどのように活用できるかを知っていただき、チームのコミュニケーションがより円滑になる一助となれば幸いです。

1
LT(5分)

個人開発でも App Clip が使いたい!!

nnsnodnb Yuya Oka

App Clip を実装している個人開発者の方はいらっしゃるでしょうか?
業務開発でも App Clip の開発経験がなかった私ですが、どうしても App Clip の実装がしたくてどうにかしてやりたいと思っていたときにふと思いつきました。

「NFC タグに App Clipコードを印刷した紙を貼り付けて、アプリ布教用に実装できるのでは?」

実際に20時間程度で作ったアプリに App Clip を実装し、デバッグや App Store の審査も通したときの経験談をお話します。
また、ローカル体験や App Clip Code Generator の使い方、 App Store Connect 上での操作方法など、可能な限りを LT 形式でまとめて紹介します。

3
LT(5分)

SwiftでPlaydateのゲームをビルドしてネコを走らせる

Kyomesuke Kyome

Panic社のキャッチーな黄色い筐体のモノクロ携帯ゲーム機『Playdate』はご存知でしょうか?
組み込み言語のサポートにより、実はSwiftでこのPlaydateのゲーム開発ができます!

本LTでは以下の内容をさっくり伝えます。
・SwiftでPlaydateのゲーム開発をするための環境づくり
・PlaydateKitを用いたゲーム開発の仕方
・Playdateのディスプレイ向けの画像を用意する方法
・Playdateでネコを走らせるデモ

Playdateに興味があるけれどまだ手を出していない方、小型ガジェットなどのソフトウェア開発に興味がある方、普通のiOSアプリ開発には飽きてきて新しい刺激が欲しい方など、Swiftでのゲーム開発の世界を少し覗いてみませんか?

3
LT(5分)

SwiftでOpenCVに挑む

kntkymt kntk

有名な画像処理ライブラリの一つにOpenCVがあり、高速な画像処理を多数提供しています。
しかし、OpenCVはC++で書かれています。

そうです...。Swiftではないのです...。

このことに大変なやるせなさを覚えた私は、pureなSwiftで画像処理を記述しOpenCVにベンチマーク (実行速度)で挑みました。
CoreGraphicなどのライブラリも一切使いません。なぜならCoreGraphicの実装はObjective-Cだからです。
本当にSwiftのみを用います。

このLTではその一部始終を乗り越えた困難などを含めお伝えします。

3
LT(5分)

ユーザー毎にApp Storeのサブスクリプション無料試用の利用状況を判別する方法

SatoHikaruDev Hikaru Sato

サブスクリプションの無料試用の利用状況を判別するための具体的な方法を、アプリ側とサーバー側のコードを交えて説明していきます。

発表予定の内容:

  1. サブスクリプションの無料試用の判別方法

    • iOSアプリ側の実装方法
    • サーバー側の実装方法
    • シーケンス図を用いた処理の流れ
  2. 実際に起こったエラー内容と発生率

    • 主なエラーの種類
    • エラーの発生率とその対応方法
  3. verifyReceipt APIの不安定さに対する対策

  4. 開発中のsandboxアカウントでの確認方法

    • sandbox環境用のデバッグ機能実装
    • テストの際に注意するポイント
1
LT(5分)

祝10周年🎉 Swift 1.0 から 6.0 までの歴史を振り返る

treastrain treastrain / Tanaka Ryoga

あなたが Swift とはじめて出会ったときのバージョンはいくつだったか覚えていますか…?
私たちはそれぞれ異なるバージョンで Swift と出会い、その進化を目の当たりにしてきました。

Swift が一般に発表されたのは2014年の Apple WWDC。その後、Xcode 6 に搭載されて Swift 1.0 が私たちのもとへとやってきました。
モダンで安全、速くてインタラクティブであるとされ、プロトコル指向プログラミングの考え方を持ち、Objective-C との連係によって過去のコードとも共存できるなど、私たちはその魅力に取り憑かれました。

その後 Swift はオープンソース化、破壊的変更、ABI 安定、対応プラットフォームの拡大…… といった歴史を経ながら、「Swift らしさ」という概念も築き上げてきました。

そして2024年、Swift が10周年を迎える今年、バージョンは 6.0 に到達しようとしています。
この LT では Swift 1.0 から 6.0 まで、どのような変化を遂げてきたのかを一気に振り返ります。飲み物を片手に、みなさんと「あぁ、そんなこともあったなぁ!」と懐かしみつつ、みなさんと一緒に Swift の未来への期待を膨らませる時間にします。

10
LT(5分)

SwiftでWebサイトを作ってみよう

Ktombow1110 とんとんぼ

Ignite は Swift 製の静的 Web サイトビルダーで、表現力豊かでパワフルな API を提供し、あらゆるデバイスで優れた機能を発揮する美しい Web サイトを構築します。
HTML や CSS の知識がなくても、SwiftUI のような構文を使用して素晴らしい Web サイトを構築できます。

本 LT では、試しに iOS 関連のニュースを定期的に配信する Web サイト「iOS Osushi🍣」を Ignite にリプレイスする過程で得られた知見から以下のポイントについて解説します。

  • Ignite の基本機能と使い方
  • 初公開時から追加された新機能

このLTを通じて、Swift と Ignite を使った素晴らしい Web サイトを作る方法を学ぶことができます。

LT(5分)

始めよう!カンファレンス動画鑑賞会

hironytic ひろん

iOSDCをはじめとして、様々なテックカンファレンスが過去のトーク・セッションの動画を公開してくださっています。みなさんはそれらの動画をうまく活用できているでしょうか?

私たちは、そういったカンファレンス動画を少人数で集まって鑑賞する会を開催しています。1〜2ヶ月に一度くらいのペースで活動をしていて、開催回数は25回を超えました。わいわい楽しく開催するのに必要な十分な知見も溜まってきたので、その開催方法をみなさんに共有します。

誰にでも始められる再現性の高いものになっているので、ぜひみなさんも鑑賞会を開いてみてください!

  • なぜ鑑賞会をやるのか
  • 鑑賞会の具体的な内容を紹介
  • 開催を重ねて得られた様々な知見
    • つらい部分とその乗り越え方
    • あると便利なもの
    • 思わぬ相乗効果
3