header-img
Info :
CS/iOS, Swift 18
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..
[iOS] XCFramework private repository์— cocoapod์œผ๋กœ ๋ฐฐํฌํ•˜๊ธฐ
2023.04.06
A. pros & cons pros ๋นŒ๋“œ๋œ ํ”„๋ ˆ์ž„์›Œํฌ ๋‹จ์œ„ ๊ณต์œ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์•…์„ฑ ์œ ์ €๊ฐ€ ์ง์ ‘ ๋””์ปดํŒŒ์ผ ํ•ด๋ณด์ง€ ์•Š๋Š” ์ด์ƒ ๋ณด์•ˆ ๋น„๊ต์  ๋†’์Œ static / dynamic framework๋ฅผ ๋ฐฐํฌํ•˜๋Š” ์ชฝ์—์„œ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Œ (๋ฐ›๋Š” ์ชฝ์—์„œ ์ˆ˜์ •ํ•  ๋ฐฉ๋ฒ•์ด ์—†์–ด ๋ณด์ž„) iOS, iOS-simulator ๊ฐ๊ฐ ๋ฐฐํฌํ•ด์ค„ ํ•„์š”๊ฐ€ ์—†์Œ cocoapod์œผ๋กœ๋Š” ๊ฒฐ๊ณผ๋ฌผ๋งŒ ๋ฒ„์ „ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉฐ ๋ฐฐํฌํ•˜๋ฉด ๋˜๊ณ  ์‹ค์ œ ๊ฐœ๋ฐœ์€ cocoapod์œผ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กญ๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ๋” ๊ฐœ๋ฐœ์ด ๊ฐ„ํŽธํ•จ cocoapod์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์—ฐ๋™ ์•ฑ์‚ฌ์— framework๋งŒ ๊ฑด๋‚ด์ค„ ๋•Œ์—” ๊ฐ€์žฅ ๊ฐ„ํŽธํ•จ. ์™œ๋ƒ๋ฉด xcframework๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— repository ์ ‘๊ทผ๋งŒ ๋˜๋ฉด ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„์„œ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋จ. cons private reposi..
list_img
[iOS] Private Repository์— CocoaPod Framework ์˜ฌ๋ฆฌ๊ธฐ
2023.04.06
1. bitbucket์— ๋‘ ๊ฐœ์˜ repository๊ฐ€ ํ•„์š”ํ•จ. ์‹ค์ œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์‚ฌ์šฉํ•  ์ฝ”๋“œ ์ €์žฅํ•  remote repo 1๋ฒˆ์—์„œ ์˜ฌ๋ฆฐ cocoapod ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ŠคํŽ™์„ ๊ด€๋ฆฌํ•  remote repo ๋น„ํŠธ๋ฒ„ํ‚ท์— ๋‘ ๊ฐœ ๋‹ค private์œผ๋กœ ๋งŒ๋“ค๊ณ  git ์ฃผ์†Œ ์ €์žฅํ•ด๋‘๊ธฐ. 2. Pod์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งŒ๋“ค๊ธฐ cmd ์ฐฝ์—์„œ ์ฝ”์ฝ”์•„ํŒŸ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋งŒ๋“ค ํด๋”๋กœ ์ด๋™. pod lib create [ํ”„๋ ˆ์ž„์›Œํฌ๋ช…] ์ž…๋ ฅ ํ›„ ์•„๋ž˜ ์ฝ”๋“œ ์ž…๋ ฅ * What platform do you want to use? ์‚ฌ์šฉํ•  ํ”Œ๋žซํผ? -> iOS ์„ ํƒ * What language do you want to use?? ์‚ฌ์šฉํ•  ์–ธ์–ด? -> Swift ์„ ํƒ * Would you like to include a demo applicatio..
list_img
[iOS] framework ๊ธฐ๋ณธ
2023.02.14
1. CPU Architecture ์•„์ดํฐ์€ ๊ธฐ์ข…์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜์˜ CPU๋ฅผ ์‚ฌ์šฉํ•จ. ๋นŒ๋“œ๋ฅผ ํ•˜๋ฉด Execute file์ด ์ƒ์„ฑ๋˜๊ณ  ์ด ํŒŒ์ผ์„ CPU์—์„œ ์ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋งž๋Š” ์•„ํ‚คํ…์ฒ˜ ์ƒ์„ฑ์ด ํ•„์š”ํ•จ. ๊ธฐ์ข…๋ณ„ ์•„ํ‚คํ…์ฒ˜ armv7 : ~ iPhone 5s arm64 : iPhone 5s ~ x86_64 : 64bit ๊ธฐ๊ธฐ์— ๋Œ€์‘ํ•˜๋Š” simulator, mac ์šฐ๋ฆฌ๋Š” iOS 13๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ 13 ๋ฒ„์ „์€ iPhone SE, 6s๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋ฏ€๋กœ arm64๋กœ๋งŒ ๋นŒ๋“œํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Œ. Build Active Architecture Only Release : Yes < arm64 Debug : No < simulator๋„ ์ง€์›ํ•ด์•ผ ํ•จ. 2. Framework Static Framework ๊ตฌ์„ฑ : sourc..
[iOS] xcode, bitbucket ์—ฐ๋™
2023.02.14
๋น„ํŠธ๋ฒ„ํ‚ท ์—ฐ๋™ xcode ์ƒ๋‹จ xcode → settings → aacounts → ํ•˜๋‹จ ํ”Œ๋Ÿฌ์Šค ๋ˆ„๋ฅด๊ณ  Bitbucket Cloud ํด๋ฆญ ์•„์ด๋”” : ์•„์ด๋””@๋„๋ฉ”์ธ.com์—์„œ @๋„๋ฉ”์ธ.com ์ œ์™ธํ•˜๊ณ  ์•„์ด๋””๋งŒ ์ž…๋ ฅ. AppPassword : ๋น„ํŠธ๋ฒ„์ผ“์—์„œ ๋ฐœ๊ธ‰๋ฐ›์•„์„œ ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹Œ AppPassword ์ž…๋ ฅ SSH Key ๋ฐœ๊ธ‰๋ฐ›์€๊ฒŒ ์žˆ๋‹ค๋ฉด ์‚ฌ์šฉ remote repository ์„ค์ • ์™„๋ฃŒ
list_img
[iOS] IDFA ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ
2023.02.14
1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ AppTrackingTransparency.framework (์• ํ”Œ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ) AdSupport.framework (์• ํ”Œ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ) 2. ์•ˆ๋‚ด ๋ฌธ๊ตฌ ์ถ”๊ฐ€ info.plist์—์„œ tracking usage description ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉ์ž์˜ ์•ฑ ํŠธ๋ž˜ํ‚น์„ ๋ฐ›์•„์˜ค๋ฉด์„œ ์•ˆ๋‚ดํ•  ์•ˆ๋‚ด ๋ฌธ๊ตฌ๋ฅผ ์ž‘์„ฑํ•ด์คŒ. 3. ์ฝ”๋“œ์—์„œ ์ž‘์„ฑ iOS 14.5 ๋ฏธ๋งŒ์—์„œ๋Š” ์œ ์ €์˜ ๋™์˜ ์—†์ด IDFA๋ฅผ ๋ฐœ๊ธ‰ํ•  ์ˆ˜ ์žˆ์Œ. 14.5 ์ด์ƒ๋ถ€ํ„ฐ๋Š” isAdvertisingTrackingEnabled ์ž์ฒด๊ฐ€ deprecated ๋˜์–ด์„œ ATTrackingManager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ IDFA๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›์•„์•ผ ํ•จ. ์ฒ˜์Œ ์‹คํ–‰๋  ๋•Œ ๋ฐ›๊ฒŒ ํ•˜๋ ค๋ฉด SceneDelegate์—์„œ ํ•ด์ฃผ์–ด์•ผ ํ•จ. \ func sceneDidBe..