๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐ŸŽ iOS61

[iOS] SwiftUI - SignInWithAppleButton / ์• ํ”Œ ๋กœ๊ทธ์ธ ์ปค์Šคํ…€ ๋ฒ„ํŠผ structure SignInWithAppleButton https://developer.apple.com/documentation/authenticationservices/signinwithapplebutton SwiftUI / iOS 14.0 + ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ Labels continue signIn signUp Styles black white whiteOutline Sample code SignInWithAppleButton(.continue) { request in request.requestedScopes = [.fullName, .email] } onCompletion: { result in switch result { case .success(let authResults): print.. 2023. 10. 22.
[iOS] SwiftUI - GeometryReader / View ํฌ๊ธฐ์™€ ์ขŒํ‘œ ๊ณ„์‚ฐํ•˜๊ธฐ https://developer.apple.com/documentation/swiftui/geometryreader ์Šค์œ  ๊ณต๋ถ€ํ•˜๊ธฐ ๐Ÿง GeometryReader GeometryReader ๋Š” ์ปจํ…์ธ ์˜ ํฌ๊ธฐ์™€ ์œ„์น˜๋ฅผ ํ•จ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ทฐ๋กœ, ๋ถ€๋ชจ ๋ทฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” HStack, VStack, ZStack ์„ ์‚ฌ์šฉํ•ด์„œ ๋ ˆ์ด์•„์›ƒ์„ ๋ฐฐ์น˜ํ•˜์ง€๋งŒ, UIKit ์„ ๊ฐ™์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ˜น์€ ์„ธ๋ถ€์ ์ธ ์กฐ์ •์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ด๋„ค์š” ๐Ÿ‘€ View ์˜ ํฌ๊ธฐ๋‚˜ ์ขŒํ‘œ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ์‹ถ์„๋•Œ ํ™œ์šฉ๋„ ๊ฐ€๋Šฅํ•ด๋ณด์ž…๋‹ˆ๋‹ค! ๐Ÿค” GeometryReader ์‚ฌ์šฉํ•ด์„œ ๋ ˆ์ด์•„์›ƒ ๋ฐฐ์น˜ํ•ด๋ณด๊ธฐ GeometryReader ์ƒ์„ฑ์ž์˜ ํด๋กœ์ € ์ธ์ž๋Š” GeometryProxy ๋กœ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. GeometryProxy : ์ปจํ…Œ.. 2023. 10. 21.
[iOS] APNs ๋“ฑ๋ก ํ›„ ํ‘ธ์‹œ ํ…Œ์ŠคํŠธํ•˜๋Š”๋ฒ• - Push Notifications Console / Tester โœจ Push Notifications Console ์„ ์ด์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ…Œ์ŠคํŠธ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์• ํ”Œ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ‘ธ์‹œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์›นํŽ˜์ด์ง€ (๊ธ€ ์ž‘์„ฑ ์ „์—๋Š” ๋‚˜์˜ค๊ธฐ ์ „์ด๋ผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค๐Ÿฅน) - https://developer.apple.com/videos/play/wwdc2023/10025/ - https://developer.apple.com/notifications/push-notifications-console/ ์•ฑ์—์„œ APNs ๋“ฑ๋ก ํ›„์— ์„œ๋ฒ„ ๋””ํŽœ๋˜์‹œ ์—†์ด ํ…Œ์ŠคํŠธํ•˜๊ธฐ ๐Ÿ‰ A macOS, Linux, Windows app to test push notifications on iOS and Android https://github.com/onmyway133/PushNotifications ์ปค๋งจ๋“œ๋ผ์ธ.. 2023. 10. 15.
[iOS] WWDC23: Discover Observation in SwiftUI / iOS17+ Discover Observation in SwiftUI - WWDC23 https://developer.apple.com/videos/play/wwdc2023/10149/ https://developer.apple.com/documentation/observation Observation ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ‘œ์ค€ Swift ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋ธ์„ ์ •์˜ํ•˜๊ณ , UI ๊ฐ€ ๋ชจ๋ธ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ์‘๋‹ตํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. SwiftUI ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›ํ™œํ•˜๊ณ  ์ง๊ด€์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค! ๋ชฉ์ฐจ 1:03 - What is Observation? 4:23 - SwiftUI property wrappers 7:34 - Advanced uses 10:27 - ObservableObject What is Observation? Obse.. 2023. 10. 14.
[iOS] WWDC23: Meet ActivityKit / Live Activity ์•Œ์•„๋ณด๊ธฐ WWDC23: Meet ActivityKit https://developer.apple.com/documentation/ActivityKit https://developer.apple.com/documentation/activitykit/displaying-live-data-with-live-activities Live Activity ์— ๋Œ€ํ•œ ๊ฐœ์š” Live Activity ์˜ ์ƒ๋ช…์ฃผ๊ธฐ (Life cycle) Live Activity UI ๊ตฌ์ถ•ํ•˜๊ธฐ Live Acitvity overview Live Activity ๋Š” ์ด๋ฒคํŠธ๋‚˜ ์ž‘์—… ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ•œ๋ˆˆ์— ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ฐ๊ฐ์˜ ์‹œ์ž‘๊ณผ ๋์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•ฑ ๋Ÿฐํƒ€์ž„์—์„œ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ์‚ฌ์šฉํ•ด์„œ ์›๊ฒฉ์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜.. 2023. 10. 9.
[iOS/SwiftUI] @Environment ์•Œ์•„๋ณด๊ธฐ / ๋ชจ๋‹ฌ ๋ทฐ ๋‹ซ๊ธฐ dismiss ํ™œ์šฉ Environment A property wrapper that reads a value from a viewโ€™s environment. @Environment ๋Š” SwiftUI ๋ทฐ ๋‚ด์—์„œ ์•ฑ์˜ ์ „์—ญ์ ์ธ ์ƒํƒœ์™€ ์†์„ฑ์„ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํผํ‹ฐ ๋ž˜ํผ์ด๋‹ค. ํ•ด๋‹น ๋ž˜ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด SwiftUI ๊ฐ€ ํ•ด๋‹น ๊ฐ’์— ์•ก์„ธ์Šคํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•ด์„œ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค. Environment ํ‚ค๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•ด์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ฑ ์ „์—ญ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ, ์„ค์ •, ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ €์žฅ์— ์œ ์šฉํ•˜๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Environment ํ‚ค https://developer.apple.com/documentation/swiftui/environmentvalues \.dism.. 2023. 6. 15.
[iOS/SwiftUI] @ViewBuilder, @resultBuilder ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ViewBuilder A custom parameter attribute that constructs views from closures. @resultBuilder struct ViewBuilder SwiftUI ์—์„œ ViewBuilder ๋Š” ํด๋กœ์ ธ๋ฅผ ํ†ตํ•ด ๋ทฐ ๊ณ„์ธต์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์ด๋‹ค. ViewBuilder ๋ฅผ ์ด์šฉํ•˜๋ฉด ํ•จ์ˆ˜๋‚˜ ํด๋กœ์ €๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ทฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ทฐ๋ฅผ ์ „๋‹ฌํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ˜ฏ resultBuilder ? ViewBuilder ๋Š” @resultBuilder ํ”„๋กœํผ๋ฆฌ ๋ž˜ํผ๊ฐ€ ๋ถ™์–ด ์žˆ๋Š”๋ฐ ํ•ด๋‹น ์†์„ฑ์€ Swift5.4 ์— ๋„์ž…๋˜์—ˆ๊ณ  ๊ธฐ์กด ๋ช…์นญ์€ @_functionBuilder ์ด๋‹ค. SE-0289์˜ ResultBuilder resultBu.. 2023. 6. 7.
[WWDC2017] Love at First Launch ์ฒซ์ธ์ƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์•„ํŒŒํŠธ๋ฅผ ๊ณ„์•ฝํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ์ฒ˜์Œ๋ถ€ํ„ฐ ์—ฌ๊ถŒ ์„œ๋ฅ˜๋“ฑ์„ ์š”๊ตฌํ•˜๊ฒ ๋Š”๊ฐ€? ์‚ฌ๊ธฐ๊พผ ์•„๋‹๊นŒ ์‹ถ์€ ์ง‘์ฃผ์ธ ๐Ÿฅน ์•ฑ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์•ฑ ์„ค์น˜๋ถ€ํ„ฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด๋ถ€ํ„ฐ ๋‚˜ํƒ€๋‚˜๊ณ  ๊ถŒํ•œ๋“ค์„ ์š”๊ตฌํ•œ๋‹ค๋ฉด ์นœ๊ทผํ•˜์ง€ ์•Š๋‹ค. Lead with great content ๋กœ๊ทธ์ธ์ฐฝ๋ถ€ํ„ฐ ๋„์šฐ๋Š” iTravel ์•ฑ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ๋‹ค๋ฅธ ์—ฌํ–‰ ์•ฑ์€ ์ฝ˜ํ…์ธ ๋ฅผ ๋ฐ”๋กœ ๋ณด์—ฌ์ค€๋‹ค. ์‚ฌ์šฉ์ž๋“ค์€ ๋ฐ”๋กœ ํ™”๋ฉด์— ์žˆ๋Š” ์ˆ™์†Œ๋“ค์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ์—ฌํ–‰์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , ์˜ˆ์•ฝํ•˜๋ ค๋Š” ์‹œ์ ์— ๋กœ๊ทธ์ธ์ฐฝ์ด ๋œฌ๋‹ค. (ํ•˜์ง€๋งŒ airbnb ๋„ ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์ „์— ๋กœ๊ทธ์ธ์ด ๋ชจ๋‹ฌ๋กœ ์šฐ์„ ๋œฌ๋‹ค.. ์†์„ธ๋Š” ์–ด์ฉ”์ˆ˜ ์—†๋Š” ๐Ÿฅฒ) Teach through interaction ์ „ํ™” ์•ฑ์—์„œ ํ‚คํŒจ๋“œ, ์ „ํ™” ๊ฑธ๊ธฐ ๊ธฐ๋Šฅ๋“ฑ์€ ์„ค๋ช…ํ•˜์ง€ ์•Š์•„๋„ ๋ชจ๋‘ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์„ ํ–‰ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ๋„์›€์ด.. 2023. 5. 24.
[WWDC21] Discover concurrency in SwiftUI ๋ชฉ์ฐจ Concurrent data models SwiftUI and the main actor New concurrency tools ํ•ด๋‹น ์˜์ƒ์„ ๋ณด๊ธฐ์ „์— ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ WWDC ์˜์ƒ Meet async/await in Swift Explore structured concurrency in Swift ์˜ˆ์‹œ ์•ฑ ) ์šฐ์ฃผ ์ด๋ฏธ์ง€ ๋ชฉ๋ก๋“ค ๋ณด์—ฌ์ฃผ๊ณ  ์ €์žฅํ•˜๋Š” ์•ฑ (์šฐ์ฃผ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„์˜ค๋ ค๋ฉด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๋Š” ํฐ๊ทธ๋ฆผ์ด ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค ๐Ÿง) Concurrent data models ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋ธ SpacePhoto ์ด๋ฏธ์ง€ ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋ธ Photos ObservableObject ๋กœ ๋˜์–ด์žˆ์–ด @published ์–ด๋…ธํ…Œ์ด์…˜์ด ๋ถ™์€ items ๊ฐ’์ด ๋ณ€๊ฒฝ์‹œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์‹œ SwiftUI View ์—…๋ฐ์ด.. 2023. 5. 18.
728x90