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
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.3k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
510
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
160
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
2
170
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
200
CSC509 Lecture 05
javiergs
PRO
0
300
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
430
[Kaigi on Rais 2025] 全問正解率3%: RubyKaigiで出題したやりがちな危険コード5選
power3812
0
110
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
150
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
970
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Designing Experiences People Love
moore
142
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Raft: Consensus for Rubyists
vanstee
139
7.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Thoughts on Productivity
jonyablonski
70
4.9k
Building an army of robots
kneath
306
46k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Done Done
chrislema
185
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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্ͷݒ೦͔Ͳ͏͔அ͢Δͱ͜Ζ͔Β࢝Ίɺ ඞཁʹԠͯ͡ΨΠυϥΠϯʹԊͬͨඞཁ࠷ݶͷׂΓࠐΈΛߦ͍ɺ Ϣʔβʔͷૢ࡞ͷअຐΛ͠ͳ͍Α͏ઃܭ͠·͠ΐ͏ɻ
ׂΓࠐΈूத͢ΔͨΊʹཁͨ࣌ؒ͠ͱ ࠶ͼूத͢Δͷʹඞཁͳ࣌ؒΛୣ͍ͬͯ͘