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
WWDC26参加レポート ~In Person Labはいいぞ~
Search
kntk
June 19, 2026
Programming
84
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WWDC26参加レポート ~In Person Labはいいぞ~
Recap of WWDC26 Mercari
kntk
June 19, 2026
More Decks by kntk
See All by kntk
Swiftのレキシカルスコープ管理
kntkymt
0
240
"奇妙"なSwift
kntkymt
3
380
SwiftのSIMDとその利用方法
kntkymt
2
340
Swiftのオーバーロード選択のスコア規則21種類
kntkymt
0
220
Meet high-performance image filtering in Swift
kntkymt
0
190
プログラミングを始めてからiOSエンジニアになるまで
kntkymt
0
1.8k
SwiftUIでの非同期処理データの状態管理を考える
kntkymt
1
2.6k
大学で出席管理アプリ・掲示板閲覧アプリを開発・運用している学生の話
kntkymt
1
2.7k
Swiftを知って欲しい
kntkymt
1
160
Other Decks in Programming
See All in Programming
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
240
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
2.7k
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
690
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
720
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
350
メールのエイリアス機能を履き違えない
isshinfunada
0
250
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
260
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
Hono + Inertia + React で LP を構築した話
oukayuka
2
140
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.5k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
270
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Music & Morning Musume
bryan
47
7.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
Fireside Chat
paigeccino
42
4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Designing Powerful Visuals for Engaging Learning
tmiket
1
500
Agile that works and the tools we love
rasmusluckow
331
22k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Transcript
88%$ࢀՃϨϙʔτ ʙ*O1FSTPO-BC͍͍ͧʙ !LOUL 88%$3FDBQ!ϝϧΧϦ
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ wࣄલʹ࣭จࢿྉΛ༻ҙ͢ΔͱମݧΛ࠷େԽͰ͖Δ
*O1FSTPO-BC w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ wඇυΩϡϝϯτڍಈ
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } } QFSGPSNؔͲͷϓϩηεͰݺΕΔʁ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJONVMUJUBSHFUTTIBSFEJOUFOUQSPDFTT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 )J ͲΜͳ࣭Λ͖࣋ͬͯͨΜ͍ͩʁ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUTͷ࣮ߦϓϩηεϧʔϧ ʹ͍ͭͯฉ͖͍ͨ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͳΔ΄Ͳʂ ͦͷΤϦΞʹৄ͍͠ΤϯδχΞ
͕͍Δ͔ΒҊ͢ΔΑʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ൴͕"QQ*OUFOUTͷ࣮ߦϓϩηε ʹ͍ͭͯฉ͖͍ͨΒ͍͠ʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͪΖΜʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUT͕୯ҰͷUBSHFUͷΈʹ ϦϯΫ͞Ε͍ͯΔ߹ʜ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ:FT wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ:FT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε 😄͓͓ɺ߹ͬͯΔΑʂͦ͏ͦ͏ɺ͜͏͍͏ෳࡶͳϧʔϧ͕͋ΔΜͩΑͶ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ 😄͋ͱɺ࣮J04͔ΒϓϩύςΟͰϓϩηεΛࢦఆͰ͖ΔΑ͏ʹͨ͠Αʂ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQJOUFOUBMMPXFEFYFDVUJPOUBSHFUTLPM
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ w࣌ؒఔ wͪ࣌ؒগͳ͍ͷͰ࣌ؒʹ༨༟͋Δ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBTTJTUBOUTDIFNBTTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQTDIFNBTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ "QQ4DIFNBͷޓੑ
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ w J04 ʹόοΫϙʔτ͞Ε͍ͯΔ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷޓੑ @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ 9DPEF "TTJTUBOU4DIFNBͰϏϧυͨ͠ΞϓϦ J04ͷ4JSJ"*͔ΒೝࣝͰ͖Δʁ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ 9DPEFͰϏϧυ࣮͚ͤ֬ͩ͠Ͳ ͠ͳͯ͘େৎͳ4DIFNB͋ΔΑ
w 9DPEF "TTJTUBOU4DIFNBͰ4JSJ"*ରԠΞϓϦΛϦϦʔεͰ͖Δʂ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO { "actions": { "SearchItemIntent": { "assistantDefinedSchemaTraits": [],
"assistantDefinedSchemas": [ { "domain": "system", "name": "ShowInAppSearchResultsIntent", "version": "1.0.0" } ], "authenticationPolicy": 0, "availabilityAnnotations": { "LNPlatformNameWildcard": { "introducedVersion": "*" } },
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO w4JSJ͕SVOUJNFͰಡΈऔΔ
"QQ4DIFNBͷཪଆ ✅͍͔ͭ͘ͷ4DIFNB9DPEFલޙͰ NFUBEBUBग़ྗʹ͕ࠩͳ͍͜ͱΛ֬ೝ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC·ͱΊ w࣭ΛӳޠͰࣄલʹ༻ҙ͓ͯ͘͠ wϝϞΞϓϦɺจষΛݟͤΒΕΔܗ͕ྑ͍ wʢͰ͖ͨΒʣΤϏσϯε༻ҙ͢Δ w࣭ଟΊʹ༻ҙ͢Δͱྑ͍ w'"μΠϨΫτΞλοΫޮՌత
͓·͚7JTVBM*OUFMMJHFODFࢀߟࢿྉ w 88%$ΞϓϦʹϏδϡΞϧΠϯςϦδΣϯεΛ౷߹͢ΔͨΊͷϕετϓϥΫςΟε w IUUQTEFWFMPQFSBQQMFDPNKQWJEFPTQMBZXXED w ެࣜαϯϓϧίʔυ w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPO"QQ*OUFOUTBEPQUJOHBQQJOUFOUTUP TVQQPSUTZTUFNFYQFSJFODFT
w LOULͷαϯϓϧίʔυʢ࠷খߏίʔυʹͳ͍ͬͯΔͷͰ͓͢͢ΊͰ͢ʣ w IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJOWJTVBMJOUFMMJHFODF QSPDFTT