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

์ „์ฒด ๊ธ€

(95)
[iOS, Swift] ์ด๋ฏธ์ง€(ํŒŒ์ผ) ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•˜๊ธฐ(multipart/form-data), ์‚ฌ์ง„์•จ๋ฒ”(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)์—์„œ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ(UIImagePickerController) โœ”๏ธ GOAL ๐Ÿฉถ Step 1. ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‚ฌ์ง„์•จ๋ฒ”(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)์— ์ ‘๊ทผ 1-1. ์„ ํƒํ•œ ์ด๋ฏธ์ง€๋ฅผ imageView๋กœ ๋ณด์—ฌ์ค€๋‹ค. 1-2. ์„ ํƒํ•œ ์ด๋ฏธ์ง€ ํ˜น์€ ์นด๋ฉ”๋ผ๋กœ ์ฐ์€ ์ด๋ฏธ์ง€๋ฅผ ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•œ๋‹ค. ๐Ÿฉถ Step 2. ์„œ๋ฒ„ ํ†ต์‹  ํ›„ response url๋กœ imageView์— ๋ณด์—ฌ์ค€๋‹ค. โœ”๏ธ SETTING 1. Info.plist ์ˆ˜์ • privacy - Photo Library Usage Description, Privacy - Camera Usage Description ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์ง„์•จ๋ฒ”, ์นด๋ฉ”๋ผ ์ ‘๊ทผ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ํ—ˆ๊ฐ€ + Description์— ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋ฅผ ๊ธฐ์žฌํ•œ๋‹ค. ์ด๋•Œ, ์ด์œ ๋Š” ์นด๋ฉ”๋ผ, ์•จ๋ฒ” ํ—ˆ๊ฐ€ ์š”์ฒญ ์•Œ๋ฆผ ์ฐฝ์— ๋ฉ”์‹œ์ง€๋กœ ๋‚˜์˜ค๋Š”๋ฐ, ๋ถˆ์นœ์ ˆํ•œ ๊ฒฝ์šฐ, ์ถ”ํ›„ ์•ฑ์Šคํ† ์–ด์— ์•ฑ ๋ฐฐํฌํ•  ๋•Œ, ๋ฆฌ..
[iOS] Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ(1) - Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? iOS์—์„œ Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ? GCD/Operation? DispatchQueue ์˜ ์ข…๋ฅ˜ Synchronous(๋™๊ธฐ) VS Asynchronous(๋น„๋™๊ธฐ) Serial(์ง๋ ฌ) VS Concurrency(๋™์‹œ) ๐Ÿ”ฅ Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ? ๊ฐ™์€ ์‹œ๊ฐ„ ๋‚ด์— ๋‹ค์ˆ˜์˜ ์ž‘์—…์ด ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ ์“ฐ๋ ˆ๋“œ ์•ˆ์— ๋งŽ์€ ์–‘์˜ Task๊ฐ€ ์Œ“์ด๋ฉด์„œ ์†๋„ ์ง€์—ฐ, ์„ฑ๋Šฅ ์ €ํ•˜ ๋“ฑ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๋กœ ๋ถ„์‚ฐ์‹œ์ผœ์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ๋ณดํ†ต ์Šค๋ ˆ๋“œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ์ž‘์—…๋“ค์€ ์‹œ๊ฐ„์ด ๊ฝค๋‚˜ ๊ฑธ๋ฆฌ๋Š” ํฐ ์ž‘์—…์ด๊ฑฐ๋‚˜ ์–ธ์ œ ๋๋‚ ์ง€ ๋ชจ๋ฅด๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋„คํŠธ์›Œํฌ, ํŒŒ์ผ๋กœ๋”ฉ ๋“ฑ. ๊ทธ..
[iOS] Appstore ๋ฐฐํฌ ๊ด€๋ จ ์—๋Ÿฌ ๋ฐ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• [Contents] Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing Guideline 2.1 - Information Needed - (1) Guideline 2.1 - Information Needed - (2) ITMS-90863: Apple silicon Macs support issue - The app links with libraries that are not present on Mac: Library not loaded: @rpath/Alamofire.framework/Alamofire Testflight ์ง„ํ–‰ ์ƒํƒœ์— '์ˆ˜์ถœ ..
[Error, Xcode] ์•„์นด์ด๋ธŒ์‹œ ๋ฐœ์ƒ ERROR - Run custom shell script '[CP] Embed Pods Frameworks' [์—๋Ÿฌ๋‚ด์šฉ] [ํ•ด๊ฒฐ๋ฐฉ๋ฒ•] pod deintegrate, install, update ๋‹ค ์•ˆ๋œ๋‹ค. ํ„ฐ๋ฏธ๋„ ๋กœ๊ทธ์— ์ฝ”์ฝ”์•„ํŒŸ ๋ฒ„์ „์ด ์•ˆ ๋งž๋Š”๋‹ค๊ณ  ๋‚˜์˜ด. ์•„๋ž˜ ๋ช…๋ น์–ด ์ˆ˜ํ–‰ํ•˜์—ฌ ์ฝ”์ฝ”์•„ํŒŸ์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์žฌ์„ค์น˜ sudo gem install cocoapods [๊ด€๋ จ URL] Run custom shell script '[CP] Embed Pods Frameworks' i am maintaining a capacitor ionic project supporting both iOS and android platform. I can build the project locally and run it on a device without any issue. But when archiving the following error...
[iOS] Objective-C <-> Swift ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ธฐ(1. ํ”„๋กœ์ ํŠธ์—์„œ 2. framework์—์„œ) + @objc attribute ์ •ํ™•ํžˆ ์‚ฌ์šฉํ•˜๊ธฐ ์ œํ’ˆ ๊ฐœ๋ฐœ ์ค‘ ๊ณ ๊ฐ์‚ฌ์˜ ์š”์ฒญ์— ๋”ฐ๋ผ Swift ์–ธ์–ด์— ๋Œ€์‘ํ•˜๋Š” ์ผ์ด ๋งŽ์•„์ง€๋ฉด์„œ, ๊ธฐ์กด Objective-C๋กœ ๊ตฌํ˜„๋œ ์ œํ’ˆ ์ž์ฒด๋ฅผ Swift๋กœ Converting ํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ Objective-C์™€ Swift๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ณ , Swift๋กœ ๋งŒ๋“  Framework๋ฅผ Objective-C ํ”„๋กœ์ ํŠธ์—์„œ Objective-C๋กœ ๋งŒ๋“  Framework๋ฅผ Swift ํ”„๋กœ์ ํŠธ์—์„œ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ Swift์™€ Objective-C ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •ํ•  ๊ฒƒ๋“ค๊ณผ ๋‘ ์–ธ์–ด์˜ ์ฐจ์ด์ ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ ์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•œ๋‹ค. [Contents] Swift ํ”„๋กœ์ ํŠธ์—์„œ Objective-C ์‚ฌ์šฉํ•˜๊ธฐ Swift ํ”„๋กœ์ ํŠธ์—์„œ Objective-C ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• (Import O..
[Swift] ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Swift data type) - 2. ์ปฌ๋ ‰์…˜ ํƒ€์ž…(๋ฐฐ์—ด(Array), ๋”•์…”๋„ˆ๋ฆฌ(Dictionary), ์ง‘ํ•ฉ(Set)) 1. Swift ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… 1 - 1. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… (Bool, Int, UInt, Float, Double, Character, String) 1 - 2. Any, AnyObject, nil, Typealias [Swift] ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Swift data type) - 1.๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…, Any, AnyObject, nil, Typealias ๐Ÿ’ก Swift ๋ฐ์ดํ„ฐ ํƒ€์ž… ํŠน์ง• - ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ด๋ฆ„์€ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž…๋ ฅํ•œ๋‹ค. - ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…(Int, Float, Double, Bool, String, Array, Dictionary, Set ๋“ฑ)์€ ๋ชจ๋‘ Struct (๊ตฌ์กฐ์ฒด)๋ฅผ ๊ธฐ.. lxxyeon.tistory.com 2. ์ปฌ๋ ‰์…˜ ํƒ€์ž… (Array, Dicti..
[iOS, Swift] UserDefault ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ์ €์žฅ, ์‚ฌ์šฉํ•˜๊ธฐ โญ๏ธ UserDefault ๋ž€ ? iOS์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. ์ฆ‰ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ์„ ํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ผ๋˜๊ฐ€ ๊ฒŒ์‹œ๋ฌผ์— ๋Œ€ํ•œ ์ •๋ณด์ฒ˜๋Ÿผ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž๋™ ๋กœ๊ทธ์ธ ์—ฌ๋ถ€, ์•„์ด๋”” ์ €์žฅ, ํ™˜๊ฒฝ์„ค์ •์—์„œ ์„ค์ •ํ•˜๋Š” ์„ค์ • ๋ฐ์ดํ„ฐ ๊ฐ’(์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์ธก์ • ๋‹จ์œ„๋‚˜ ๋ฏธ๋””์–ด ์žฌ์ƒ ์†๋„ ๋“ฑ) ๊ฐ™์€ ๋‹จ์ผ ๋ฐ์ดํ„ฐ ๋“ฑ์„ UserDefaults๋กœ ๋‹ด์•„์„œ ๋ณด๊ด€ ๊ณต์‹ ๋ฌธ์„œ : https://developer.apple.com/documentation/foundation/userdefaults Apple Developer Documentation developer.apple.com โญ๏ธ UserDefault ํŠน์ง• ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(์•ฑ์ด ์‹คํ–‰๋˜๋Š” ..
[iOS]Objective-C ์—์„œ ์ด์ง„๋ฒ•, ๋น„ํŠธ์—ฐ์‚ฐ์ž(|,&,>>,<<) ์‚ฌ์šฉํ•˜๊ธฐ ๋„คํŠธ์›Œํฌ ํƒ€์ž… ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋น„ํŠธ์—ฐ์‚ฐ์ž!!! ์ƒ์†Œํ•œ ์—ฐ์‚ฐ์ž์ง€๋งŒ, C์–ธ์–ด ์—ฐ์‚ฐ์ž์™€ ๋™์ผํ•˜๋‹ค. ๋จผ์ € ์ด์ง„๋ฒ•์— ์ต์ˆ™ํ•ด์•ผ ํ•จ,,;; ๋‚˜๋„ ๋‹ค์‹œ ์ฐพ์•„๋ดค๋‹ค!... 1. ์‹ญ์ง„๋ฒ• > ์ด์ง„๋ฒ• ์•„๋ž˜๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹ญ์ง„๋ฒ•(5)์„ ์ด์ง„๋ฒ•(101)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜ˆ์ œ! ์‹ญ์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” 5๋Š” ์ด์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด 101!! 2. ์ด์ง„๋ฒ• > ์‹ญ์ง„๋ฒ• ์ด์ง„๋ฒ•(1101)์„ ์‹ญ์ง„๋ฒ•(13)์œผ๋กœ ๋ณ€ํ™˜ ๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์˜ค๋ฉด, ๋‚ด๊ฐ€ ๋ณธ ์ฝ”๋“œ๋Š” SCNetworkReachabilityFlags์˜ ๊ฐ’๋“ค์ด์—ˆ๋Š”๋ฐ, typedef CF_OPTIONS(uint32_t, SCNetworkReachabilityFlags) { kSCNetworkReachabilityFlagsTransientConnection= 1

๋ฐ˜์‘ํ˜•