728x90
๋ฐ˜์‘ํ˜•

Computer Science/swift ๋ฝ€๊ฐœ๊ธฐ - ์ฐธ๊ณ  ์‚ฌ์ดํŠธ ์ €์žฅ์†Œ 44

[xcode] Info.plist ํŒŒ์ผ์˜ ์ •์ฒด ์•Œ์•„๋ณด๊ธฐ

Info.plistํŒŒ์ผ์€ ๋ฌด์—‡์ธ๊ฐ€ - information Property List ํŒŒ์ผ - ์‹คํ–‰ ํŒจํ‚ค์ง€์— ๊ด€ํ•œ ํ•„์ˆ˜ ์„ค์ • ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ตฌ์กฐํ™”๋œ ํ…์ŠคํŠธ ํŒŒ์ผ - ์ผ๋ฐ˜์ ์œผ๋กœ XML ํฌ๋งท ์‚ฌ์šฉ - key, value๋กœ ๊ตฌ์„ฑ๋œ dictionary ํ˜•ํƒœ์ด๋ฉฐ, ์ด ํ‚ค๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์•ฑ์˜ ์„ค์ •์„ ๊ฐ€์ ธ์˜ด - ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋จ Key ์„ค๋ช… Localization native development region ๊ฐœ๋ฐœ ์ง€์—ญ, ์–ธ์–ด Executable file ์‹คํ–‰ ํŒŒ์ผ ์ด๋ฆ„ Bundle identifier ๋ฒˆ๋“ค์„ ์‹๋ณ„ํ•˜๋Š” ๊ฐ’ InfoDictionary version Info.plist์˜ ๋ฒ„์ „ Bundle name 16๊ธ€์ž ๋ฏธ๋งŒ์˜ ๋ฒˆ๋“ค ์ด๋ฆ„(์•ฑ ์ด๋ฆ„) Bundle OS Type code ๋ฒˆ๋“ค OS ์ข…๋ฅ˜ ์ฝ”๋“œ..

[Pod error] sudo gem install cocoapods ์‹คํ–‰ ์‹œ ์—๋Ÿฌ (ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ)

sudo gem install cocoapods ์‹คํ–‰ ์‹œ ์—๋Ÿฌ ERROR: Error installing cocoapods: ERROR: Failed to build gem native extensions sudo gem install cocoapods ์‹œ ERROR log sudo gem install cocoapods Building native extensions. This could take a while... ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/ext/ffi_c /System/Libr..

[xcode] xcode์— audio asset ์ถ”๊ฐ€ (local๋ง๊ณ ..!)

xcode์— ์Œ์•…ํŒŒ์ผ์„ ์ถ”๊ฐ€! #xcode audio asset #asset catalog #audio file upload #add music asset 1. xcode์—์„œ File > New > File... ํด๋ฆญ 2. ์Šคํฌ๋กค์„ ์ข€ ๋‚ด๋ ค์„œ Resource์˜ Asset Catalog ํด๋ฆญ 3. ์›ํ•˜๋Š”๋Œ€๋กœ assest ๋ฌถ์Œํด๋”์˜ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ณ  audio๋ฐ์ดํ„ฐ ๊ทธ ์•ˆ์— ๋„ฃ์œผ๋ฉด ๋!! ๋”๋ณด๊ธฐ reference : https://developer.apple.com/library/archive/qa/qa1913/_index.html Technical Q&A QA1913: Accessing Audio Files in Asset Catalogs Technical Q&A QA1913 Accessing Audio Fi..

[ios] swift MVVM vs MVC ์ฐจ์ด

