このセッションでは、継続的デリバリーの理想と現実の狭間で、マンガアプリのリリースプロセスに刻まれた
「シュプール」(雪面に残る軌跡) のような、私たちの改善の歩みを実例とともにお伝えします
個人開発アプリでの具体的な経験に基づき、高評価レビューを増やしつつ低評価レビューを効果的に回避するための実践的なApp Storeレビュー戦略について解説します。
潤沢な広告費を持たない個人開発者にとって、App Store Optimization (ASO) はアプリ成長の生命線であり、中でもユーザーレビューはApp Storeにおける検索順位やダウンロード数に絶大な影響を与えます。
本セッションでは、リリース後7ヶ月で10件程度だったレビューを、わずか4ヶ月で170件に増加させ、さらに平均評価を4.5から4.7へ上昇させた成功事例を元に、その秘訣を余すことなく共有します。
具体的には、適切なレビュー訴求のタイミング、ユーザーの感情に応じた分岐、そしてフォームを活用したフィードバック収集と迅速な対応フローを通じて、App Storeの低評価を回避し、平均評価を向上させる方法をデモを交えてご紹介します。
これは、App Storeでの検索順位上昇にも寄与し、自然流入を強化することで、長く愛されるアプリを作るための重要な戦略となります。
私たちが日常でよく目にするバーコード。その裏には、見た目ではわからない微妙な規格の違いが潜んでいることをご存知ですか?
本 LT では、 STORES レジアプリの開発中に直面した「Vision フレームワークが 12 桁のバーコードを 13 桁として認識してしまう」という現象をきっかけに掘り下げた、バーコードの規格と Vision フレームワークの仕様について紹介します!
この現象により、 12 桁のバーコードで登録されている商品をスキャンしても、ヒットしないという問題が発生しました。
Apple の公式ドキュメントでは明示されていない現象で、「なんでや!」と言いたいところですが、バーコードの規格をよく見ると、Vision フレームワークはその規格の性質を利用して、認識していたことがわかりました。
(Google の API はちゃんと認識できるんだけどな…)
本 LT では、以下の内容について話します。
1 桁の違いがオペレーションを止めてしまう、現実世界とアプリを繋ぐアプリならではの知見を共有します!
皆さんもバーコードマスターになりましょう!
本セッションでは「あすけんiOSアプリ」における実践事例をもとに、テスト戦略をどう立て、どう現場に根づかせたのかを紹介します。
当社では、テスト運用が属人化していたり、テストが不足していたり、テスト書くこと自体が目的になってしまっていました。
ただ、ユニットテスト、UIテスト、E2E、さらにはスクリーンショットテストとCI/CDの連携など、全部網羅的にやることは現実的ではないです。
そのため、今の自分たちにとって、本当に必要なテストだけを選び取り、属人化を減らしてチーム全体で理解・運用しやすいテスト戦略を目指しました。
昨今の生成AIとの協働も考慮しつつ、テストの設計や現場で工夫したことなど、運用を見直すヒントを提供します。
例えば、AIを活用して、ユニットテストのコードを生成する取り組みなどをやりました。
ただし、試行錯誤は続いているのでうまくいっていない部分も語っていきたいと思います。 「テストはあるけど、なんとなく不安」「CIが形骸化している」「リリースのたびにUI崩れが怖い」
そんな現場にとって、戦略的にテストを設計・運用する事例や考え方を提供する内容になっています。
アジェンダ
去年 WKWebView 関連の開発をするとき、どうしても解決できない問題を発見しました。
当時作った issue: https://bugs.webkit.org/show_bug.cgi?id=274818 (クリックがランダムで反応しなくなる問題。)
それを頑張って調べて、WebKit のバグだと確認し、WebKit の Bugzilla に提出しました。
WebKit の開発者から、それはすでに別の PR で解決されていると言われ、でも再現できませんでした。
色々試した結果、それは WebKit のテスト用スクリプトに問題があると判明しました。
このスクリプトは、ローカルでコンパイルした WebKit を既存のアプリに取り込んで実行するスクリプトです。
実行する際、必要な環境変数の設定に失敗して、アプリは古い WebKit のままで実行されます。
このバグは将来 WebKit の修正に取り組む皆に影響するので、私は新しい Issue を作って、PR を出して、マージされました。
https://bugs.webkit.org/show_bug.cgi?id=275207
(SIP環境でDYLD_FRAMEWORK_PATHが設定できない問題)
https://github.com/WebKit/WebKit/pull/29578
この LT は、この問題発見から PR を出した流れとその中の面白いところを話します。
iOS 13からUIFontPickerViewControllerが利用できるようになり、アプリ内でフォントピッカーを提供したい場合に簡単に実装を行うことができるようになりました。
またFonts capabilityによってカスタムのフォントも利用できるようになりました。
しかし、これらの仕組みは任意のフォントを自由にシステムにインストールできるというものではありません。
そのため、ユーザーが用意したフォントをアプリ内で利用できるようにするためには、アプリごとにフォントローダーやフォントピッカーを用意する必要があります。
この記事では以下のような内容を紹介します
皆さんはIn-App Purchases(以下IAP)を提供するサービスに関わっていますでしょうか?
IAPによってサービスは継続的に収益を得ることができ、StoreKit 2によって以前よりも簡単に実装が可能です。
IAPを公開するためにはapp、メタデータなどを用意し審査に出す必要がありますが、色々と注意点・問題点が存在します。
・配信国が1つも設定されていないとrejectされます。
・IAPは審査通過した後自動で公開されるため、配信日時をコントロールすることが不可能です。公開日より前に審査だけ通したくても意図せずApp Storeに提供予定の機能が公開されることになります。
・公開されたIAPは配信国を0にすることでApp Storeより削除できますが、Account Holderしか配信国を削除することができず、権限を持つ人の状況次第で対応が遅れる懸念があります。
など…
では、これらの事象に対して我々は何ができるのでしょうか。
このLTではIAPを申請するために必要なこと・注意点を共有します。
またWWDC25の現地labでこれらの課題に対して質問してきた内容を実際に用いた資料も併せて共有します。
果たして解決策は得られたのか?皆さんに多くの最新情報を共有できたら幸いです。
ゴール:
・IAPの申請に準備が必要な情報や申請作業内容がわかる
・申請時に起こりうる問題とそのワークアラウンドを得られる
・本件についてのlabの回答内容を共有できている
アジェンダ:
・IAP申請に必要な準備
・申請後、実際に起こった問題・ワークアラウンドの紹介
・WWDCのlabで聞いてみた&回答について
対象者:
・IAPをリリース予定のエンジニア・非エンジニア
・IAPについてあまり詳しくないが興味がある方
・labの様子や回答内容が知りたい方
Stable Diffusion を活用し、既存のキャラクターイラストから新たな創作を展開する制作手法について紹介します。
取り扱うトピック:
アウトペインティングやマスクインペイントといった主要な画像操作手法に加え、アニメ系イラストに特化した高精細なアップスケーリング手法も扱いながら、Stable Diffusion の具体的な可能性をお伝えします。
「なかなか思い通りのイラストが生成されない」
「何度も作り直しているうちに API リミットに達してしまった」
このような経験をしたことのある方も多いのではないでしょうか。
本稿は、そんなみなさんにとっての“救いの一手”となる、とっておきの 2 ページです。
iOSアプリのUI構築において、SwiftUIは宣言的な記法と豊富な拡張性により注目を集め、今や多くのプロダクトで採用されています。こうしたSwiftの思想は、今やWeb開発の領域にも波及しています。その一例が、Swift製の静的サイトジェネレータ「Ignite」です。
本稿では、Igniteが提供する3つの中核的なAPIグループ「InlineElement」「HTML」「Modifier」に注目し、どのようにしてSwiftらしいWebページ構築を実現しているかを解説します。
これら3つの設計は、HTMLそのものをSwiftで模倣することが目的ではなく、「型安全なDSLとして、Webを構築する」という明確な思想に基づいています。慣れ親しんだSwiftの型と文法で「ウェブサイトを創る」という体験。SwiftならではのWeb開発のあり方を、Igniteを通して紐解いていきます。
はじめてSNSアプリを作るとき、多くの開発者が直面する最大の壁。それがApp Storeの審査(App Review)です。
SNSアプリをApp Storeにリリースするには、他ジャンルのアプリ以上に厳しいApp Reviewの壁が立ちはだかります。
特に、ユーザー生成コンテンツ(UGC)を扱うアプリは、ユーザー保護の観点から求められる機能は多岐にわたり、設計段階から審査基準を意識していないと、何度もリジェクトされてしまうことも珍しくありません。
このLTでは、個人で開発したSNSアプリが何度もリジェクトされながらも、最終的にApp Storeに掲載されるまでの実体験をベースに、以下のような具体的なノウハウを共有します。
LTで話すこと:
「はじめてのSNSアプリ開発」でつまずかないための実践的な知見を、リアルな失敗談とともにお伝えします。
今後、UGCを扱うアプリを作成する方の、少しでも力になれたら幸いです。
いつでもどこでもキャンプができたらいいな。そう思ったことはありませんか?
visionOSアプリで、現実では難しい「理想のキャンプ体験」を仮想空間で実現することができます。
本LTでは、Reality Composer Proを用いてvisionOSアプリに「春夏秋冬」の季節感を演出するパーティクルを作成・実装する方法をご紹介します。
春には桜の花びら、夏にはホタルの舞、秋には紅葉の舞い散り、冬にはしんしんと降る雪。それぞれ異なる自然の動きを再現するために、表現や動きの調整に多くの工夫が必要でした。そんな自然の表現が、visionOSでどのように再現できるのかをハッカソンのチームで開発したキャンプアプリの実例を交えて話します。
LTで話すこと:
AIS(自動船舶識別装置)の非搭載などを理由に、小型船舶の海難事故は毎年2000件以上も発生しています
この長年の課題を解決するため、我々は2015年からiPhoneを用いた事故防止アプリの開発に取り組んできました
本発表は本業iOSエンジニア、副業で弓削商船高専の教員である発表者が、過去数年間の開発で直面した技術的課題や法的な課題と、それらを現代のiOS技術やSwiftでいかに解決できるか説明するためのテーマです
本発表では最初に各開発フェーズでの実施内容と課題に関してお話します
次に本セッションでは、国土交通省から現在出ている安全航行支援アプリのガイドラインとUIのイメージ・注意点に関して説明します
最後にはパフォーマンス、UI/UXといった課題に対し、現在のiOSが提供する技術(SwiftUI、Swift Concurrency、Watch Complicationなど)を駆使してどのようにアプローチできるかを解説します
位置情報を利用した接近検知機能を持つアプリの実装方法と今まで発生してきた課題、当時の様々な実験結果を共有することで、船に限らずリアルタイムな位置情報処理に取り組む方々に知見を提供することを目指します
筆者はIT企業でiOSアプリ開発をする傍ら、国立弓削商船高等専門学校(以下、弓削商船高専)の情報工学科教員としてプロダクトやシステム開発に関する講義を行なっています。
弓削商船高専のような国立高専では卒業生が身につけるべき知識や能力の到達目標として「モデルコアカリキュラム(以下、MCC)」が定められています。
特に情報系分野では、プログラミング/アルゴリズム/コンピュータの仕組みといった知識・技能に加え、それらを統合して課題解決にあたる「創造性・デザイン能力」の育成が重要視されています。
筆者はSwiftとAppleエコシステムは現代の「ものづくり」のプロセスと非常に親和性が高く、以下のような理由からMCCが目指す能力を育む上で多くの利点を持つと考えています。
本セッションではこのMCCの理念である「ものづくり」を通じた社会実装教育を、SwiftとAppleエコシステムを使って実現するためのアプローチを考察します。
本セッションを通して高専教育のカリキュラムや授業構成に関する問題点や新たな可能性を見つけ、未来のiOSアプリエンジニアを育てるためのより実践的なカリキュラムや授業の作成に繋げたいと思います。
2025年2月、AppleはビルドシステムのSwift Buildをオープンソース化しました。
Swiftコンパイラに始まり、xcodebuildやSwift Package Manager、swift-driver、llbuild、果てはClangやldまで、Swiftのビルドを支えるツール群は多様で、それぞれの役割もわかりづらいです。
この複雑怪奇なシステムたちはどのように協調・動作しているのでしょうか。
このトークでは、オープンソースSwiftを中心に、Swiftビルドシステムの全体像を解説します。また、今回新しく公開されたSwift Buildの内部を紐解き、ビルドパイプラインを駆け抜けましょう!
「バイブコーディングでAIにコードを書かせたけど、本当に動くの?」そんな不安を解消する、AI駆動の自動開発・自動検証システムを構築しました。本セッションでは、Claude CodeなどのAIコーディングアシスタントが生成したモバイルアプリのコードを、AIが自動的に動作確認する仕組みを紹介します。
具体的には以下のような内容をカバーします:
「AIがコードを書き、AIが検証し、AIが修正する」完全自律型の開発サイクルはどこまで実現可能なのか?実際の開発事例とデモを通じて、AIによる自動コーディングの品質保証という新たな課題への挑戦をお見せします。
「このfullName
プロパティ、安心して呼んで大丈夫かな...?」
Swiftでコードを書く中で、Computed Property
と関数
の境界線に、ふと迷った経験はないでしょうか?
そして、その些細な迷いが、時として「期待とのギャップ」を生み、コードのパフォーマンスや可読性に影響を与えることがあります。
このトークでは、「なんとなく」で使い分けられがちなこの問題について、改めて基本から見つめ直します。
「フルネームの取得はComputed Property
と 関数
のどちらを使うべき?」という身近な疑問から出発し、なぜそれがパフォーマンス問題に関わるのか、そしてAppleはどのような設計思想を持っているのかを、実際のプロジェクトでよくあるケーススタディを通して、Computed Property
とMethod
の選択基準を皆さんと共有できればと思います。
このセッションが、皆さんの日々のコーディングにおける迷いを少しでも減らし、ご自身の意図をより明確にコードへ反映させるための一助となれば幸いです。
生成AIの進化により、Stable Diffusionをはじめとする画像生成技術が急速に注目を集めています。その流れを受けて、iOSアプリでも画像生成・加工の技術を取り入れたいというニーズが高まりつつあります。
iOSアプリで画像処理を実装しようとした場合、Core Image、Metal、CoreML、サーバサイド処理、さらには生成AI関連のAPIなど、選べる技術は多岐にわたります。
便利な選択肢が増える一方で、「結局どれを使えばいいのか分からない」「画像処理は難しそう」と感じて手が止まってしまう方も多いのではないでしょうか。
本トークでは、画像処理技術を利用してiOSアプリで独自の画像アニメーションを構築した経験をもとに、各技術の特徴と使いどころを整理します。
トークでは、独自アニメーションを実装するための要件を起点に、各要素技術(Core Image / Metal / CoreML / サーバサイド処理 / 生成AI関連のAPI)を使いながらアニメーションを構築していく過程を、実践的な形式で紹介します。
単に技術を羅列するのではなく、アニメーションの実際の動作を見せながら、「どのような場面でその技術を選ぶべきか」といった選定の観点を中心に、各要素技術を比較・検討していきます。
画像処理に興味はあるけど、何から手をつければいいか分からない。そんな方に向けて、iOSで使える技術やアプローチを実例とともに紹介します。
実は私自身も画像処理の専門家ではありません。でも、様々な技術を試す中で「意外と面白い」「ポイントさえ押さえれば自分でも作れる」と感じました。
本トークを通じて、画像処理は「難しそう」ではなく「ちょっとやってみたい」と思えるような、そんなきっかけを届けられたら嬉しいです。
クラシルリワードでは、レシートの撮影・送信機能を提供しており、レシートを送信してもらうことでユーザーに還元を行っています。この機能では、Vision Framework を利用した領域やテキストの検出を行なっており、サーバーでのレシートの解析に大きく貢献しています。しかし、これらの処理を加えたことにより、撮影ごとにかかる時間が増加してしまうことになります。ユーザー体験を考慮して、撮影から送信までパフォーマンス改善を行っていたところ初回の実行だけ異常に時間がかかっていることがわかりました。このトークでは、この課題に対する対応策となぜこのようなことが起こっていたのかの考察をご紹介します。このトークを通じて、同様の課題に直面している開発者の皆様がスムーズに問題を解決するための手がかりを得られることを期待しています。
このセッションでは、ビルド高速化のノウハウをまだ持っていないAppleプラットフォーム開発者向けに、具体的にどのようにビルド速度を改善できるのかを解説します。
アプリ開発中は、実装やCI/CD等で沢山ビルドすると思います。
ビルドの時間が遅いと、単純に開発者にとってストレスになるだけでなく、開発のテンポが悪くなり実装内容に見合わない大きなコストがかかることになります。
WWDCのセッションビデオや公式ドキュメントより、Xcodeのビルドシステムの仕組みを見てみると、ソースコードの量やマシンスペック以外にも様々な原因でビルド速度のボトルネックになる要因があることがわかりました。
皆さんの関わっている、プロジェクトのビルド設定やソースコード自体がビルド速度のボトルネックになっていることが、あるかもしれません。
本トークでは数あるビルド時間が伸びてしまう原因のうち、解消したときに短縮できるビルド時間が大きいと思われるものを3つに厳選して、重要なチェックポイントと修正方法をそれぞれ解説します。
具体的には、次の内容に関連した原因についてお話しします。
例えば、Xcodeでは並列に複数のビルドタスクを進めることができますが、プロジェクトの依存関係によっては並列で処理できない部分が発生することがあります。
このような問題をどのようにして発見し、どうやって改善するのかそれぞれ詳しく説明します。
サンプルコードや、実際のプロジェクトで取得したビルド時間のベンチマークを比較して、実際どれぐらい早くなるのか、も見ていきます。
業務、プライベート問わず、普段の開発でビルド時間に悩まされている開発者にとって、是非聴いていただきたい内容です!
WWDC25に現地参加して驚いたのは、非常に多くの人が「Ray-Ban Metaグラス」をごく自然に日常使いしていたことです。まるでスマートウォッチのように、屋内外を問わず装着されており、現地では“次は眼鏡型が来るのでは?”という空気感も強く感じられました。
WWDC後には、MetaとOakleyのコラボによる「Meta HSTN」が正式に発表され、さらに「次はPradaと組むのでは」といった噂も流れています。これらの動きは、WWDC現地での肌感を裏付けるものだと感じました。一方で、これらの製品は日本国内では正規販売されておらず、日本の開発者にとってはまだ“遠い存在”にも見えるかもしれません。
しかし実際には、XREALシリーズをはじめ、日本国内でも購入可能な眼鏡型デバイスは着実に増えており、家電量販店でも普通に見かけるようになっています。これらの製品は、ディスプレイの有無や投影方式(空中映像型、視野投影型など)によっていくつかに分類でき、それぞれ用途や体験にも違いがあります。
本稿では、そうした眼鏡型デバイスの系譜と技術的な分類を整理したうえで、「今、何が使えるのか」「どこまで来ているのか」、そして「この先どこへ向かいそうか」について紹介・考察します。Vision Proのような“没入型”とは異なる方向にある“軽量で日常的な空間コンピューティング”の可能性に、いま改めて注目してみませんか?