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
iOSのウィジェットでも猫走らせたい / iOSDC Japan 2022 Day2 Unco...
Search
Kyome (Takuto Nakamura)
September 12, 2022
Programming
3
1.2k
iOSのウィジェットでも猫走らせたい / iOSDC Japan 2022 Day2 Unconference
iOSDC Japan 2022 Day2 14:00~ Unconference トーク
Kyome (Takuto Nakamura)
September 12, 2022
Tweet
Share
More Decks by Kyome (Takuto Nakamura)
See All by Kyome (Takuto Nakamura)
Swiftで高速フーリエ変換してオーディオビジュアライザーを作る / iOSDC Japan 2024 Day1 Track D
kyome22
3
850
Accelerate.vDSPとSwift Chartsでぶち上がろう!/サイボウズモバイル Meetup 2023.04.20
kyome22
0
140
ブラウザアプリを自作してわかったWebViewの扱い方/iOS Meetup in 福岡
kyome22
1
3.4k
Hacking Xcode Behaviors / macOS native symposium #08
kyome22
2
1.6k
AppKitでお絵描きをしてみよう / macOS native symposium #06
kyome22
2
720
Finder Sync Extension で Mac 向け便利ツールを作ろう / iOSDC Japan 2021
kyome22
6
4.6k
iOS Custom Keyboardsでできること/できないこと/やってはいけないこと / iOSDC Japan 2020 LT
kyome22
3
1.9k
Other Decks in Programming
See All in Programming
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
360
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
300
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
How to train your dragon (web standard)
notwaldorf
89
5.8k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Writing Fast Ruby
sferik
628
61k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Visualization
eitanlees
146
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Automating Front-end Workflow
addyosmani
1366
200k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
The Invisible Side of Design
smashingmag
299
50k
Rails Girls Zürich Keynote
gr2m
94
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
Kyome iOSDC Japan 2022 - Unconference 2022/09/12 iOSͷΟδΣοτͰೣΒ͍ͤͨ
iOSDC Japan 2022 - Unconference #iosdc #unconference ࣗݾհ IUUQTLZPNFJP ,ZPNF
,ZPNFTVLF macOS͚ͷϢʔςΟϦςΟΞϓϦ։ൃऀʢझຯ݉෭ۀʣ ϝχϡʔόʔৗறܕΞϓϦɺApp Extension ͕ಘҙ ීஈαΠϘζͰ kintoneϞόΠϧ ։ൃ͍ͯ͠·͢ʂ
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat?
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? RunCat
macOS ͚ͷϝχϡʔόʔৗறܕΞϓϦ ೣͷΔεϐʔυͰ CPU ෛՙ͕Θ͔Δ ΞΫςΟϏςΟɾΠϯδέʔλʔ
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? macOS൛ͷRunCat
CAKeyframeAnimation Λͬͯύϥύϥອը ͷཁྖͰΞχϝʔγϣϯ͍ͯ͠Δʢແݶϧʔϓʣ ఆظతʹCPUෛՙΛऔಘͯ͠ɺͦͷʹج͍ͮͯΞχϝʔγϣϯͷ speed Λߋ৽͍ͯ͠Δ cat-0 cat-1 cat-2 cat-3 cat-4 Speed
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? speed
Λߋ৽͢ΔࡍʹΞχϝʔγϣϯ͕Ϧηοτ͞ΕΔͷͰɺ ରࡦ͠ͳ͍ͱΞχϝʔγϣϯ͕ΨΫΨΫͯ͠͠·͏ ☝︎ ͜Μͳײ͡
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? speed
Λߋ৽͢ΔࡍʹΞχϝʔγϣϯ͕Ϧηοτ͞ΕΔͷͰɺ ରࡦ͠ͳ͍ͱΞχϝʔγϣϯ͕ΨΫΨΫͯ͠͠·͏ cat-0 cat-1 cat-2 cat-3 cat-4 Speed มߋ
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? speed
Λߋ৽͢ΔࡍʹΞχϝʔγϣϯ͕Ϧηοτ͞ΕΔͷͰɺ ରࡦ͠ͳ͍ͱΞχϝʔγϣϯ͕ΨΫΨΫͯ͠͠·͏ cat-0 cat-1 cat-2 cat-3 cat-4 Speed มߋ ☝︎ ࣍ͷΞχϝʔγϣϯ cat-3 ͔Β ࢝Ίͳ͍ͱεϜʔζʹͳΒͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? speed
Λߋ৽͢ΔࡍʹΞχϝʔγϣϯ͕Ϧηοτ͞ΕΔͷͰɺ ରࡦ͠ͳ͍ͱΞχϝʔγϣϯ͕ΨΫΨΫͯ͠͠·͏ γʔϜϨεʹΓସ͑ΔͨΊɺߋ৽લʹ CALayer ͷ timeO ff set ͱ beginTime Λ੍ޚ్ͯ͠த͔ΒΞχϝʔγϣϯ͕࢝·ΔΑ͏ʹ͢Δ ☝︎ cat-3 ͔Β࢝·Γ cat-2 ͰऴΘΔΞχϝʹ͢Δ cat-3 cat-4 cat-0 cat-1 cat-2
iOSDC Japan 2022 - Unconference #iosdc #unconference What’s RunCat? ͜ͷΑ͏ͳεϐʔυ్͕தͰมԽ͢ΔແݶϧʔϓͷίϚૹΓ
ΞχϝʔγϣϯΛ࣮ݱͰ͖Δ࠷దखஈ͕ CAKeyframeAnimation Core Animation ͍͢͝ʂ
iOSDC Japan 2022 - Unconference #iosdc #unconference ؓٳ
iOSDC Japan 2022 - Unconference #iosdc #unconference iOSͰೣΒ͍ͤͨ 2020ͷKyomeࢯ
iOSDC Japan 2022 - Unconference #iosdc #unconference WidgetKit ग़ͨ͠ͳΜ͔Ͱ͖ͦ͏ 2020ͷKyomeࢯ
※ 2020 iOS 14 ͕ൃද͞Ε WidgetKit ͕ಋೖ͞Ε·ͨ͠ɻ
iOSDC Japan 2022 - Unconference #iosdc #unconference vs WidgetKit
iOSDC Japan 2022 - Unconference #iosdc #unconference ઈରʹΞχϝʔγϣϯͤͨ͘͞ͳ͍ 74
Կͱͯ͠ΟδΣοτͰೣΒ͍ͤͨɾ
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZͱΓ͋͑ͣૉʹ Ξχϝʔγϣϯࢼͯ͠ΈΔ
iOSDC Japan 2022 - Unconference #iosdc #unconference Try 1: ͱΓ͋͑ͣૉʹΞχϝʔγϣϯࢼͯ͠ΈΔ
in App struct RotateItemView: View { @State var flag: Bool = false var body: some View { Image(systemName: "paperplane") .resizable() .frame(width: 100, height: 100, alignment: .center) .rotationEffect(Angle(degrees: flag ? 0 : 360)) .animation( Animation.linear(duration: 2) .repeatForever(autoreverses: false), value: flag ) .onAppear { flag.toggle() } } }
iOSDC Japan 2022 - Unconference #iosdc #unconference Try 1: ͱΓ͋͑ͣૉʹΞχϝʔγϣϯࢼͯ͠ΈΔ
in Widget struct RotateItemView: View { @State var flag: Bool = false var body: some View { Image(systemName: "paperplane") .resizable() .frame(width: 100, height: 100, alignment: .center) .rotationEffect(Angle(degrees: flag ? 0 : 360)) .animation( Animation.linear(duration: 2) .repeatForever(autoreverses: false), value: flag ) .onAppear { flag.toggle() } } } Ξχϝʔγϣϯ͠ͳ͍ 💦
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZ5JNFSΛͬͯίϚૹΓͯ͠ΈΔ
iOSDC Japan 2022 - Unconference #iosdc #unconference struct CatTimerView: View
{ @State var catIndex: Int = 0 let timer = Timer .publish(every: 0.1, on: .main, in: .default) .autoconnect() var body: some View { Image("cat-\(catIndex)") .onReceive(timer) { _ in catIndex = (catIndex + 1) % 5 } .padding() } } Try 2: TimerΛͬͯίϚૹΓͯ͠ΈΔ in App
iOSDC Japan 2022 - Unconference #iosdc #unconference struct CatTimerView: View
{ @State var catIndex: Int = 0 let timer = Timer .publish(every: 0.1, on: .main, in: .default) .autoconnect() var body: some View { Image("cat-\(catIndex)") .onReceive(timer) { _ in catIndex = (catIndex + 1) % 5 } .padding() } } Try 2: TimerΛͬͯίϚૹΓͯ͠ΈΔ in Widget Γಈ͔ͳ͍ 💧
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZͦ͏ͩ6*,JUʹཔΖ͏ʂ
iOSDC Japan 2022 - Unconference #iosdc #unconference var animatedCatImage: Image?
{ if let uiImage = UIImage.animatedImageNamed("cat-", duration: 1) { return Image(uiImage: uiImage) } return nil } Try 3: ͦ͏ͩ UIKit ʹཔΖ͏ʂ in App UIImage.animatedImageNamed(_:duration:) Λ͑ɺ ࿈൪ʹͳ͍ͬͯΔϑΝΠϧ໊ͷը૾ΛΞχϝʔγϣϯԽ ͞ΕͨҰͭͷ UIImageʹͰ͖Δ͕… UIImageView ͩͱಈ͚͘Ͳ SwiftUIͷImageʹೖΕΔͱಈ͔ͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZ6*7JFX3FQSFTFOUBCMFͰͲ͏ͩʂ
iOSDC Japan 2022 - Unconference #iosdc #unconference struct CatRepView: UIViewRepresentable
{ typealias UIViewType = UIImageView let uiImage: UIImage? init() { uiImage = UIImage.animatedImageNamed("cat-", duration: 1) } func makeUIView(context: Context) -> UIImageView { let imageView = UIImageView(image: uiImage) imageView.contentMode = .scaleAspectFit return imageView } func updateUIView(_ uiView: UIImageView, context: Context) {} } Try 4: UIViewRepresentable ͰͲ͏ͩʂ ࣌ͷදࣔΛ࠶ݱͨ͠ͷ ❗ ͔ͯɺφχίϨ!! UIKit ༝དྷͷ View ΟδΣοτͷதͰແޮ
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZ(*'ΛಡΈࠐΜͰΈΔ
iOSDC Japan 2022 - Unconference #iosdc #unconference var catGIFImage: Image?
{ if let asset = NSDataAsset(name: "runcat-gif"), let uiImage = UIImage(data: asset.data) { return Image(uiImage: uiImage) } return nil } Try 5: GIFΛಡΈࠐΜͰΈΔ in App ͦͦΟδΣοτ͡Όͳͯ͘ಈ͔ͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference ͦͯ͠ࢸͬͨKyomeࢯͷ݁
iOSDC Japan 2022 - Unconference #iosdc #unconference
iOSDC Japan 2022 - Unconference #iosdc #unconference
iOSDC Japan 2022 - Unconference #iosdc #unconference ࣌ྲྀΕ݄̎̌̎̎̒
iOSDC Japan 2022 - Unconference #iosdc #unconference WWDC 2022 ʹͯ
Live Activities ൃද
iOSDC Japan 2022 - Unconference #iosdc #unconference Live Activities ref:
AppleɺiOS 16Ͱಋೖ͞ΕΔڞ༗ͱίϛϡχέʔγϣϯͷͨΊͷ৽͍͠ํ๏Λൃද - Apple (ຊ) https://www.apple.com/jp/newsroom/2022/06/apple-unveils-new-ways-to-share-and-communicate-in-ios-16/
iOSDC Japan 2022 - Unconference #iosdc #unconference Live Activities ref:
Keynote (ASL) - WWDC22 - Videos - Apple Developer. https://developer.apple.com/videos/play/wwdc2022/111/
iOSDC Japan 2022 - Unconference #iosdc #unconference ࠓΞχϝʔγϣϯͯ͠ͳ͔͔ͬͨ ⁉︎ 2022ͷKyomeࢯ
⁉
iOSDC Japan 2022 - Unconference #iosdc #unconference Live Activities ref:
Keynote (ASL) - WWDC22 - Videos - Apple Developer. https://developer.apple.com/videos/play/wwdc2022/111/
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZ-JWF"DUJWJUJFTΛͬͯΈΔ
iOSDC Japan 2022 - Unconference #iosdc #unconference Try 6: Live
Activities ΛͬͯΈΔ Live Activities ActivityKit Framework Λ࣮ͬͯ͢Δ ActivityKit Xcode 14 beta 4~6 Ͱ͑Δ Xcode 14 RC ʹೖ͍ͬͯͳ͍ ૣࢼ͍ͯ͠ΔਓͷهࣄGitHubͷιʔε*͕͋ΔͷͰ࣮ ͦΜͳʹ͘͠ͳ͍ * Create Live Activities With ActivityKit on iOS 16 | by Batikan Sosun | Aug, 2022 | Better Programming https://betterprogramming.pub/create-live-activities-with-activitykit-on-ios-16-beta-4766a347035b
iOSDC Japan 2022 - Unconference #iosdc #unconference Try 6: Live
Activities ΛͬͯΈΔ ࢼͯ͠Θ͔ͬͨ͜ͱ Live Activities جຊతʹΟδΣοτͱҰॹ ϩοΫεΫϦʔϯʹදࣔͰ͖ΔΟδΣοτͱ͍͏ײ͡ ΓΞχϝʔγϣϯͰ͖ͳ͍😫 ं͕ಈ͍͍ͯΔΑ͏ʹݟ͑ͨͷɺSliderͷϊϒͷը૾Λม͍͚͑ͯͨͩ ߋ৽࣌ʹϊϒͷҠಈΞχϝʔγϣϯ͕࣮ߦ͞ΕΔ λΠϚʔ Text(date: Date, style: Text.DateStyle) Λ࣮͑Ͱ͖Δ ͔͠ɺiOS 14͔Β͜Ε͋ͬͨʢΒͳ͔ͬͨ..ʣ
iOSDC Japan 2022 - Unconference #iosdc #unconference ͦͯ͠ࢸͬͨKyomeࢯͷ݁վΊ
iOSDC Japan 2022 - Unconference #iosdc #unconference
iOSDC Japan 2022 - Unconference #iosdc #unconference
iOSDC Japan 2022 - Unconference #iosdc #unconference ͔͠͠KyomeࢯʹిྲྀΔʔʔʂ
iOSDC Japan 2022 - Unconference #iosdc #unconference ॴḨɺRunCat ̑ຕͷ੩ࢭըΛ
ίϚૹΓ͍ͯ͠Δ͚ͩ… ͳΒ
iOSDC Japan 2022 - Unconference #iosdc #unconference 5SZλΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτ Ͱࠩ͠ସ͑Ε͍͍͡Όͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍
λΠϚʔΛදࣔͨ͠ΟδΣοτ ೣϑΥϯτ
iOSDC Japan 2022 - Unconference #iosdc #unconference Calligraphr ͱ͍͏ϑΥϯτΛࣗ࡞Ͱ͖Δ αʔϏεΛͬͯೣϑΥϯτΛ࡞
Δೣ̑ϑϨʔϜͳͷͰɺ 0~4ͱ5~9ͷ̎पࢦఆ͢Δ ग़དྷ্͕ͬͨOpenTypeϑΥϯτΛ ϓϩδΣΫτʹऔΓࠐΉ Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ ref: Calligraphr. https://www.calligraphr.com/en/webapp/app_home/?/
iOSDC Japan 2022 - Unconference #iosdc #unconference struct ContentView: View
{ var body: some View { Text(Date(), style: .timer) .font(.custom("Runningcat-Regular", size: 150)) } } in App ͱΓ͋͑ͣී௨ͷSwiftUI AppͳΒػೳͨ͠ʂ ͳΜ͔ΧϫΠΠ Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ ❗
iOSDC Japan 2022 - Unconference #iosdc #unconference ͚ͩ͘͜͜Γൈ͖͍ͨ Try 7:
λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference struct ContentView: View
{ var body: some View { Text(Date(), style: .timer) .lineLimit(1) .font(.custom("Runningcat-Regular", size: 200)) .fixedSize(horizontal: true, vertical: false) .frame(width: 120, alignment: .trailing) .clipped() } } in App Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ .lineLimit(1) ͱ . fi xedSize() ͰվߦΛڐ͞ͳ͍Α͏ʹ͢Δ .frame(width: 120, alignment: .trailing) Ͱ෯ΛೣҰඖʹ ͭͭ͠ɺTextΛӈدͤʹ͢Δ .clipped() Ͱ༨ͳೣΛফ͢
iOSDC Japan 2022 - Unconference #iosdc #unconference struct ContentView: View
{ var body: some View { Text(Date(), style: .timer) .lineLimit(1) .font(.custom("Runningcat-Regular", size: 200)) .fixedSize(horizontal: true, vertical: false) .frame(width: 120, alignment: .trailing) .clipped() } } in Widget Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ ΟδΣοτͩͱ Text(Date(), style: .timer) ͱ . fi xedSize() ͷ૬ੑ͕ѱ͍Β͘͠ɺText͕ফ͑ͯ͠·͏ ͱʃ͓ʃ͠ʃͯʃͨʃΑʃ͓ʃ͓ʃ͓ʃʂ 💢
iOSDC Japan 2022 - Unconference #iosdc #unconference ࢼߦࡨޡͨ݁͠Ռ
iOSDC Japan 2022 - Unconference #iosdc #unconference ͍ͭʹΟδΣοτͰೣಈ͖·ͨ͠ʂʂ Try 7:
λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ Γ·ͨ͠🎉 ༏উ🏆 👑
iOSDC Japan 2022 - Unconference #iosdc #unconference in Widget Try
7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ . fi xedSize() Group ͰแΜͰ͔Β͑༗ޮ .clipped() ͞Βʹ Group ͰแΜͰ͔Β͑༗ޮ var body: some View { Group { Group { Text(Date(), style: .timer) .lineLimit(1) .truncationMode(.head) .font(.custom("Runningcat-Regular", size: 120)) .frame(width: 200) } .fixedSize() } .frame(width: 90, alignment: .trailing) .clipped() }
iOSDC Japan 2022 - Unconference #iosdc #unconference var body: some
View { Group { Group { Text(Date(), style: .timer) .lineLimit(1) .truncationMode(.head) .font(.custom("Runningcat-Regular", size: 120)) .frame(width: 200) } .fixedSize() } .frame(width: 90, alignment: .trailing) .clipped() } in Widget Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ .truncationMode(.head) Ͱ෯͕Γͳ͍ͱ͖ઌ಄͕ ʮ…ʯͰলུ͞ΕΔΑ͏ʹ͓ͯ͘͜͠ͱ͕ॏཁ লུͭͭ͠෯Λݻఆͤ͞ΔͨΊʹɺframe(width: 200) Ͱ ೋจࣈͷ෯Λࢦఆ͢Δ
iOSDC Japan 2022 - Unconference #iosdc #unconference var body: some
View { Group { Group { Text(Date(), style: .timer) .lineLimit(1) .truncationMode(.head) .font(.custom("Runningcat-Regular", size: 120)) .frame(width: 200) } .fixedSize() } .frame(width: 90, alignment: .trailing) .clipped() } in Widget Try 7: λΠϚʔ͕ಈ͔ͤΔͳΒೣϑΥϯτͰࠩ͠ସ͑Ε͍͍͡Όͳ͍ .clipped() ͢Δલʹ .frame(width: 90, alignment: .trailing) Ͱද͍ࣔͤͨ͞ೣҰඖͷ෯Λ֬อ͢Δ
iOSDC Japan 2022 - Unconference #iosdc #unconference RunCatͱͯ͠ͷ՝
iOSDC Japan 2022 - Unconference #iosdc #unconference RunCatͱͯ͠ͷ՝ Έ্ɺίϚૹΓͷִؒ̍ඵͰݻఆ Կ͔ͷঢ়ଶʹԠͯ͡εϐʔυΛม͑Δͱ͍͏͜ͱͰ͖ͳ͍
iOSDC Japan 2022 - Unconference #iosdc #unconference RunCatͱͯ͠ͷ՝ Έ্ɺίϚૹΓͷִؒ̍ඵͰݻఆ Կ͔ͷঢ়ଶʹԠͯ͡εϐʔυΛม͑Δͱ͍͏͜ͱͰ͖ͳ͍
͔ͯ͜Ε͡ΌΞχϝʔγϣϯ ͱݴ͑ͳ͘ͳ͍ʁ
iOSDC Japan 2022 - Unconference #iosdc #unconference RunCatͱͯ͠ͷ՝ Έ্ɺίϚૹΓͷִؒ̍ඵͰݻఆ Կ͔ͷঢ়ଶʹԠͯ͡εϐʔυΛม͑Δͱ͍͏͜ͱͰ͖ͳ͍
͔ͯ͜Ε͡ΌΞχϝʔγϣϯ ͱݴ͑ͳ͘ͳ͍ʁ ͏ͬͤ͐ʂ 💢
iOSDC Japan 2022 - Unconference #iosdc #unconference RunCatͱͯ͠ͷ՝ Έ্ɺίϚૹΓͷִؒ̍ඵͰݻఆ Կ͔ͷঢ়ଶʹԠͯ͡εϐʔυΛม͑Δͱ͍͏͜ͱͰ͖ͳ͍
ঢ়ଶʹԠͯ͡ೣҎ֎ͷϥϯφʔʹΓସ͑Δ ͍ͬͯΔίϚΞχϝ͚ͩͰͳ͘า͍͍ͯΔίϚΞχϝ༻ҙ͢Δ
iOSDC Japan 2022 - Unconference #iosdc #unconference iOSͷΟδΣοτͰೣΒ͍ͤͨ Thank you!
ઓ͍·ͩଓ͘…