MVVM : MVC์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด Model - View - ViewModel ๐Ÿ’ก MVC์™€ MVVM ๋‹จ์ˆœ์ฐจ์ด Controller๊ฐ€ ์•„๋‹Œ ViewModel ๊ณ„์ธต์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ViewModel ๋˜ํ•œ Controller์ฒ˜๋Ÿผ View์™€ Model์˜ ์ค‘๊ฐ„ ๊ณ„์ธต ์—ญํ• ์„ ํ•จ 1. Model : ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ณ„์ธต (MVC์˜ Model๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€) ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด๋“ค(struct) ๋„คํŠธ์›Œํฌ ๋กœ์ง JSON ํŒŒ์‹ฑ ์ฝ”๋“œ ๋“ฑ ... struct Person { // Person์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋‹ด์€ ๊ตฌ์กฐ์ฒด let name: String var age: Int init(json: JSON) { // JSON ํŒŒ์‹ฑ name = json["name"].s..

[xcode] xcode๋นŒ๋“œ์‹œ ์ปดํ“จํ„ฐ ์ฃฝ์Œ/xcode ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ํ˜„์ƒ/xcode memory leak (ํ•ด๊ฒฐ๋ฐฉ๋ฒ•O)

์ผ๋‹จ ํ˜„์žฌ xcode๋ฒ„์ „์„ ํ™•์ธํ•ด๋ด…๋‹ˆ๋‹ค ๋ฒ„์ „์ด 13.1์ด๋ผ๋ฉด? ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ 13.2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค swift-frontend memory usage | Apple Developer Forums I had the same issue and had to downgrade Xcode to 12.5.1 and the issue is gone. First I tried removing some code, including GeometryReader to avoid the problem, but it did not work. Tried other things such as restart Xcode, mac, launching other projects, developer.apple.com

[swift] Alamofire๋ž€? Alamofire ์‚ฌ์šฉ๋ฒ• ๋ฝ€๊ฐœ๊ธฐ

Alamofire : ๋น„๋™๊ธฐ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” swift๊ธฐ๋ฐ˜์˜ HTTP ๋„คํŠธ์›Œํ‚น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) ๐Ÿ’ก ์™œ ํ•„์š”ํ•œ๊ฐ€ ? - ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด ! ๋” ๊ตฌ์ฒด์ ์œผ๋ก , ์„œ๋ฒ„์—์„œ jsonํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ ค๋ฉด HTTP ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๋ฉฐ HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ตœ๊ฐ•์ž Alamofire๋ฅผ ์ด์šฉํ•ด๋ณด์ž ! Apple์˜ Foundation ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” URL ๋กœ๋”ฉ ์‹œ์Šคํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด์žˆ์Œ URLSession ๋ฐ URLSessionTask ๊ฐ™์€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๊ตฌํ˜„๋˜์–ด์žˆ์Œ Alamofire๋Š” CocoaPods๋ฅผ ์‚ฌ์šฉํ•ด ์‰ฝ๊ฒŒ ์„ค์น˜ ๊ฐ€๋Šฅ ์‚ฌ์šฉ๋ฒ• Alamofire๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ์ œ์ผ ๋จผ์ € import Alamofire ํ•ด์คŒ โœฑ ์ฐธ๊ณ  ) Alamofire ver5 ์ดํ›„๋ถ€ํ„ฐ๋Š” AF ๊ฐ€ Se..

[swift] Metal vs OpenGL

Metal vs OpenGL ๐Ÿ“ข ํ˜„์žฌ Apple ์ž…์žฅ : OpenGL deprecate ์‹œํ‚ฌ ๊ฒƒ์ด๋ฏ€๋กœ Metal ์‚ฌ์šฉ ๊ถŒ์žฅ! OpenGL : Open Graphics Libaray ์‹ค๋ฆฌ์ฝ˜ ๊ทธ๋ž˜ํ”ฝ์Šค์‚ฌ์—์„œ ๋งŒ๋“  2์ฐจ์› ๋ฐ 3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ์Šค ํ‘œ์ค€ API 3D ๊ฒŒ์ž„์—์„œ ํ•„์š”ํ•œ ์ž…์ฒด๊ฐ, ํ…์Šค์ณ, ๊ทธ๋ฆผ์ž์˜ ๋ณ€ํ™” ๋“ฑ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์—ฐ์‚ฐ๋“ค์ด ํ•„์š”ํ•˜๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด๋งŒ์œผ๋กœ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ. ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ๊ธฐ๋Šฅ ์ด ํ•„์ˆ˜์  ! โ†’ ์ด๋Ÿฐ ๋ณต์žกํ•œ ์—ฐ์‚ฐ๊ณผ ํ•˜๋“œ์›จ์–ด ์ œ์–ด๋ฅผ ๋Œ€์‹  ํ•ด์ฃผ๋Š” ๊ฒƒ์ด 3D graphic library๋“ค์ด๊ณ  OpenGL์ด ๊ทธ ์ค‘ ํ•˜๋‚˜ OpenGL ES : OpenGL for Embedded System ๋ชจ๋ฐ”์ผ๊ณผ ๊ฐ™์€ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ OpenGL OpenGL์˜ subset Metal ์• ํ”Œ ์ด ๊ฐœ๋ฐœํ•œ ํ”„๋ ˆ..

[swift] swiftui Text ์‚ฌ์ด์ฆˆ์— ๋งž์ถฐ์„œ frameํฌ๊ธฐ ์ •ํ•˜๊ธฐ (fixedSize)

์˜ˆ์‹œ : ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด struct Title: View { var body: some View { VStack { Text("Statistics") Rectangle() .foregroundColor(.red) .frame(height: (5.0)) } } } ์œ„์™€ ๊ฐ™์ด ๋นจ๊ฐ„์ค„์ด ์ƒ๊ธด๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฑด..!! ์ด๋ ‡๊ฒŒ text ์‚ฌ์ด์ฆˆ์— ๋งž์ถฐ์„œ frameํฌ๊ธฐ๊ฐ€ ์ง€์ •๋˜๊ธธ ๋ฐ”๋ž€๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค !!!! struct Title: View { var body: some View { VStack { Text("Statistics") Rectangle() .foregroundColor(.red) .frame(height: (5.0)) }.fixedSize() } } ํ•ด๊ฒฐ๋ฐฉ๋ฒ• :..

