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
680
1
Share
Bring your app’s core features to users with App Intents とか App Intents 関連の要約
@2024.06.26 Swift愛好会スピンオフ WWDC24セッション要約会
Ryomm
June 27, 2024
More Decks by Ryomm
See All by Ryomm
QRコードの仕様ってn種類あんねん
ryomm
0
6
クソアプリハッカソン
ryomm
0
150
万年筆のスゝメ
ryomm
0
150
Other Decks in Technology
See All in Technology
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
150
ServiceNow Knowledge 26 の歩き方
manarobot
0
240
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
150
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
120
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
220
Keeping Ruby Running on Cygwin
fd0
0
180
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
280
CloudTrail を見つめ直してみる
kazzpapa3
1
120
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.5k
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
100
これからの「データマネジメント」の話をしよう
sansantech
PRO
0
170
AI バイブコーティングでキーボード不要?!
samakada
0
640
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
Practical Orchestrator
shlominoach
191
11k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
280
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
Facilitating Awesome Meetings
lara
57
6.8k
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 中々ビジネス職から要望が出てこなそうな機能なので、エンジニア側から提案してプッシュしていかねば!と思いました。 以上、ありがとうございました!