iOS
-
[SwiftUI] DragGestureiOS 2023. 8. 4. 14:17
DragGesture() .updating($translation){ value, state, _ in print("๐state (ํ์ฌ ์ํ) ", state, " ๐value.translation.height (์ ๋ฐ์ดํธ ๋ ์ํ)", value.translation.height) state = translation } } DragGesture๋ ๋๋๊ทธ ์ด๋ฒคํธ ์ํ์ค๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ก์ ์ ํธ์ถํ๋ ๋๋๊ทธ ๋ชจ์ ์ด๋ค. ๋ทฐ์์ ๋๋๊ทธ ์ ์ค์ฒ๋ฅผ ์ธ์ํ๋ ค๋ฉด ์ ์ค์ฒ๋ฅผ ๋ง๋ค๊ณ ๊ตฌ์ฑํ ๋ค์, gesture(_:including:) ๋ชจ๋ํ์ด์ด๋ฅผ ์ฌ์ฉํด์ ๋ทฐ์ ์ถ๊ฐํ๋ค. ๋ค์์ ์์ ๋๋๊ทธ ์ ์ค์ฒ๋ฅผ ์ถ๊ฐํ๊ณ , ์ฌ์ฉ์๊ฐ ๋๋๊ทธ ์ ์ค์ฒ๋ฅผ ์ํํ๋ ๋์ ์์ ์์์ ๋ณ๊ฒฝํ๋ ์ฝ๋๋ค. struct DragGestureView: V..
-
[SwiftUI] ๋๋ฐ์ด์ค์ width, height ๊ตฌํ๊ธฐiOS 2023. 8. 3. 14:18
SwiftUI์์ ๋๋ฐ์ด์ค์ ์ฌ์ด์ฆ (width, height)๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋ค. 1. GeometryReader ์ฌ์ฉํ๊ธฐ import SwiftUI struct ContentView: View { var body: some View { GeometryReader { geometry in ZStack { Color .yellow .frame( width: geometry.size.width, height: geometry.size.height ) VStack { Text("Width \(geometry.size.width)") Text("Height \(geometry.size.height)") } } } } } struct ContentView_Previews: PreviewProvide..
-
[iOS] Cocoapods ์ค์น ๋ฐ ์ฌ์ฉ๋ฒiOS 2023. 5. 30. 16:03
์ด๋ฒ ํฌ์คํ ์์๋ Cocoapods ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ ๊ฒ์! ๋จผ์ Cocoapods๋ ๋ฌด์์ผ๊น์? ๊ณต์๋ฌธ์์๋ ์๋์ ๊ฐ์ด ๋์์์ด์! Cocoapods๋ Swift์ Objective-C Cocoa ํ๋ก์ ํธ์ ์ข ์ ๊ด๋ฆฌ์์ ๋๋ค. 84000๊ฐ๊ฐ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ง๋ฉฐ, 3๋ฐฑ๋ง ๊ฐ ์ด์์ ์ฑ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. Cocoapods๋ ํ๋ก์ ํธ๋ฅผ ์ฐ์ํ๊ฒ ํ์ฅํ๋๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค. ์ฝ์ฝ์ํ์ ๋ง ๊ทธ๋๋ก ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋์ ์๋ฏธํฉ๋๋ค. ๋จผ์ Cocoapods๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ ์ค์นํด์ฃผ์ด์ผํด์. ํฐ๋ฏธ๋์ ์คํํด๋ด ์๋ค. command + ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฅด๊ณ terminal์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค. ๋๋ ์ด๋ ๊ฒ Launchpad์..
-
[iOS] Compiling for iOS 11.0, but module 'ComposableArchitecture' has a minimum deployment target of iOS 13.0 ์ค๋ฅ ํด๊ฒฐiOS 2023. 5. 17. 13:14
SPM์ ์์ฑํ๊ณ , ๋ ๋ค๋ฅธ ๋ชจ๋์ ์ถ๊ฐํด์ import ํ๊ธฐ ์ํด Package.swift์ products์ targets๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค. ์ด์ํ๊ฒ ๋น๋๋ ์ฑ๊ณตํ์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. Compiling for iOS 11.0, but module 'ComposableArchitecture' has a minimum deployment target of iOS 13.0: /Users/Name/Library/Developer/Xcode/DerivedData/~/Index.noindex/Build/Products/Debug-iphonesimulator/ComposableArchitecture.swiftmodule/arm64-apple-ios-simulator.swiftmodule ๋๋ ๋ถ๋ช ..
-
[iOS] Swift Package Manager (SPM) ์์ฑํ๊ธฐiOS 2023. 5. 16. 11:53
Swift Package Manager๋ก ํจํค์ง๋ฅผ ๋ง๋ค์ด์ ํ๋ก์ ํธ์ ์ถ๊ฐํด๋ณด๋ ค๊ณ ํฉ๋๋ค! 1. Package ์์ฑํ๊ธฐ ๋จผ์ Package๋ฅผ ๋ง๋ค์ด๋ณด๋๋ก ํ ๊ฒ์! Package๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํฐ๋ฏธ๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ๊ณผ Xcode์์ ์ง์ ๋ง๋๋ ๋ฐฉ์์ด ์๋๋ฐ, ์ ๋ Xcode๋ก ๋ง๋ค์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. Xcode > File > New > Package๋ฅผ ํด๋ฆญํด์ ํจํค์ง๋ฅผ ์์ฑํ ๊ฒ์. ๊ทธ๋ผ ์ด๋ ๊ฒ Package๊ฐ ์์ฑ์ด ๋ฉ๋๋ค. 2. Remote์ ์๋ ํจํค์ง ์ถ๊ฐํ๊ธฐ ์์์ ์์ฑ๋ ํจํค์ง๋ฅผ Xcode ํ๋ก์ ํธ์ ์ถ๊ฐํด๋ณผ๊ฑด๋ฐ์, ํจํค์ง ์ ํจ์ฑ ํ์ธ์ ์ํด์ ๋ฉ์๋ ํ๋๋ฅผ ์ถ๊ฐํด๋ณผ๊ฒ์! ํจํค์ง๋ฅผ remote์ ์ฌ๋ ค์ remote์ ์๋ ํจํค์ง๋ฅผ ์ถ๊ฐํ ์๋ ์๊ณ , ์ง๊ธ ๋ง๋ local์ ์๋ ํจํค์ง๋ฅผ ์ถ๊ฐํ ์..
-
[iOS] Swift Package Manager (SPM)iOS 2023. 5. 11. 13:36
Swift Package Manager๋? Swift Package Manager๋ ์์ค ์ฝ๋ ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ๋ก, ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ๊ณ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์ด ๋๊ตฌ๋ Swift ํจํค์ง ์ปดํ์ผ ๋ฐ ์ฐ๊ฒฐ, ์ข ์์ฑ ๊ด๋ฆฌ, ๋ฒ์ ๊ด๋ฆฌ, ์ ์ฐํ ๋ฐฐํฌ ๋ฐ ํ์ ๋ชจ๋ธ ์ง์ ๋ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. Github์ ๊ฐ์ ์๋น์ค์์ ํจํค์ง๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฟ๋ง ์๋๋ผ ํจํค์ง๋ ๊ฐ์ธ ๊ฐ๋ฐ, ํ ๋ด ์ฝ๋ ๊ณต์ ๋๋ ๊ธฐํ ์ธ๋ถํ๋ ์์ค์์๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. About Packages ํจํค์ง๋ Package.swift manifest ํ์ผ์ ํฌํจํ Swift ์์ค ํ์ผ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค. manifest file (ํน์ package manifes..
-
[iOS] Signing & Capabilities์์ Background Modes๊ฐ ์ถ๊ฐ๋์ง ์๋ ์ค๋ฅiOS 2023. 4. 18. 17:17
๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์น๋ฅผ ๋ฐ์์ค๊ธฐ ์ํด์ Signing & Capabilities์์ Background Modes๋ฅผ ์ถ๊ฐํด์ฃผ๋ ค๊ณ ํ๋ค. ๊ทผ๋ฐ ์ด๋ฐ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋์๊ณ , Cancel๊ณผ Change All ๋ฒํผ ๋ ์ค ์ด๋ค ๊ฑธ ํด๋ฆญํด๋ Background Modes๊ฐ ์ถ๊ฐ๋์ง ์์๋ค. The Background Modes capability should not be varied by configuration. Make changes to Background Modes by changing all configurations. ์ญ์ ์คํ์ค๋ฒํ๋ก์ฐ ์งฑ~ How to enable capability with Tuist iOS Tuist๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Xcode์ Setting์ ์ง์ ์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์๋ค. T..
-
[iOS] ์๋ฎฌ๋ ์ดํฐ/์ค๊ธฐ๊ธฐ์์ ์ค์ ์ ๋น๋ํ ์ฑ์ด ๋์ค์ง ์๋ ๊ฒฝ์ฐ (Feat. Settings.Bundle)iOS 2023. 4. 5. 18:03
์ฑ ๊ฐ๋ฐ์ ํ๋ฉด์ ์์น ์๋น์ค์ ๊ด๋ จ๋ ๊ถํ์ ์ค์ ํด์ค์ผํ๋ค. ๊ทธ๋์ Info.plist์ ํ์ํ ๊ฒ๋ค์ ์ถ๊ฐํด์ฃผ๊ณ , ํ์ ๋ฉ์์ง๋ ์ ์์ ์ผ๋ก ๋จ๊ณ .. ์์น ๊ถํ ์ํ๋ ์ ์์ ์ผ๋ก ๋์ค๋ ๊ฒ์ ํ์ธํ๋ค. ๊ทผ๋ฐ! ์๋ฎฌ๋ ์ดํฐ๋ ์ค ๊ธฐ๊ธฐ์ ๋๋ค ์ฑ์ ์ค์นํด๋, ์ค์ ์์ ํด๋น ์ฑ์ ๋ณผ ์๊ฐ ์์๋ค. ๋ณดํต ์ค์ ์์ ์ฑ์ ์์น ๊ถํ ์ค์ ์ด๋ผ๋๊ฐ, ์๋ฆผ ์ค์ ์ด๋ผ๋๊ฐ, .. ๋ฑ๋ฑ์ ํ ์ ์๋๋ฐ! ์ค์ ์ ๊ทธ๋ฅ ์ฑ์ด ์์๋ค. ๐ฅถ ์์น ๊ด๋ จ ๊ถํ์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ ! ๊ทธ๋ฅ ์ค์ ์ ์ฑ์ด ์์์. ์์ ์๋์์. ๊ณ์ ์๋์์ ํฌ๊ธฐํ ๋ป~ ํ๋ค๊ฐ ์ฐฌ์ฐ์ค๋น ์ ๋์์ผ๋ก ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค ! (โจ๋น์ฐฌ์ฐโจ) ์ผ๋จ ๋ฒ๊ทธ๋ ๋ง๋ ๊ฒ ๊ฐ๊ณ …..! (์๋ง๋..) Settings.Bundle์ ์ถ๊ฐํด์ ์ค์ ํ์ด์ง๋ฅผ ์ง์ ๋ง๋ค์ด..