[Xcode] Compiling failed: extra tokens at the end of #sourceLocation directive ์—๋Ÿฌ ํ•ด๊ฒฐ โ€ผ๏ธ

xcode preview๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ž๊พธ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค Compiling failed: extra tokens at the end of #sourceLocation directive ์ด์™€ ๊ฐ™์€ ์—๋Ÿฌ๋Š” xcode ๋ฒ„๊ทธ๋ผ๊ณ  ํ•œ๋‹ค. if ๋ฌธ์ด๋‚˜ ํด๋กœ์ €์™€ ๊ฐ™์ด '{' ๊ด„ํ˜ธ ์—ด๊ธฐ ๋ถ€๋ถ„์— ์ฃผ์„์ด ์žˆ์œผ๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ผ๊ณ  ํ•œ๋‹ค. ์‹ค์ œ๋กœ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ง€์ ์œผ๋กœ ๊ฐ€๋ณด๋‹ˆ ๊ด„ํ˜ธ ์—ด๊ธฐ ๋ถ€๋ถ„์— ์ฃผ์„์ด ๋‹ฌ๋ ค์žˆ์—ˆ๋‹ค ์ € ์ฃผ์„์„ ์‚ญ์ œํ•ด์ฃผ๊ณ  ๋‹ค์‹œ ๋นŒ๋“œํ•˜์˜€๋”ฐ ! Build Success !!

[Xcode] Simulator Error ํ•ด๊ฒฐ๋ฐฉ๋ฒ• : ld: in /Users/../.../Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(FIRAnalyticsConnector_e321ed8e3db06efc9803f6c008e67a34.o), building for iOS Simulator, but linking in obj..

์ด๋ฒˆ์— ์•„์ด๋งฅ M1์„ ๊ตฌ๋งคํ•˜๊ณ  simulator๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ์—๋Ÿฌ์™€ ๋งˆ์ฃผํ•˜์—ฌ,, ๊ต‰์žฅํžˆ ๋ถˆํŽธํ–ˆ๋‹ค,,ใ…Ž ๋‚ด๊ฐ€ ๋งˆ์ฃผํ•œ ์—๋Ÿฌ๋Š” ld: in /Users/../.../Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(FIRAnalyticsConnector_e321ed8e3db06efc9803f6c008e67a34.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/.../.../Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIR..

[swift] xcode build ์‹œ "Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window." ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฒ•โ€ผ๏ธ

๊ฐ€๋” xcode์—์„œ ๋””๋ฐ”์ด์Šค ๋ฐ”๊ฟ”์„œ ๋นŒ๋“œํ•˜๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋ฉด ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜๋Š” ์—๋Ÿฌ๋ฉ”์„ธ์ง€... Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window. ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค!!!!! ๊ป๋‹ค ํ‚ค๋ฉด ๋ผ์š” โ˜บ๏ธ

[swift] uikit์™€ swiftui ํ˜ผ์šฉํ•˜๊ธฐ (uikit์—์„œ swiftui์‚ฌ์šฉ, swiftui์—์„œ uikit์‚ฌ์šฉ)

1. UIKit โ†’ SwiftUI : UIKit์˜ UIView๋ฅผ SwiftUI์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์˜์–ด๋กœ๋Š” wrapping์„ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. wrap UIView to use in SwiftUI 1-a. SwiftUI์—์„œ UIView ์‚ฌ์šฉ UIViewRepresentable protocol๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” ๊ตฌ์กฐ์ฒด(struct) ์ƒ์„ฑํ•˜์—ฌ SwiftUI์—์„œ ์‚ฌ์šฉ UIViewRepresentable protocol : UIViewRespresentable protocol์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ๊ตฌํ˜„๋˜์–ด์•ผ ํ•˜๋Š” 2๊ฐ€์ง€ ๋ฉ”์†Œ๋“œ func makeUIView(context: Context) โ†’ UIKit์˜ UI ElementType(ex. UILabel) SwiftUI์—์„œ ๋ณด์—ฌ์ค„ view๋ฅผ ๋ฐ˜ํ™˜ func updateUIVi..

[swift] swift์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ ๋ฐ UIView ๊ฐœ๋…

reference : https://crisco.tistory.com/entry/UIView-๊ฐœ๋…์•Œ๊ธฐ UIView ๊ฐœ๋…์•Œ๊ธฐ UIView๋Š” UI๋ฅผ ์ด๋ฃจ๋Š” ๊ตฌ์„ฑ์š”์†Œ์ด๋ฉฐ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋Š” ์‹œ๊ฐ์  ์š”์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์œˆ๋„์šฐ๋Š” ์ปจํ…Œ์ด๋„ˆ ์—ญํ™œ์„ ํ•˜๋ฉฐ, ํ™”๋ฉด์— ํ‘œ์‹œํ•  ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ตœ์ƒ์œ„์— ์œ„์น˜ํ•˜๊ณ  UIImageView, UITextView ๋“ฑ ๊ฐ ์šฉ๋„์— crisco.tistory.com

728x90
๋ฐ˜์‘ํ˜•