๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
iOS ๐ŸŽ/iOS

iOS File System = SandBox ๊ตฌ์กฐ

by yongmin.Lee 2022. 3. 4.

 

 

ํ•˜๋‚˜์˜ ์•ฑ์€ ํ•˜๋‚˜์˜ ์ƒŒ๋“œ๋ฐ•์Šค

  • ์ƒŒ๋“œ๋ฐ•์Šค(Sandbox)๋ž€ ์ง์—ญํ•˜๋ฉด ๋ชจ๋ž˜ํ†ต์ธ๋ฐ, ์–ด๋ฆฐ์•„์ด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์ด ์ƒŒ๋“œ๋ฐ•์Šค ๋‚ด์—์„œ๋งŒ ๋†€๋„๋ก ํ•˜๋Š” ์˜๋ฏธ์—์„œ ์œ ๋ž˜๋œ ๋ณด์•ˆ ๋ชจ๋ธ์ด๋‹ค.
  • ๋ณด์•ˆ์„ ์œ„ํ•ด์„œ ์•ฑ์„ ์„ค์น˜ํ•  ๋•Œ ์šด์˜ ์ฒด์ œ๋Š” ์ž๋™์œผ๋กœ ํ•ด๋‹น ์•ฑ์— ๋Œ€ํ•œ ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • iOS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ฑ๋งˆ๋‹ค ๋ณ„๋„์˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์„œ ๊ณต์œ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ณ  ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜จ ์ ‘๊ทผ์— ๋Œ€ํ•ด์„œ ๋ณดํ˜ธ๋˜๋Š” ์˜์—ญ์œผ๋กœ ์‹œ์Šคํ…œ์ด ๋ถ€์ •์ ์œผ๋กœ ์กฐ์ž‘๋˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๋ณด์•ˆ ํ˜•ํƒœ๋ฅผ ๊ฐ–๊ณ ์žˆ๋‹ค.
  • ํ•˜๋‚˜์˜ ์•ฑ์€ ํ•˜๋‚˜์˜ ์ƒŒ๋“œ๋ฐ•์Šค ๋‚ด์—์„œ๋งŒ ๋†€ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ.
  • ์ฆ‰, ์ƒŒ๋“œ๋ฐ•์Šค๋Š” ํŒŒ์ผ, ํ™˜๊ฒฝ์„ค์ •, ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค, ํ•˜๋“œ์›จ์–ด ๋“ฑ์— ๋Œ€ํ•œ ์•ฑ์˜ ์ ‘๊ทผ์„ ์ œํ•œํ•˜๋Š” ์„ธ๋ถ„ํ™”๋œ ์ œ์–ด ์ง‘ํ•ฉ, ์ปค๋„ ์ˆ˜์ค€์—์„œ ์‹œํ–‰๋˜๋Š” ์ ‘๊ทผ ์ œ์–ด ๊ธฐ์ˆ  

 

์ƒŒ๋“œ๋ฐ•์Šค ๊ตฌ์กฐ ์œ /๋ฌด ๋น„๊ต

  • ์™ผ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์•ฑ์ด ์ƒŒ๋“œ๋ฐ•์Šคํ™” ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์•ฑ์€ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ–๊ฒŒ๋˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ๋™์ผํ•˜๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ด๋Ÿด ๊ฒฝ์šฐ, ์•ฑ์ด๋‚˜ ์—ฐ๊ฒฐ๋œ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ณด์•ˆ์  ๊ฒฐํ•จ์ด ์žˆ์„ ๋•Œ ๊ณต๊ฒฉ์ž๋Š” ํ•ด๋‹น ์•ฑ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์• ํ”Œ์€ ์•ฑ์„ ์ƒŒ๋“œ๋ฐ•์Šคํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ์•ฑ ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ์จ ์‹œ์Šคํ…œ์—์„œ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ ‘๊ทผ๊ถŒํ•œ์„ ์•ฑ์— ๋ถ€์—ฌํ•˜๋ฉฐ ์—ด๊ธฐ ๋ฐ ์ €์žฅ, ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋“ฑ ์นœ์ˆ™ํ•œ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ์•ฑ์— ํˆฌ๋ช…ํ•˜๊ฒŒ ์ถ”๊ฐ€ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์ƒŒ๋“œ๋ฐ•์Šค ๋‚ด๋ถ€ ์ปจํ…Œ์ด๋„ˆ๊ตฌ์กฐ

  • ๋ณด์•ˆ์„ ์œ„ํ•ด์„œ ์•ฑ๊ณผ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์‚ฌ์ด์˜ ์ƒํ˜ธ ์ž‘์šฉ์€ ์•ฑ์˜ ์ƒŒ๋“œ๋ฐ•์Šค ๋‚ด๋ถ€ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ œํ•œ๋œ๋‹ค
  • ๋งŒ๋“ค์–ด์ง„ ๊ฐ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” ํŠน์ •ํ•œ ์—ญํ• ์ด ์žˆ๋‹ค

 

