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
570
アラートなどの割り込み表示を制御する
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
700
DMM 次世代SDK開発チーム
srea
0
450
mablりましょう。
srea
0
1k
OSSと私
srea
1
540
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.3k
Other Decks in Programming
See All in Programming
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
580
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
140
🔨 小さなビルドシステムを作る
momeemt
4
670
Namespace and Its Future
tagomoris
6
700
Navigating Dependency Injection with Metro
zacsweers
3
240
旅行プランAIエージェント開発の裏側
ippo012
2
890
Testing Trophyは叫ばない
toms74209200
0
860
Swift Updates - Learn Languages 2025
koher
2
470
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
110
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
310
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
420
Featured
See All Featured
It's Worth the Effort
3n
187
28k
The Cult of Friendly URLs
andyhume
79
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Producing Creativity
orderedlist
PRO
347
40k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Pragmatic Product Professional
lauravandoore
36
6.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Practical Orchestrator
shlominoach
190
11k
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্ͷݒ೦͔Ͳ͏͔அ͢Δͱ͜Ζ͔Β࢝Ίɺ ඞཁʹԠͯ͡ΨΠυϥΠϯʹԊͬͨඞཁ࠷ݶͷׂΓࠐΈΛߦ͍ɺ Ϣʔβʔͷૢ࡞ͷअຐΛ͠ͳ͍Α͏ઃܭ͠·͠ΐ͏ɻ
ׂΓࠐΈूத͢ΔͨΊʹཁͨ࣌ؒ͠ͱ ࠶ͼूத͢Δͷʹඞཁͳ࣌ؒΛୣ͍ͬͯ͘