2023年6月、iOSアプリ開発者におなじみHuman Interface Guideline(以下HIG)が大幅に更新されました。
更新前は、迷える初心者から「これからアプリ開発するならiOSとAndroidどちらがいい?」と相談を受けた場合、私は迷わずAndroidを薦めました。
理由の1つは、Googleの公式ドキュメントのほうがアプリ開発者へ圧倒的に親切だから。この理由が解消しました。
このセッションでは私のiOS・Android・Flutter開発経験を活かしつつ、以下についてお話します。
皆様このような経験はございませんか?
本トークでは,運用10年目サービスにおけるデザインシステムを念頭に置いたコンポーネント戦略についてご紹介します
このトーク内容が,皆様の開発を加速させるきっかけになることを願っております
スマートフォンにはさまざまな入出力のチャネルが搭載されています。
その中でも、現実世界の「音」を活用できる技術に関して、実は多数の機能が現在利用できる状況になっています。
本トークでは、一般的なアプリ開発では馴染みの薄い「音」をベースにした体験の構築方法について、基本的な技術の解説をはじめとして、具体的な活用例を交えてご紹介いたします。
コンテンツ
聞き手の想定
現在のiPhoneは、高度な認識能力を持つ「目」と「耳」を持っており、現実世界の物体や音の情報を簡単に取り込むことができるようになっています。
例えば、Vision/VisionKitを用いた物体・文字認識、ShazamKit/SoundAnalysisを用いた楽曲・環境音認識など、すぐ使える機能だけでも多数の技術が存在します。
本セッションではiOSで利用できる画像・音声認識周りの技術を整理し、それを用いた実装方法をデモを交えてご紹介いたします。
コンテンツ
聞き手の想定
WWDC2020で発表されたStoreKit testingは,テスト用のフレームワークです.
UnitTestとして課金テストを実行することはもちろん,StoreKit testingに必要なStoreKit configurationを用いると様々な恩恵を得ることができます.
動作環境がiOS14以上なStoreKit Testing.
導入自体は簡単なため,サクッと皆様のアプリにも取り入れませんか?
会社や学校などの組織に所属している人の中には、本業の合間時間に友人とソフトウェアを開発して
・共に技術を伸ばしたい
・願わくは一発当てたい
と思っている人もいるでしょう。
しかし、各メンバーの裁量だけで開発していては、計画的に開発を進められなかったり、開発に大きな偏りが生まれてしまいます。
その結果、チーム開発自体が自然消滅してしまったり、開発速度が遅くなり、リリースまで辿り着けなかったりすると思います。
本発表では、実際に 3 年以上に渡って友人 2 人とチーム開発をしてきた実体験を交えながら、チーム開発を計画的に進める仕組み作りについて紹介します。
これから友人とチーム開発をしてみたい、現在しているけど難航している、という人たちの役に立てばと思います。
紹介例としては
・週に 1 回の定例会を設けよう
・タスク目標ではなく、作業時間目標を立てよう
などがあります。
アプリ開発の中でも、アプリ内課金はとりわけ高品質が要求される領域です。
課金に関するトラブルは、ユーザに対し不安や混乱を抱かせるとともに、お問い合わせなど面倒なアクションを要求します。また、事業への信頼値の低下やお問い合わせへの対応コストの増加など、ビジネスにも多大な影響を及ぼすため、可能な限り抑えたいところです。(開発メンバーのメンタルも健全に保ちたい…!)
私が開発に携わっているアプリでは、ユーザがアプリ内商品を意図せず重複購入してしまいお問い合わせが多発する問題に悩まされてきました。本トークでは、この問題を解消するに至った取り組みについて、仮説立てから設計、より良いアプリ内課金体験を提供するための考え方をお伝えします。
マルチプラットフォーム開発手法のひとつとして、KMM(Kotlin Multiplatform Mobile)を耳にする機会が増えてきました。安定版のリリースがまだにも関わらず、すでに商用アプリでの導入例がいくつも見られます。一方で、個人開発でKMMを採用している方はまだ少ないのではないでしょうか?
このセッションでは、個人開発でKMMを利用するメリットとハードル、有効活用のためのヒントをご紹介します。
KMMの特徴のひとつは「導入のしやすさ」ですが、うっかり飛びつくのは後悔のもと。
を個人開発という視点から、企業と個人開発でのKMM導入経験に基づいてお話します。
昨今 SwiftUI でアニメーション表現が行いやすくなりましたが、 iOS / Android 共通で表現する際にはLottieファイルを扱うことが多いです。。
LottieとはAirbnbが開発している、SVGアニメーションライブラリです。動画などに比べて、ファイルサイズが小さくとても便利なライブラリです。
アニメーションのやり取りにはJSONファイルで行うことが多いですが、デザイナーから受け取ってそのままコードで利用することが多いのではないでしょうか。
このトークでは、デザイナーから受け取っている謎のJSONファイルを理解し、適切な利用やデザイナーとのコミュニケーションに役立つ一助になれば幸いです。
本トークでは、OSSとしてのSwiftへの貢献の重要性と、私自身のコントリビュート経験を共有します。
初めての方でも参加しやすいよう、Swiftのコードベースに貢献するための具体的な手順を紹介します。
さらに、Swiftの品質を保つための重要な要素であるテストについても触れます。
特に、LLVMのテストツール「lit」を活用したテスト方法を説明します。
これにより、Swiftへの貢献が順調に進められ、コードの品質を保つことができます。
本トークを通して、参加者の皆さんがSwiftのコードにカジュアルにPRを投げれるように、そしてそれが、SwiftのOSSコミュニティの成長に貢献できれば幸いです。
このトークはSwiftへの貢献に興味がある方やテストスキルを向上させたい方を対象としています。
Swiftコミュニティへの貢献を検討している方に、このトークが役立つことを願っています!
CIツール選定は、iOSアプリ開発に限らずプロジェクトにおいて重要な要素です。本発表では、スキルマーケット『ココナラ』アプリ開発で経験した、CIツール移行で得た知見を共有し、予算・工数・保守性といった観点から、CIツール移行を検討する際に考慮したポイントについても、話せる範囲でお話しします。最終的な判断にいたった経緯や選定した理由が、CIツール移行を迷っているかたの手助けになれれば幸いです。
VisionFrameworkは顔認識や文字認識の処理ができるAppleが公式にサポートするフレームワークです。
iOS16から文字認識機能に日本語が対応しました。 日本でもアプリに応用しやすく、活用できる場面が増えそうですね。
このセッションではVisionFrameworkとARKitを使って名刺の情報を読み取り、拡張現実に情報が浮き出てくる名刺アプリの実装をお話しします。
・VisionFrameworkの使い方
・文字認識の難しいところ
・ARKitでの3Dオブジェクトの表現
・エンジニアに刺さる名刺の作成
一見複雑そうな画像処理やAR表現をわかりやすく解説します。
最新技術を使った創造的な名刺を作ってみたくありませんか?
「自分のiPhoneで外部機器を自由自在に制御できたらなぁ」と考えてことはありませんか?
私が所属する株式会社ユビレジでは、Appleが提供するFrameworkであるExternal Accessoryを使ってPOSレジアプリのレシート印刷機能を実装しています。
本セッションではExternal Accessoryについて、External Accessoryを使った外部機器(レシートプリンター)の制御方法ついて解説します。
マッチングアプリの「タップル」がリリースされてから今年で10年目。
課金システムをフルリニューアルした経験についてお話しいたします。
StoreKit2への移行を検討している方々に、この情報が少しでもお役に立てれば幸いです。
主な内容
みなさん、トランシーバーってご存知でしょうか?
同じ機器を持っていれば、音声を離れたところへ伝えることができるアイテムです。
人によっては懐かしいと思う方もいるかもしれません。
そんな懐かしいトランシーバーを作る仕組みが、現行最新のiOS 16の機能として追加されているのをご存知でしょうか?
そんなiOS 16の新機能「PushToTalk」を使ってトランシーバーを実現してみようと思います。
PushToTalkはどのような機能を提供してくれるのか?
アプリ側ではどのようなものを用意すればいいのか?サーバーは?
あまりフォローされていない音声の録音部分も含めてご紹介するトークとなります。
iOS 14 からUICollectionViewのセルのカスタマイズ方法にConfigurationというAPIが追加されました。
これまでカスタムセルはサブクラスを作成して実装していました。Configurationにより、セルレイアウトと外観を分離し再利用しやすいComposableなAPIの管理ができます。
また縦方向のリスト形式の例では削除や並び替えといった機能と滑らかな表示体験が提供でき、安全にOSの機能を考慮した複雑なカスタムセルが実装できます。
本セッションでは日本経済新聞社の紙面ビューアーアプリで実際に導入したUIKitベースのカスタム例を紹介します。
UIKitベースのパターンは実装例が比較的少ない一方、依然として重要な選択肢です。SwiftUIベースでは困難な制約やリスト表示のパフォーマンス観点などを踏まえ、仕組みからUIKitとSwiftUIの理解を深めます。
WWDC 23で、新たにSwiftDataが発表されました。
これは新たにSwiftでデータを永続化できる仕組みで、データのクエリやフィルターなどを備えたものになっています。
また、同じくデータ永続化に使われるCoreDataですが、CoreDataで定義されたモデルをSwiftDataに変換できることも発表されています。
本セッションでは、そんなCoreDataにスポットをあて、CoreDataで使うことのできるさまざまな機能をご紹介します。
CoreDataを扱ったことのない人でも、SwiftDataへの移行の足掛かりとして参考にしていただければ幸いです。
このセッションでは、今までのiOSでの音声技術とiOS17がもたらす最新の音声技術の導入についてお話しします。
iOS17ではAVAudioEngineのVoice処理や AirPlay / AirPodsなど多くの音声関連のアップデートがありました。
今までとこれからの音声技術を通じて今後の音声技術について話していきたいと思います。
トピック
1.今までのiOSの音声技術
SwiftUIをUIKitで作成された複雑な画面にも活用してみませんか?
私の経験から、Storyboardを使用した画面はメンテナンス性や再利用性に課題を抱えています。しかし、SwiftUIで独立性の高いコンポーネントを作成することで、これらの問題を解決することができます。
UIHostingViewを使えば、UIKitの既存の画面においても、SwiftUIのコンポーネントをシームレスに組み込むことができます。これにより、従来のコードを一から書き直すことなく、新しいユーザインターフェースを実装することも可能です。
このセッションでは、具体的なコード例や実際のプロジェクトでの活用事例を共有します。参加者の皆さんが自身の開発において新たな可能性を見つける手助けをしたいと思っています。
近年、GPTをはじめとするLLMによってAIとのテキストコミュニケーションが爆発的に進化しました。我々が日常的に使う「音声」とテキストの橋渡しを担う重要技術が音声認識です。
iOSにおける音声認識は長らく進化が止まったままでしたが、iOS 17になり、カスタム言語モデルがサポートされ、一気に実用性が増しました。一方で、OpenAIによるWhisperもCore ML対応版が出ており、サードパーティーながら標準フレームワークより魅力な点も多くあります。
本トークでは、音声認識のしくみを理解し、カスタム言語モデルを作成して特定の分野や用途に沿って性能を改善する方法について学びます。またサードパーティー製エンジンとも比較し、ユースケースに合わせて最適な技術選定が行えるようになるでしょう。百見は一聞にしかず、デモも行います。