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
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
950
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.2k
CSC305 Lecture 02
javiergs
PRO
1
260
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
360
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.3k
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
3
930
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
2.3k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
2
280
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
700
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
140
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Being A Developer After 40
akosma
90
590k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Faster Mobile Websites
deanohume
310
31k
Become a Pro
speakerdeck
PRO
29
5.5k
Embracing the Ebb and Flow
colly
88
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Designing Experiences People Love
moore
142
24k
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্ͷݒ೦͔Ͳ͏͔அ͢Δͱ͜Ζ͔Β࢝Ίɺ ඞཁʹԠͯ͡ΨΠυϥΠϯʹԊͬͨඞཁ࠷ݶͷׂΓࠐΈΛߦ͍ɺ Ϣʔβʔͷૢ࡞ͷअຐΛ͠ͳ͍Α͏ઃܭ͠·͠ΐ͏ɻ
ׂΓࠐΈूத͢ΔͨΊʹཁͨ࣌ؒ͠ͱ ࠶ͼूத͢Δͷʹඞཁͳ࣌ؒΛୣ͍ͬͯ͘