์ค๋ ๊ฐ๋ฐํ ๋ ๊ฒช์๋ ๋ฌธ์ ์ธ๋ฐ, ์ฐพ์๋ณด๋ ๊ฐํน ์๊ธธ ์ ์๋ ๋ฒ๊ทธ์ธ๊ฒ ๊ฐ์ต๋๋ค. Xcode์์ Preview์ชฝ์์ 'can not preview in thie file'์ด๋ผ๊ณ ๋จ๊ณ ํ๋ฆฌ๋ทฐ๊ฐ ๋์ค์ง ์๋๊ฒ์ ๋๋ค.( fatal error ~~๋ ์์๋ ๊ฒ๊ฐ์๋ฐ ์ ํํ ๊ธฐ์ต์ ์๋๋ค์ ! ) Xcode๋ฅผ ๊ป๋ค์ผฐ๋๋ฐ๋ ํด๊ฒฐ๋์ง ์์์ง๋ง,๋ค์ ์๋ฃจ์ ์ผ๋ก ๋ฐ๋ก ํด๊ฒฐํ ์ ์์์ด์. 1. Xcode ์ข ๋ฃ2. ํฐ๋ฏธ๋์ ๋ค์ ๋ช ๋ น์ด ์ ๋ ฅ xcrun simctl --set previews delete all3. ๋ค์ Xcodeํค๋ฉด ํด๊ฒฐ ์๋ฃ
์ผ๋ฐ์ ์ธ Text๋ Image๋ ์ปดํฌ๋ํธ์ ํญ ์ ์ค์ฒ๋ฅผ ์ถ๊ฐํด์, ์ฌ์ฉ์๊ฐ ํญ ํ์๋ ์ก์ ์ ์ ์ํ ์ ์์ต๋๋ค. ์ ๊ฐ ๊ตฌํํ๋ฉด์ ๊ฒช์๋, ๊ฐ์ฅ ํํ ์ฌ์ฉํ ์ ์๋ ์์๋ก ๋ฐ๋ก์ฌ์ฉ์๊ฐ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๊ธฐ์ํด Keyboard๊ฐ ์ผ์ง๊ณ , ๋น ํ๋ฉด์ ํฐ์น์ ํค๋ณด๋๊ฐ ๋ซ๊ฒํ๋ ์ํฉ์ ๋ค ์ ์์ ๊ฒ ๊ฐ์๋ฐ์. VStack { // View Code}.onTapGesture { print("ํค๋ณด๋๋ฅผ ๋ซ์ต๋๋ค.")}์ ๋ ๋ถ๋ช ์ด๋ ๊ฒ ๊ฐ์ฅ ํฌ๊ฒ ๊ฐ์ธ๊ณ ์๋ VStack์ ํญ ์ ์ค์ฒ๋ฅผ ๋ฃ์์ต๋๋ค.์ด๋ฌ๋ฉด ํ๋ฉด์ ๋น๋ถ๋ถ์ ํฐ์นํ๋ฉด ํด๋น print๋ฌธ์ด ๋์์ผํ์ง์์ต๋๊น ? ๊ทผ๋ฐ ํน์ ๋ถ๋ถ์์๋ ์์ ์๋์ ํ์ง ์๋๊ฑฐ์์ ? ๊ทธ๋์,, Stack๊ฐ์๊ฒ ๊ฒน์ณ์ ์๋์ด ์๋๋๊ฒ์ธ๊ฐ ? ์์ํ๊ณ ์ฐพ์๋ดค๋๋ฐ ๊ทธ ๋ฌธ์ ๋ ์๋..
๐ TextField ๋ค์ค๋ผ์ธ ๋ง๋ค๊ธฐ ํ๋ก์ ํธ์์ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ Text Field๋ฅผ ๊ตฌํํ๊ณ ์์๋๋ฐ, ๋์์ธ์ด ์กฐ๊ธ์ฉ ๋ฐ๋๋ฉด์ ํ ์คํธ ํ๋์ ์ ๋ ฅํ ํ ์คํธ๋ค์ด ์ฌ๋ฌ ์ค๋ก ๋์์ผํ์ต๋๋ค. ๊ทผ๋ฐ ์ ๋ TextField์ TextEditor์ ์ฐจ์ด์ ์ด, TextField๋ ํ ์ค ๊ทธ๋ฆฌ๊ณ TextEditor๋ ์ฌ๋ฌ ์ค๋ก ๋ช ํํ์ค ์์์ต๋๋ค.๊ทธ๋ฌ๋๊น, ์ฌ๋ฌ์ค๋ก ํด์ผํ๋ค๋ฉด ๋ฌด์กฐ๊ฑด TextEditor๋ฅผ ์ฌ์ฉํด์ผํ๊ณ ์๋ํฐ์๋ Placeholder๊ฐ ์์ผ๋ฏ๋ก ์ด๊ฒ๋ ๋ง๋ค์ด์ค์ผํ๋ค ...placeholder๋ฅผ ์น์ผ๋ ค๋ฉด zstack์ ์ฐ๋ , overlayํ๋ ๋๋ฌด ๋ณ๊ฒฝํ๊ธฐ ๊ท์ฐฎ์์,, ์ฅ ๊ตฌ๊ธ๋ง์ ํด๋ณด์๋๋ฐ์. TextField์์๋ ๋ค์ค๋ผ์ธ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ...์ด์์ต๋๋ค. iOS 16์์๋ถํฐ ๋์๋๊ฒ์ด๋ผ๊ณ ..
๐ Tabbar Hide ๐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ Tabbar๊ฐ ์์๋๋ฐ ๋ฉ์ธ ํญ๋ฐ ํ๋ฉด์์ ๋ค๋น๊ฒ์ด์ ์ผ๋ก View๋ฅผ ์ด๋ํ๋ฉด์ด๋๋ View๋ถํฐ๋ Tabbar๊ฐ ์๋์ค๊ฒ ํด์ผํ์ต๋๋ค. ์ ๋ง ๊ฐ๋จํ ํด๊ฒฐ๋๋๊ตฐ์ ? ๐A View๊ฐ Tabbar์ ๋ฉ์ธ๋ทฐ์ด๊ณ ,A View์์ Navigation์ ํตํด B View๋ก ์ง์ ํ์๋, B View์์ ํญ๋ฐ๋ ์ฌ๋ผ์ง๊ฒ ํ๊ณ ์ถ๋ค. ํ๋ค๋ฉด B ํ์ผ์ View ์ฝ๋์ .toolbar(.hidden, for: .tabBar) ์ด ๋ชจ๋ํ์ด์ด๋ฅผ ์ ์ฉํด์ฃผ๋ฉด ๋ฉ๋๋ค ! ๋ฑ ๋ด๋ tabbar๋ฅผ hiddenํด์ฃผ๋๊ฑฐ๊ฒ ์ฃ ? โ๊ทผ๋ฐ ๋ฌธ์ ๊ฐ ๋ญ์๋ .. โ A ์์ B๋ก ๊ฐ๋ ํญ๋ฐ๋ ์์ฐ์ค๋ฝ๊ฒ ์ฌ๋ผ์ก์ง๋ง, B์์ ๋ค์ A๋ทฐ๋ก ๋๊ฐ๋ Tabbar๊ฐ ๋ฐ๋ก ๋ ์์ด์ผํ๋๋ฐ๋๋ ์ด๊ฐ ์์ด ..
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..
๐ ์ฑ ๋ด ํ์ฌ ์ฑ๋ฒ์ ์ ๋ณด ํ์ํ๊ธฐ ์ฑ์ ์ ๋ฐ์ดํธ ํด๊ฐ๋ฉด์ ์ฌ์ฉ์๋ง๋ค ์ ๋ฐ์ดํธ ์ฌ๋ถ์ ๋ฐ๋ผ, ์ฌ์ฉ์ค์ธ ๋ฒ์ ์ด ๋ค๋ฅผ ๊ฒ์ด๋ผ๋ ์๊ฐ๋ ๋ค์๊ณ ..์ธ์ฑ๋ฆฌ๋ทฐ๋ฅผ ๋ฌ๋ฉด์ ๊ฐ์ด ๋ณด์ด๋๊ฒ๋ ๋์์ง ์๊ฒ ๋ค ์๊ฐ์ด ๋ค์ด ๊ฐ๋จํ๊ฒ ์ถ๊ฐํ์๋๋ฐ์. 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))"..
๐ ์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ด๋ฒ์ ํํ๋ก์ ํธ์ ๊ฐ๋ฐ์์์ด ์กฐ๊ธ์ฉ ๊ณ์ ๋ฏธ๋ค์ง๋ฉด์, ๊ฐ๋ฐํ๊ณ ์ถ์๋ฐ ํ์ง๋ชปํด์ ์ต๊ทผ์ ์กฐ๊ธ์ฉ ์ ๋ฐ์ดํธํ๊ณ ์๋ ๊ฐ์ธํ๋ก์ ํธ ์ฑ์ ์ธ์ฑ๋ฆฌ๋ทฐ๋ฅผ ๋ฃ์ด๋ณด์์ต๋๋ค. ์ธ์ฑ๋ฆฌ๋ทฐ๋ ์ฑ ๋ด์์ ์ฑ์ ์ฑ์คํ ์ด ํ์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.์ฌ์ค ์ ๊ฐ ์ด๊ฑธ ์ ์ฉํ๋ ค๋ ์ฑ์ด ์ฌ์ฉ์๊ฐ ๋ง์ง ์์ง๋ง ๊พธ์คํ ์ฌ์ฉํ๊ณ ์๋ ์ฌ๋์ด ์์ต๋๋ค. ๊ทผ๋ฐ ํ์ฅ์ฑ์ด ๋์ง ์์ ๋จ์ผ ๊ธฐ๋ฅ ์ฑ์ด๋ผ.. ํ์ฅ์ ํ๋ค๋ฉด ์์ฒญ ํฌ๊ฒ ํด์ผํด์ ์ฌ์ฉ์๊ฐ ์๊ฒฌ์ด๋ ํผ๋๋ฐฑ์ ์กฐ๊ธ ๋ ๋ค์ด๋ณด๊ณ ์ถ์ด์ ์ ์ฉํ๋ คํฉ๋๋ค. ์ ๊ฐ SwiftUI๋ฅผ ์ฒ์ ๊ณต๋ถํ ๋, ์ ๊ฐ ์ฌ์ฉํ๋ ค๊ณ ๊ฐ๋จํ๊ฒ ๋ง๋ค์๋ ์ฑ์ธ๋ฐ ๋ฐฉ์นํด๋๋ค๊ฐ ๋์ค์ ๋ณด๋๊น ๊ณ์ ์ฐ๊ณ ์๋ ์ฌ๋์ด ์๋๋ผ๊ตฌ์?์ต๊ทผ์ ์ด๊ฒ์ ๊ฒ ์กฐ๊ธ์ฉ ์ ๋ฐ์ดํธ ์ค์ ๋๋ค ! Stor..
๐ ์ต๊ทผ์, 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..