Deep_Dev
[SwiftUI] NavigationLink, NavigationView ํŠ•๊ธธ ๋•Œ
๐ŸŽ iOS/SwiftUI 2024. 11. 2. 01:47

NavigationView์™€ NavigationLink๋ฅผ ์“ฐ๋ฉด์„œ ํŠ•๊ธฐ๊ณ  ์ด์ „ํ™”๋ฉด์œผ๋กœ ๊ฐ•์ œ๋กœ ๋Œ์•„๊ฐˆ ๋•Œ,NavigationView { // code}.navigationViewStyle(StackNavigationViewStyle()) ํ•ด๋‹น ๋ชจ๋””ํŒŒ์ด์–ด ์ถ”๊ฐ€ !     ์ฐธ๊ณ  ๋ ˆํผ๋Ÿฐ์Šคhttps://stackoverflow.com/questions/66559814/swiftui-navigationlink-pops-out-by-itself SwiftUI NavigationLink pops out by itselfI have a simple use case where a screen pushes another screen using the NavigationLink. There is a strange behavio..

article thumbnail
[SwiftUI]์•ฑ๋‚ด์—์„œ ์•ฑ ๋ฒ„์ „ ์ •๋ณด ํ‘œ์‹œ
๐ŸŽ iOS/SwiftUI 2024. 10. 12. 16:45

๐Ÿ“š ์•ฑ ๋‚ด ํ˜„์žฌ ์•ฑ๋ฒ„์ „ ์ •๋ณด ํ‘œ์‹œํ•˜๊ธฐ  ์•ฑ์„ ์—…๋ฐ์ดํŠธ ํ•ด๊ฐ€๋ฉด์„œ ์‚ฌ์šฉ์ž๋งˆ๋‹ค ์—…๋ฐ์ดํŠธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ, ์‚ฌ์šฉ์ค‘์ธ ๋ฒ„์ „์ด ๋‹ค๋ฅผ ๊ฒƒ์ด๋ผ๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๊ณ ..์ธ์•ฑ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ๋ฉด์„œ ๊ฐ™์ด ๋ณด์ด๋Š”๊ฒƒ๋„ ๋‚˜์˜์ง€ ์•Š๊ฒ ๋‹ค ์ƒ๊ฐ์ด ๋“ค์–ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•˜์˜€๋Š”๋ฐ์š”. var appVersion: String { let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown" let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "Unknown" return "Version \(version) (Build \(build))"..

article thumbnail
[SwiftUI] In-App Review ์—ฐ๋™
๐ŸŽ iOS/SwiftUI 2024. 10. 12. 16:31

๐Ÿ“š ์ธ์•ฑ๋ฆฌ๋ทฐ(In-App Review) ์ด๋ฒˆ์— ํŒ€ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์‹œ์ž‘์ด ์กฐ๊ธˆ์”ฉ ๊ณ„์† ๋ฏธ๋ค„์ง€๋ฉด์„œ, ๊ฐœ๋ฐœํ•˜๊ณ ์‹ถ์€๋ฐ ํ•˜์ง€๋ชปํ•ด์„œ ์ตœ๊ทผ์— ์กฐ๊ธˆ์”ฉ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ์ธํ”„๋กœ์ ํŠธ ์•ฑ์— ์ธ์•ฑ๋ฆฌ๋ทฐ๋ฅผ ๋„ฃ์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ธ์•ฑ๋ฆฌ๋ทฐ๋Š” ์•ฑ ๋‚ด์—์„œ ์•ฑ์˜ ์•ฑ์Šคํ† ์–ด ํ‰์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ธธ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.์‚ฌ์‹ค ์ œ๊ฐ€ ์ด๊ฑธ ์ ์šฉํ•˜๋ ค๋Š” ์•ฑ์ด ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์ง„ ์•Š์ง€๋งŒ ๊พธ์ค€ํžˆ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ํ™•์žฅ์„ฑ์ด ๋„“์ง€ ์•Š์€ ๋‹จ์ผ ๊ธฐ๋Šฅ ์•ฑ์ด๋ผ.. ํ™•์žฅ์„ ํ•œ๋‹ค๋ฉด ์—„์ฒญ ํฌ๊ฒŒ ํ•ด์•ผํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์˜๊ฒฌ์ด๋‚˜ ํ”ผ๋“œ๋ฐฑ์„ ์กฐ๊ธˆ ๋” ๋“ค์–ด๋ณด๊ณ  ์‹ถ์–ด์„œ ์ ์šฉํ•˜๋ คํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ SwiftUI๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•  ๋•Œ, ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋˜ ์•ฑ์ธ๋ฐ ๋ฐฉ์น˜ํ•ด๋’€๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๋ณด๋‹ˆ๊นŒ ๊ณ„์† ์“ฐ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋”๋ผ๊ตฌ์š”?์ตœ๊ทผ์— ์ด๊ฒƒ์ €๊ฒƒ ์กฐ๊ธˆ์”ฉ ์—…๋ฐ์ดํŠธ ์ค‘์ž…๋‹ˆ๋‹ค ! Stor..

article thumbnail
[WatchOS] TestFlight(๋ฐฐํฌ) ํ•  ๋•Œ ๋งŒ๋‚ฌ๋˜ identifier ํ†ต์ผ ๋ฌธ์ œ
๐ŸŽ iOS/WatchOS 2024. 9. 8. 19:26

๐Ÿ“š ์ตœ๊ทผ์—, iOS ๋ฐ Wat chOS ์•ฑ์„ TestFlight ์˜ฌ๋ฆด ๋•Œ ๋งŒ๋‚ฌ๋˜identifier ํ†ต์ผ ๋ฌธ์ œ ์ปดํŒฉํŠธํ•˜๊ฒŒ ์จ์„œ ๋‚จ๊ฒจ๋ณด์ž ํ•ฉ๋‹ˆ๋‹ค.. TestFlight ์•„์นด์ด๋ธŒ์‹œ ๋งŒ๋‚ฌ๋˜ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ Invalid WKCompanionAppBundleIdentifier. The Info.plist of Apple Watch application 'DancingMarker.app/Watch/WatchDancingMarker Watch App.app' contains a WKCompanionAppBundleIdentifier value 'test.DancingMarker' that does not match the parent application's CFBundleIdentifier 'com.test.Danc..

article thumbnail
[Xcode][SwiftUI] MixPanel๋กœ ์•ฑ ๋‚ด ์‚ฌ์šฉ์ž events ์ถ”์ ํ•˜๊ธฐ

๐Ÿ“š MixPanel ์‚ฌ์šฉhttps://docs.mixpanel.com/docs/what-is-mixpanel What is Mixpanel? - Mixpanel Docs docs.mixpanel.com  ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฑฐ์˜ ๋งˆ๊ฐ์ด ๋˜์–ด๊ฐ€๊ณ , ๋ฐฐํฌํ•˜๊ธฐ ์ „์ธ๋ฐ ์•ฑ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š”๋™์•ˆ์˜ Events๋ฅผ ์ถ”์ ํ•ด๋ณด๋ผ๋ผ๋Š” ์กฐ์–ธ์„ ์–ป์—ˆ๊ณ , ๊ทธ๊ฒƒ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด MixPanel ์ด๋ผ๋Š”๊ฒƒ์„ ์ถ”์ฒœ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ( Firebase๊ฐ™์€ ๊ฒƒ๋“ค๋„ ๋˜์ง€๋งŒ, ์ธ์‚ฌ์ดํŠธ๋กœ ํ†ต๊ณ„๋ฅผ ํ™•์ธํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ MixPanel์ด ํŽธํ•˜๋‹ค๊ณ  ํ•˜๋„ค์š” ! )  ๊ทธ๋Ÿฐ๋ฐ, ์ •์ž‘ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋ฉด MixPanel์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋งŽ์ด ์•ˆ๋‚˜์™”์Šต๋‹ˆ๋‹ค ! ๋”ฐ๋กœ ํ…Œ์ŠคํŠธ์šฉ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ๋„ํ–ˆ๊ณ , ์›ํ•˜๋Š”๋Œ€๋กœ ์„ฑ๊ณตํ•ด์„œ ๊ธฐ๋กํ•˜์—ฌ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค.   ..

article thumbnail
[Xcode ์—…๋กœ๋“œ ์—๋Ÿฌ] Invalid Bundle ( ํ™”๋ฉด ๋ฐฉํ–ฅ ์„ค์ •์‹œ )

๐Ÿ“š Invalid Bundle( ํ™”๋ฉด ๋ฐฉํ–ฅ์ธ orientations ์„ค์ •์‹œ ๋งˆ์ฃผํ•  ์ˆ˜ ์žˆ๋Š” ์—๋Ÿฌ )   ์–ด์ œ iPadOS ์•ฑ์„ TestFlight์— ๋“ฑ๋กํ•˜๋‹ค๊ฐ€ ๋งŒ๋‚œ ์—๋Ÿฌ์ด๋‹ค. ํ™”๋ฉด์„ ๊ฐ€๋กœ๋ชจ๋“œ๋กœ ๊ณ ์ •์‹œํ‚ค๋Š๋ผ, ํ•ด๋‹น ์„ค์ • ํ›„ ๋‹ค์‹œ TestFlight์— ์˜ฌ๋ฆด๋•Œ ๋ฐœ๊ฒฌ๋œ ๊ฒƒ์ธ๋ฐ, ํ™”๋ฉด์„ ๊ฐ€๋กœ๋ชจ๋“œ, ์„ธ๋กœ๋ชจ๋“œ ์„ค์ •ํ•  ๋•Œ ๋ณดํ†ต PROJECT - TARGET - Build Setting์—์„œ์ด ์˜ต์…˜์„ ์„ค์ •ํ•ด์ค„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ™”๋ฉด ๋ฐฉํ–ฅ์„ ์„ค์ •ํ•˜๊ณ , TestFlgith์„ ์˜ฌ๋ฆด๋•Œ Archive๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ๋‚˜๋ฉด ํ…Œํ”Œ์— ์˜ฌ๋ผ๊ฐ€์ง€์•Š๊ณ ERROR ITMS-90474: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientati..

article thumbnail
[SwiftUI] Invalid frame dimension
๐ŸŽ iOS/SwiftUI 2024. 8. 19. 20:25

๐Ÿ“š Error : Invalid frame dimension SwiftUI๋กœ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ํ”„๋ ˆ์ž„์„ ๊ฐ€๋กœ๋กœ ๊ฐ€๋“ ์ฑ„์šฐ๋ ค๊ณ  width์— .infinity๋ฅผ ์ ์šฉํ•˜์˜€๋”๋‹ˆ ๋ณด๋ผ์ƒ‰ ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์—ˆ๋‹ค.  ์ด๊ฒŒ ๋ญ๋ƒ๋ฉด .. ํ”„๋ ˆ์ž„์˜ ์น˜์ˆ˜๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค !   โœ… Solve1. width๊ฐ€ ์•„๋‹Œ maxWidth๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ• ) Text("Hi") .frame(maxWidth: .infinity) .frame(height: 100, alighment: .center)  2. UIScreen ์‚ฌ์ด์ฆˆ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.Text("Hi") .frame(width: UIScreen.main.bounds.width, height: 100, alighment: .center)

article thumbnail
[Xcode ์—…๋กœ๋“œ ์—๋Ÿฌ] Invalid App Store Icon.

App Icon์„ ์ถ”๊ฐ€ํ•˜๊ณ  Test Flight์„ ์˜ฌ๋ฆฌ๋ ค๊ณ , Archive ํ•  ๋•Œ ๋ฐœ๊ฒฌํ•œ ์—๋Ÿฌ์ด๋‹ค. ERROR : Invalid App Store Icon. The App Store Icon in the asset catalog in '์•ฑ์ด๋ฆ„' can't be tranparent nor contain an alpha chaennel.ํ•ด์„ : ์ž˜๋ชป๋œ ์•ฑ์Šคํ† ์–ด ์•„์ด์ฝ˜์ž…๋‹ˆ๋‹ค. '์•ฑ์ด๋ฆ„'์˜ ์ž์‚ฐ ์นดํƒˆ๋กœ๊ทธ์— ์žˆ๋Š” App Store ์•„์ด์ฝ˜์€ ํˆฌ๋ช…ํ•˜๊ฑฐ๋‚˜ ์•ŒํŒŒ ์ฑ„๋„์„ ํฌํ•จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.  ์ฆ‰, Xcode์—์„œ 1024x1024์‚ฌ์ด์ฆˆ์˜ ์•ฑ ์•„์ด์ฝ˜ ์‚ฌ์ง„์„ ๋„ฃ์—ˆ์„ํ…๋ฐ, ํ•ด๋‹น ํŒŒ์ผ์— ํˆฌ๋ช…๋„๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.์ด ํˆฌ๋ช…๋„๋ฅผ ์—†์• ์ฃผ๊ณ  ๋‹ค์‹œ ์˜ฌ๋ ค์ฃผ๋ฉด ๋œ๋‹ค !   1. ์•„์ด์ฝ˜์œผ๋กœ ์ถ”๊ฐ€ํ•œ ์ด๋ฏธ์ง€ํŒŒ์ผ์„ ๋ฐ”ํƒ•ํ™”๋ฉด์— ๋ณต์‚ฌ๋ณธ์„ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค...