Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bring your app’s core features to users with Ap...
Search
Ryomm
June 27, 2024
Technology
1
670
Bring your app’s core features to users with App Intents とか App Intents 関連の要約
@2024.06.26 Swift愛好会スピンオフ WWDC24セッション要約会
Ryomm
June 27, 2024
Tweet
Share
More Decks by Ryomm
See All by Ryomm
QRコードの仕様ってn種類あんねん
ryomm
0
4
クソアプリハッカソン
ryomm
0
150
万年筆のスゝメ
ryomm
0
140
Other Decks in Technology
See All in Technology
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
630
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
11
2.3k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
120
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
100
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
160
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
320
楽しく学ぼう!ネットワーク入門
shotashiratori
4
3.3k
TypeScript 7.0の現在地と備え方
uhyo
2
120
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
210
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
670
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
450
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Become a Pro
speakerdeck
PRO
31
5.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
The Curse of the Amulet
leimatthew05
1
10k
The Limits of Empathy - UXLibs8
cassininazir
1
260
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
New Earth Scene 8
popppiees
1
1.7k
Designing Experiences People Love
moore
143
24k
Test your architecture with Archunit
thirion
1
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
App Intentの要約でーす What’s newやるって言ってたんですけど、必要な前提知識が多かったのでこっちの動画をメインにしました。What’s newは添える程度です
Ryommです!KINTOテクノロジーズという会社でiOSアプリエンジニアをしてます! こういう場で話すの初めてで緊張がやばいので、やさしめにTwitter盛り上げよろしくお願いします!
今日は現地いった同僚にもらったお土産Tシャツ着てきました!ayy
App Intentsとは、iOS16で登場したフレームワークです 再利用可能な機能の基盤「Intent」を作成し、OS側が提供する体験とアプリが提供する機能を深く統合することができるようになります。
アプリは一つの箱ととらえることができる ユーザは作業を行うために1つのアプリだけでなく、いくつかのアプリをまたぐ必要がある時もあります アプリが持つものを表示したり実行するには、それぞれのアプリに入る必要があります 他のアプリからはアクセスできないので、今いる箱を出て、別の箱に移動しないといけない =アプリを切り替える必要がある 例えば、今流している曲の歌詞が読みたいなと思った時、 ミュージックで曲名を確認して、それをSafariで検索する、 というように2つのアプリを開く必要があります。 これはショートカットを使えばシームレスに実行することができますよね? このようにデバイスが箱の中身=アプリのコア機能を理解できて、簡単にアクセスできるようになると、ユーザはシームレスな作業が行えるようになります
これを実現するにはApp Intentフレームワークを導入します
Shortcutを例に取りましたが、App Intentを使って実現できる体験は他にも、Spotlight、Widgetやアクションボタン、ライブアクティビティ、Apple PencilのSqueeze、そしてApple Intelligence、Controlsなどがあります。 これを使うと、それぞれのアプリが提供する機能をパーソナライズして、ユーザはアプリの機能をより自分の行動に沿った使い方をできるようになります。するとアプリを使い続ける可能性も上がるます。ユーザにとってもデベロッパーにとっても嬉しいですね!
App Intent自体は機能ではなく、機能を構築するための共通の基盤です。 App Intentが行う責務としては2つあり、 アプリのコア機能などをシステム側が理解できるように、外部に公開する アクションを実行し、完了したことを呼び出し元に伝える通信する こうすることで、アプリは実装に集中することができます 1つのシステムの機能に対応するためにApp Intentを作ったら、同じコードで他の機能へ展開することができます
App Intentにおいて重要な3つのトップレベルの概念があります。 Intents: 実行するアクション Entities: オブジェクト App shortcuts: アプリのコア機能をパッケージしたもの Intentsが動詞、Entitiesが名詞、そしてApp
shortcutsが文、という関係性です。 App Intentを作成すると、デフォルトでショートカットアプリのアクションとして表示されます。 このショートカットアクションがIntentです。
(4分超えてたら)一応実装方法についてもまとめたんですが、時間がないので飛ばします。あとで資料を上げるので、そちらを参照するか、ビデオを見るかしてください〜 これはAppIntentの実装ですね〜 (4分超えてなかったら) では実装方法について軽く触れます。 ビデオではもっと詳細に説明されてましたが、要約なので主要キャストだけ取り上げます。 まず、AppIntentに準拠した構造体を定義します title: アクションの名前(必須) func perform()
実行するアクションを定義(必須) この2つは必須です。 パラメータを渡すこともできます。これがEntityです。
Building the code ΫΤϦ(ඞਢ) AppEntityΛܧঝ(ඞਢ) ࣝผࢠ(ඞਢ) λΠϓͱσʔλͷදࣔ (ඞਢ) ϓϩύςΟ(≠ύϥϝʔλ)
What’s new in App Intent (super summary) IndexedEntity Transferable →
Meet Transferable ( WWDC22 ) IntentFile FileEntity Universal links URLRepresentableEntity URLRepresentableEnum URLRepresentableIntent Developer improvements UnionValue Generated titles Framework improvements
引用元のビデオとドキュメントです 日本語だとSiriの要約をされていた堤さんの記事がたくさん出てくるので、そちらを見てください!
Apple Intelligenceの登場で、App Intent に対応するのは基本人権になりつつあるなと感じました。 一つ対応すればかなり使い回しが効くので、コスパは高いと思います。 要約したビデオもそうですが、この機会にApp Intent対応してくれや!という圧を感じてましたw 中々ビジネス職から要望が出てこなそうな機能なので、エンジニア側から提案してプッシュしていかねば!と思いました。 以上、ありがとうございました!