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
【Qiita Night】新卒エンジニアによるSwift6与太予想
Search
Cychow
May 18, 2022
Programming
0
370
【Qiita Night】新卒エンジニアによるSwift6与太予想
Cychow
May 18, 2022
Tweet
Share
More Decks by Cychow
See All by Cychow
【Ebisu.mobile#3】バイトルアプリへのSwift Concurrency導入とその効果
eiji127
3
360
Other Decks in Programming
See All in Programming
Unity Android XR入門
sakutama_11
0
140
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
Software Architecture
hschwentner
6
2.1k
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
770
『品質』という言葉が嫌いな理由
korimu
0
160
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.7k
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.3k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
2
720
Immutable ActiveRecord
megane42
0
130
Featured
See All Featured
Designing Experiences People Love
moore
139
23k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Facilitating Awesome Meetings
lara
51
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Six Lessons from altMBA
skipperchong
27
3.6k
Site-Speed That Sticks
csswizardry
3
370
Designing for Performance
lara
604
68k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Embracing the Ebb and Flow
colly
84
4.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
950
Making Projects Easy
brettharned
116
6k
Docker and Python
trallard
44
3.3k
Transcript
৽ଔΤϯδχΞʹΑΔSwift 6༩ଠ༧ σΟοϓגࣜձࣾ iOSΤϯδχΞ ന ӥ࢘
ࣗݾհ 🏢ɿσΟοϓגࣜձࣾ 22৽ଔΤϯδχΞ ♨ɿԹઘɾαφ͕େ͖Ͱ͢ʂ 📱ɿQiita -> @Cychow, Twitter -> @cychow_app
͍ͨ͜͠ͱ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫεେ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔεͩ͠ɺARKitؤுͬͯ͘Εͦ͏ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ
Swift6ͷํ
On the road to Swift6 ˌ1ɿ SwiftιϑτΣΞΤίγεςϜͷΛՃ͢Δ ˌ2ɿૉΒ͍͠։ൃମݧΛ࡞͢Δ ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํੑʹࢿ͢Δ https://forums.swift.org/t/on-the-road-to-swift-6/32862
ˌ1ɿ SwiftιϑτΣΞΤίγεςϜͷΛՃ͢Δ ɾSwiftͷՄ༻ੑΛ֦େ͠ɺͨ͘͞ΜͷਓʹӨڹΛ༩͍͑ͨɻ ɾϓϥοτϑΥʔϜ૿͢ / Πϯετʔϧͱల։ͷํ๏ͷվળ / ΫϩεϓϥοτϑΥʔϜͷαϙʔτ/etc…
ˌ2ɿૉΒ͍͠։ൃମݧΛ࡞͢Δ ɾΑΓߴͳϏϧυ ɾΑΓ༗ӹͰਖ਼֬ͳஅ ɾϨεϙϯγϒͳίʔυิ ɾetc…
ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํੑʹࢿ͢Δ ɾSwiftΛΑΓڧྗͳϓϩάϥϛϯάݴޠʹ͢Δɻ ɾՄมࢠҾδΣωϦοΫ / APIߏஙαϙʔτ / DSLػೳ / ಉ࣮࣌ߦੑͷڧԽ /
etc…
ͦͷଞॾʑ
Swift6ͷ༩ଠ༧
ଘࡏܕ SE-0341: Opaque Parameter Declarations ɾSwift5.7ͰδΣωϦΫεΛҾʹ༻͍ͨؔΛ؆ܿʹॻ͚ΔΑ͏ʹͳͬͨɻ
ϦόʔεδΣωϦΫε ɾΓʹδΣωϦΫεͷ֓೦ΛऔΓೖΕ͍ͨɻ ɾΓ͕۩ମత͗ͯ͢ಉ͡Α͏ͳ࣮͕૿͑Δɻ SE-0244: Opaque Result Type
ϦόʔεδΣωϦΫε SE-0244: Opaque Result Type ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹద༻͞Ε͍ͯͳ͍…ɻ
ϦόʔεδΣωϦΫε ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹద༻͞Ε͍ͯͳ͍…ɻ ↓ ͯ͢ͷϓϩτίϧ͕ϦόʔεδΣωϦΫεʹద༻Ͱ͖ΔΑ͏ݕ౼தʂ (Swift6Ͱ෦తʹ؇͞ΕΔ͔ʁ) SE-0244: Opaque
Result Type
async / await ɾSwift5.5͔ΒConcurrencyͷػೳͱͯ͠ొͨ͠ɻ ɾඇಉظॲཧ / ฒߦॲཧͷίʔυΛ؆ܿʹهड़Ͱ͖ΔΑ͏ʹͳͬͨɻ
async / await ɾcompletionͰͳ͘ΓͰ݁ՌΛͤΔɻ
async / await ɾΤϥʔΛthrow͢Δ͜ͱͰɺΤϥʔϋϯυϦϯάΛڧ੍Ͱ͖Δɻ
async / await ɾSwift6Ͱ@asyncHandlerͱ͍͏Ξϊςʔγϣϯ͕Ճ͞ΕΔɻ ɾIBActionͱ͔ʹ͚ͭΕTaskͱ͔Ͱғ·ͳͯ͘ྑͦ͞͏ɻ
async / await ɾXcodeͷRefactorͰ؆୯ʹมͰ͖Δɻ( গ͠ո͍͚͠Ͳ) ↓ Swift6͕ఏڙ͞ΕΔࠒʹ͏গ্͠खͬͯ͘͘Εͦ͏ʂ
ARKit ɾGoogleͷARCoreۭؒεΩϟϯͳ͠ͰΞϯΧϦϯάͰ͖ΔΞοϓσʔτ ɾΦϒδΣΫτΛஔ͢Δָ͘͢͝ʹͳΓͦ͏…🤔
ARKit ɾARKit࠷ۙ੩͔… ɾMapKitͱ࿈ಈͤ͞Δ͘Β͍ͷ͜ͱΓ͔Ͷͳ͍…ʂʁ
(ઢ) Xcode Cloud ɾΫϥυͷXcodeͰϏϧυςετΛࣗಈ࣮ߦͰ͖Δɻ ɾTestFlightͱͷ࿈ܞͳͲͬͯ͘ΕΔɻ
(ઢ) Xcode Cloud ɾ(͔֬)ൃද࣌ʹ1Ҏʹຊ֨తͳެ։Λ༧ఆ͍ͯ͠Δͱड़͍ͯͨɻ ɾϦϦʔεςετ͕؆୯ʹͳͬͨΓͦ͠͏ɻ
(ઢ) Xcodeͷόʔδϣϯཧ ɾxcodesͱ͍͏πʔϧͰXcodeͷཧ͕Ͱ͖Δ͚Ͳɺ ެࣜͰग़དྷΔΑ͏ʹͳͬͯ͘ΕΔͱخ͍͠ʂʂʂ
(ઢ) αʔόαΠυSwiftຊ֨࢝ಈʂʁʁ ɾLinuxʹରԠ͢Δͬͯݴͬͯͨؾ͕͢Δɻ ɾαʔόαΠυSwiftຊ֨తʹ࢝ಈ͢ΔͷͰʁ എܠͱಉԽͪ͠Όͬͨ…
·ͱΊ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫεେ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔεͳͷͰɺARKitؤுͬͯ΄͍͠ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ
iOSΤϯδχΞઈࢍืूதʂʂʂ