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
アラートなどの割り込み表示を制御する
Search
yuki tamazawa
December 15, 2021
Programming
2
560
アラートなどの割り込み表示を制御する
https://github.com/srea/UIPresentCoordinator
yuki tamazawa
December 15, 2021
Tweet
Share
More Decks by yuki tamazawa
See All by yuki tamazawa
DMM.swift#1 Mergeable Libraryを試した
srea
3
680
DMM 次世代SDK開発チーム
srea
0
440
mablりましょう。
srea
0
1k
OSSと私
srea
1
530
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.3k
Other Decks in Programming
See All in Programming
コーディングエージェント概観(2025/07)
itsuki_t88
0
110
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
1
220
Jakarta EE Meets AI
ivargrimstad
0
190
20250708_JAWS_opscdk
takuyay0ne
2
140
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
540
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
480
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
140
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
270
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
660
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
180
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
4
1.2k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Art, The Web, and Tiny UX
lynnandtonic
300
21k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Scaling GitHub
holman
460
140k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Become a Pro
speakerdeck
PRO
29
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Transcript
:VLJ5BNB[BXB%..J04.FFUVQ ΞϥʔτͳͲͷ ׂΓࠐΈදࣔΛ੍ޚ͢Δ -*'0͔Β'*'0
ࢲʹ͍ͭͯ w ۄᖒ༟و w (JU)VCTSFB w ϓϥοτϑΥʔϜࣄۀຊ෦ w %..ϙΠϯτΫϥϒ w
ೝূ4%, IUUQTTQFBLFSEFDLDPNTSFB
ׂΓࠐΈදࣔͱ
࣮ऀͷҙਤͳ͘ɺ Ϣʔβʔૢ࡞Λதஅͤͯ͞දࣔ͞ΕΔͷ
օ͞·ɺׂΓࠐ·ΕΔͷ͖Ͱ͔͢ʁ
ҙਤͤͣɺׂΓࠐΈ͕ൃੜ͍ͯ͠ͳ͍Ͱ͔͢ʁ
ΞϥʔτͳͲͷछྨʹ͍ͭͯ
ݖݶऔಘલͷత௨
৽ػೳ֫ಘ௨
৽ػೳͳͲࠂ͕Ͱ͖ΔαʔϏε͍͔ͭ͋͘Δ w 'JSFCBTF*O"QQ.FTTBHJOH w 3FQSP w ,"35& w '"/4)*1 w
FUDʜ
ͦͷଞ
ׂΓࠐΈදࣔͷͱ
w Ϣʔβʔߦ͓͏ͱ͍ͯͨ͠ࣄΛڧ੍తʹதஅͤͯ͞͠·͏ w ೖྗ్த࡞ۀ్தʹׂΓࠐ·Εͯ࡞ۀঢ়ଶ͕ফ͑Δ w %..ϙΠϯτΫϥϒͰɺ ΞϓϦىಈ࣌ʹॏͳΔέʔε͕͋Γ·ͨ͠ɻ ද͕ࣔॏͳΔ
දࣔʹࣦഊ͍ͯ͠Δ [Presentation] Attempt to present <UIAlertController> on <UIViewController> which is
already presenting <UIViewController>.
ߟྀ͕͍͠໘͕͋Δ ϥΠϒϥϦଆͰ੍ޚ͞Ε͍ͯΔ߹͋Δɻ ͨͩ͠ɺෳϥΠϒϥϦΛ͍ͬͯΔ߹ɺ ΞϓϦέʔγϣϯશମͰڠௐͨ͠ಈ࡞Λͤ͞ Δ͜ͱ࣮ऀʹҕͶΒΕΔɻ
"QQMFͷΨΠυϥΠϯΛ֬ೝ
.PEBMJUZ IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFTJPTBQQBSDIJUFDUVSFNPEBMJUZ w 6TFNPEBMJUZXIFOJUNBLFTTFOTF ϞʔμϧମݧɺਓʑΛݱࡏͷঢ়گ͔Βͤ͞ɺ ղআ͢ΔͨΊͷΞΫγϣϯΛඞཁͱ͢ΔͨΊɺ ໌֬ͳϝϦοτ͕͋Δ߹ʹͷΈ༻͢Δ͜ͱ͕ॏཁͰ͢ɻ w
3FTFSWFBMFSUTGPSEFMJWFSJOHFTTFOUJBMBOEJEFBMMZBDUJPOBCMFJOGPSNBUJPO ΞϥʔτݱࡏͷΤΫεϖϦΤϯεΛதஅ͠ɺ ղআ͢ΔͨΊʹλοϓ͕ඞཁͳͷͰɺ ਓʑ͕ͦͷதஅ͕ਖ਼ͳͷͰ͋Δͱײ͡Δ͜ͱ͕ॏཁͰ͢ɻ
"MFSUT IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFTJPTWJFXTBMFSUT w .JOJNJ[FBMFSUT 69Λ્͢ΔͨΊɺॏཁͳใΛఏڙ͢ΔࡍʹͷΈ༻͠ɺසΛ͘͢Δ͜ͱ͕ॏཁͰ͢ɻ
Ͳ͏ղܾ͢Δ͔ɻ
6*Λݟ͢ w දࣔλΠϛϯάɺදࣔํ๏ͷݟͯ͠ɺׂΓࠐ·ͳ͍Α͏ʹௐ͢Δ w μΠΞϩάදࣔΛΊͯίϯςϯπʹ༹͚ࠐ·ͤΔ w ࠜຊղܾΛࢦͤΔ͔
ׂΓࠐΈΛ੍͢Δ w දࣔͨ͘͠ͳ͍λΠϛϯάʹ੍ w ࠜຊղܾͰͳ͍͔͠Εͳ͍͕ɺॏͳΔݱղܾͰ͖ͦ͏
%..ϙΠϯτΫϥϒͰ Ͳ͏ղܾ͔ͨ͠
w Ϣʔβʔʹ͢Ͱʹఏ͍ࣔͯ͠ΔμΠΞϩάͳͲ͕͋ͬͨ߹ɺ දࣔΛػ͢ΔػߏΛҰ෦ը໘ʹಋೖͨ͠ɻ w 'JSFCBTF*O"QQ.FTTBHJOHͷදࣔ6*ΛΧελϚΠζ͍ͯͨͨ͠Ίɺ දࣔपΓΛࣗΒ࣮͢Δ͜ͱͰ͖ͨɻ w ؆қతͳରԠͰɺࣗΒද੍ࣔޚͰ͖ΔέʔεͷΈʹ༗ޮɻ
w ࣮ίʔυ̑̌ߦఔ ୯७ͳΩϡʔͷΈͰରԠͨ͠
ଞࣾࣄྫௐࠪ
"QQ4UPSFͰಉ༷ͷΛݟ͔͚Δ w εΫγϣషΕ·ͤΜ͕ɺ৭ʑݟ͚ͭ·ͨ͠ɻ w ଞͷΞϓϦͰྑ͋͘ΔࣄͳΒɺ ౿ΈࠐΜͰϑΥϩʔग़དྷͳ͍͔ݕ౼͠·ͨ͠
࣮ݧతʹ 044ϥΠϒϥϦΛ࡞
ϦϙδτϦʹ͍ͭͯ w (JU)VCͰެ։͍ͯ͠·͢ɻ w IUUQTHJUIVCDPNTSFB6*1SFTFOU$PPSEJOBUPS
ಛ w ΞϥʔτදࣔͳͲ-*'0ʢελοΫʣͰͳ͘ɺ'*'0ʢΩϡʔʣͰ੍ޚ w 6*"MFSU$POUSPMMFSҎ֎ͷΫϥεʹରԠ 6*8JOEPX w 4XJGU6*ΛҰ෦αϙʔτ w
֎෦ϥΠϒϥϦ੍ޚͰ͖ΔػߏΛ༻ҙ
3 2 -*'0ͱ'*'0 1 2 3 1 3 2
1 -*'0 4UBDL '*'0 2VFVF QSFTFOU
͍ํ खಈͷ߹ 6*,JU
͍ํ खಈͷ߹ 4XJGU6*
͍ํ ࣗಈͷ߹ ׂΓࠐΈΛ੍͢ΔରΫϥεΛఆٛ͢Δ ΞϓϦέʔγϣϯશମͷ੍ޚ͕Մೳ
͍ํ දࣔΛதஅɾ࠶։͢Δ߹
σϞ ̕ݸͷϘλϯΛԡԼ͠දࣔΛ2VFVFJOH͢Δɻ αεϖϯυΛղআͯ͠ɺॱʹॲཧΛ͍ͯ͘͠ɻ 2VFVFͷ ˞'JSFCBTF*O"QQ.FTTBHJOH2VFVFʹೖΕͯ·͢ɻ
ग़དྷΔ w ΩϡʔͰׂΓࠐΈΛ੍ޚ w 6*,JU4XJGU6*αϙʔτ w ׂΓࠐΈରͷՃ w 04੍ޚܥΞϥʔτ w
ϓογϡڐ w "55 w Ґஔใ ग़དྷͳ͍
෦࣮ʹ͍ͭͯ w ࠓճׂѪ͠·͢ɻ w (JU)VCʹެ։͍ͯ͠ΔͨΊɺͥͻࢼͯ͠Έ͍ͯͩ͘͞ɻ w 1VMM3FRVFTU*TTVFܴͰ͢ɻ w ʮ͜͏͍͏ϢʔεέʔεͰ͑ͦ͏ɺ͑ͳͦ͞͏ʂʯͳͲ͋Εੋඇڭ͑ͯ ͍ͩ͘͞ɻ
࠷ޙʹ💡 w ϥΠϒϥϦΛͬͨͱͯ͠ΞϥʔτͳͲͷଟ༻ਪ͠·ͤΜɻ w ݱঢ়ͷׂΓࠐΈ͕ɺ69্ͷݒ೦͔Ͳ͏͔அ͢Δͱ͜Ζ͔Β࢝Ίɺ ඞཁʹԠͯ͡ΨΠυϥΠϯʹԊͬͨඞཁ࠷ݶͷׂΓࠐΈΛߦ͍ɺ Ϣʔβʔͷૢ࡞ͷअຐΛ͠ͳ͍Α͏ઃܭ͠·͠ΐ͏ɻ
ׂΓࠐΈूத͢ΔͨΊʹཁͨ࣌ؒ͠ͱ ࠶ͼूத͢Δͷʹඞཁͳ࣌ؒΛୣ͍ͬͯ͘