๋ฒˆ๋“ค ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ

  • ์•ฑ์˜ ๋ฒˆ๋“ค์„ ๋ณด์œ ํ•˜๊ณ  ์•ฑ๊ณผ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Compile Source(.swift)๊ฐ€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•ํƒœ์˜ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜
  • info.plist, Resources(์ด๋ฏธ์ง€, ์‚ฌ์šด๋“œ, strings,... )๋“ฑ์„ ๊ทธ๋ฃนํ™”
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ทธ๋ฃนํ™”
  • ์Šคํ† ๋ฆฌ๋ณด๋“œ, Xib ๋“ฑ์ด ๋ณ€ํ™˜
  • ์ด ๋””๋ ‰ํ† ๋ฆฌ์—” ์“ธ ์ˆ˜ ์—†์Œ
  • ์•ฑ ๋ฒˆ๋“ค์— ์ €์žฅ๋œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ฝ๊ธฐ ์ „์šฉ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 

 

๋ฐ์ดํ„ฐ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ

 

  • ์•ฑ๊ณผ ์‚ฌ์šฉ์ž ๋ชจ๋‘์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.
  • ์•ฑ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋” ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.
    • Dcouments/
      • ๊ฐœ๋ฐœ์ž๊ฐ€ Document, Library, tmp, System Data ์™ธ์˜ ์ง์ ‘ ๋””๋ ˆํ† ๋ฆฌ๋‚˜ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๊ธฐ์— Document์˜ ์„œ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ
      • ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ƒ์„ฑ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
      • ์ด ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์€ ํŒŒ์ผ ๊ณต์œ ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœํ•˜๋ ค๋Š” ํŒŒ์ผ๋งŒ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ์ด ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์€ iTunes ๋ฐ iCloud์— ์˜ํ•ด ๋ฐฑ์—…๋ฉ๋‹ˆ๋‹ค.
      • Realm์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Documents์˜ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋…ธ์ถœ์ด ๋˜๋ฉด ์•ˆ๋˜๋Š” ์ค‘์š” ์ •๋ณด๋Š” Library์˜ Application Support ํด๋”๋กœ ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝ
    • Library/
      • ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ์•„๋‹Œ ๋ชจ๋“  ํŒŒ์ผ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ฑ์€ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ์ด๋Ÿฌํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
      • iOS ์•ฑ์€ ์ผ๋ฐ˜์ ์œผ๋กœ Application Support ๋ฐ Caches(์•ฑ์˜ ์Šค๋ƒ…์ƒท ๋“ฑ ์ €์žฅ) ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
      • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ๋˜๊ณ  ์‹ถ์ง€ ์•Š์€ ํŒŒ์ผ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 
      • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ(Caches ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์ œ์™ธ)์€ iTunes ๋ฐ iCloud์— ์˜ํ•ด ๋ฐฑ์—…๋ฉ๋‹ˆ๋‹ค. 
    • tmp/
      • ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ์‹คํ–‰ ๊ฐ„์— ์ง€์†ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์ž„์‹œ ํŒŒ์ผ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ํŒŒ์ผ์„ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ์‹œ์Šคํ…œ์€ ์•ฑ์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์ง€ ์•Š์„ ๋•Œ ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ์ด ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์€ iTunes ๋˜๋Š” iCloud์— ์˜ํ•ด ๋ฐฑ์—…๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

 

์•„์ดํด๋ผ์šฐ๋“œ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ

  • ์•ฑ์€ ๋Ÿฐํƒ€์ž„ ์‹œ iCloud ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์š”์ฒญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ฐธ๊ณ ์ž๋ฃŒ

https://zeddios.tistory.com/435?category=682196

https://sihyungyou.github.io/iOS-app-bundle/

https://jinnify.tistory.com/26

https://ahyeonlog.tistory.com/53

https://velog.io/@leeyoungwoozz/iOS-File-System-%EA%B5%AC%EC%A1%B0

'iOS ๐ŸŽ > iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ReactorKit 1  (0) 2022.03.15
iOS ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ  (0) 2022.03.04
Frame-base layout vs Auto layout  (0) 2022.03.02
translatesAutoresizingMaskIntoConstraints ์†์„ฑ  (0) 2022.02.23
Main Run Loop & Update Cycle  (0) 2022.01.24