header-img
Info :
์ „์ฒด ๊ธ€ 42
list_img
[iOS] static framework to xcframework, cocoapod ๋ฐฐํฌ
2023.04.07
A. ๊ฒฐ๋ก  ํ˜ธ์ŠคํŠธ ์•ฑ์—์„œ static, dynamic ๊ด€๊ณ„ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ˜ธ์ŠคํŠธ ์•ฑ์—์„œ ์ด๋ฏธ a ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋„ a ์‚ฌ์šฉํ•ด์•ผ ๋˜๋ฉด ์ถฉ๋Œ ์—†์ด ๊ทธ๋ƒฅ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฑธ๋กœ ์‚ฌ์šฉ๋จ. ํ”„๋ ˆ์ž„์›Œํฌ ์ž์ฒด๋Š” xcframework์ด๊ณ  ๊ทธ ๋‚ด๋ถ€๋Š” static library์ž„. ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€ ์†Œ์Šค์ฝ”๋“œ ๋น„๊ณต๊ฐœ, ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด PC์— ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ ์ „์ฒด ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด indexing์ด ๋˜์–ด์žˆ์Œ. ๋งŒ์•ฝ ์ œ3์ž๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€ ์†Œ์Šค ์ฝ”๋“œ ์—†์ด pod์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ ๋ฐ›๋Š”๋‹ค๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Œ. ์ฒดํฌํ•ด๋ณธ ๊ฒฐ๊ณผ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ์ข…์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ‚ค์ฒด์ธ ๊ฐ€๋Šฅ UIKit ์‚ฌ์šฉํ•ด์„œ vc, view … ๋“ฑ๋“ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ Bundle๋กœ ๋‚˜๊ฐ€์•ผ ํ•˜๋Š” xib, image ํŒŒ์ผ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ฐฐํฌ ๋ถˆ๊ฐ€๋Šฅ. ํ…Œ์ŠคํŠธ ์ข…์†..
[iOS] pod dependency trouble shooting
2023.04.07
A. ์ง€ํ–ฅํ•˜๋Š” ๊ฒƒ third party lib๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” framework๋ฅผ xcframework๋กœ buildํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. cocoapod์— ๋ฐฐํฌํ•  ๋•Œ ์ด xcframework๊ฐ€ ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ์ข…์†์„ฑ๋“ค์„ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. B. ํ•ด๊ฒฐ๋ฐฉ์•ˆ 2๋ฒˆ์€ ๋„ˆ๋ฌด ์‰ฌ์› ์Œ. ๋ฐฐํฌํ•  ํ”„๋ ˆ์ž„์›Œํฌ์˜ podspec์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋จ. Pod::Spec.new do |s| s.name = "SampleFramework" s.version = "0.1.5" s.summary = "A brief description of XCFrameworkTest project." s.description = 'Copyright', :text => "๊นƒ ์ฃผ์†Œ", :tag => s.version.to_s } s.ve..
list_img
[iOS] 1st party framework์—์„œ 3rd party framework ์‚ฌ์šฉ
2023.04.07
A. Umbrella Framework ๋ถˆ๊ฐ€๋Šฅ Technical Note TN2435: Embedding Frameworks In An App Umbrella framework : ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํฌํ•จํ•˜๋Š” ํ˜•ํƒœ. macOS์—์„œ๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ง€์–‘๋˜๋Š” ๊ตฌ์กฐ. iOS, watchOS, tvOS์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ. ๋”ฐ๋ผ์„œ ํ”„๋ ˆ์ž„์›Œํฌ ์•ˆ์— ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋„ฃ์ง€ ๋ง๊ณ  Embedding a framework ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ. B. ์ผ๋ฐ˜ 3rd party framework ํฌํ•จํ•˜๋Š” ๋ฐฉ๋ฒ• ์ „์ฒด ๊ณผ์ • ์•„๋ž˜ ๋‹จ๊ณ„๋Š” framework project, test project, ๊ฐœ๋ฐœ workspace(framework project, test project๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฐœ๋ฐœํ™˜๊ฒฝ)๊ฐ€ ๋ชจ๋‘ ์„ธํŒ…๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์— ..
list_img
[iOS] Framework์— ์ข…์†์„ฑ ์ถ”๊ฐ€ ์‹œ ์ž‘์—…ํ™˜๊ฒฝ ์„ธํŒ…
2023.04.06
A. Framework ๊ฐœ๋ฐœํ•  ๋•Œ Framework ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ cmd open → pod init ์ถ”๊ฐ€ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ .podfile์— ๋„ฃ์–ด์ค€ ํ›„ pod install ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ, ํ”„๋ ˆ์ž„์›Œํฌ ํ”„๋กœ์ ํŠธ ๊ฐ™์ด ๋„ฃ์–ด ๋‘” ์›Œํฌ์ŠคํŽ˜์ด์Šค open workspace์˜ project navigator ์šฐํด๋ฆญ ํ›„ add new files to “…workspace” ์„ ํƒ ํ”„๋ ˆ์ž„์›Œํฌ ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์— 2๋ฒˆ์œผ๋กœ ์ƒ์„ฑ๋œ Pods > Pods.xcodeproj ์„ ํƒ ์ถ”๊ฐ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•ด์„œ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœํ•˜๋ฉด ๋จ.
list_img
[iOS] framework ์ž‘์—…ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ
2023.04.06
A. ์ „์ฒด ๊ณผ์ • SDK Framework Project, Test App Project ๋‘˜ ๋‹ค ์กด์žฌํ•œ๋‹ค๋Š” ์ „์ œ ํ•˜์— ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. Workspace ์ƒ์„ฑ ๋งŒ๋“  ์›Œํฌ์ŠคํŽ˜์ด์Šค ์—ด๊ณ  Project Navigator ์šฐํด๋ฆญ > Add File to “workspace ์ด๋ฆ„” > ํ”„๋ ˆ์ž„์›Œํฌ, ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ…Œ์ŠคํŠธํ•  ํ”„๋กœ์ ํŠธ์˜ .xcodeproj ํŒŒ์ผ ์ถ”๊ฐ€ Project Navigator์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ…Œ์ŠคํŠธํ•  ํ”„๋กœ์ ํŠธ ๋ˆ„๋ฅด๊ณ  Targets > General > Frameworks, Libraries, and Embeded Content์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ ์ถ”๊ฐ€ ํ›„ Do not Embed๋กœ ์†์„ฑ ์„ค์ • test ์‹œ์ž‘ B. ๊ฐ ๊ณผ์ • ์ƒ์„ธ - 1 Workspace ์ƒ์„ฑ File > New > Workspace ์„ ํƒ ์ด๋ฆ„์€ ..
list_img
[iOS] XCFramework build script
2023.04.06
A. ์ „์ฒด ๊ณผ์ • ํ”„๋ ˆ์ž„์›Œํฌ > Targets > Build Phases ์ด๋™ ํ›„ new Target Aggregate ์ถ”๊ฐ€ Run script phase ์ถ”๊ฐ€ ์‰˜ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋นŒ๋“œ ํ…Œ์ŠคํŠธ B. ๊ฐ ๊ณผ์ • ์ƒ์„ธ - 1 Project Navigator์—์„œ SDK Point Home ์„ ํƒ ๋งŒ์•ฝ ํ”„๋กœ์ ํŠธ์— X ์ณ๋†“์€ SdkPointHomeXCFramework ํƒ€๊ฒŸ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๊ณผ์ • ์ƒ๋žต ํ›„ F ๋‹จ๊ณ„๋กœ ์ด๋™. ์—†๋‹ค๋ฉด Project ์„ ํƒ ํ›„ ์™ผ์ชฝ ์•„๋ž˜ + ๋ฒ„ํŠผ ํด๋ฆญ C. ๊ฐ ๊ณผ์ • ์ƒ์„ธ - 2 Other → Aggregate → Next ์ˆœ์œผ๋กœ ์ถ”๊ฐ€ Team์€ None, Product name์€ ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€ D. ๊ฐ ๊ณผ์ • ์ƒ์„ธ - 3 ๋งŒ๋“  ํƒ€๊ฒŸ ์„ ํƒ Build Phases ์„ ํƒ + ๋ฒ„ํŠผ ํด๋ฆญ New Run S..