일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코딩테스트
- Method
- tuist
- 이니셜라이저
- Swift
- type
- init
- optional
- Xcode
- url
- Terminal
- initializer
- initalizer
- interpace
- extension
- property
- 디자인패턴
- 스위프트
- instance
- struct
- Foundation
- enum
- IOS
- Git
- delegate
- Unicode
- Class
- Protocol
- UIKit
- String
Archives
- Today
- Total
아리의 iOS 탐구생활
[iOS] Bundle이 뭘까? 본문
반응형
iOS 프로그래밍 강의를 듣다가 만나게 된 번들. 이 번들은 디렉토리를 추상화한 용어이다.
Bundle과 Package 개념을 서로 혼용해서 쓰는 경우가 많은데, 많은 Bundle이 Package이기도 하기 때문이다. application 같은 경우는 Finder에서 사용자에게 단일한 파일로 노출되는 Package이면서, 실행 코드와 리소스를 포함하여 Bundle이기도 한 대표적인 예시라고 볼 수 있다.
A Bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code.
실행 가능한 코드와, 그 코드에 의해 사용되는 리소스를 가진 디렉토리.
그렇다면 번들은 코드를 담고 있으니, 번들 내에 접근해서 코드를 사용할 수 있어야 한다.
마음에 드는 사용하고 싶은 번들이 있다면, 다음과 같이 접근할 수 있다.
guard let url = Bundle.main.url(forResource: "A", withExtension: "wav") else { return }
여기서 main은 무엇을 의미하는 것일까? 그리고 어떻게 저장된 값을 가져오는 것일까? 알아보자.
위에서 보았던 코드에서 url 형태를 가져올 수 있었다.
주로 path, url, object의 값들을 저장하고 가져오는 용도로 사용한다.
Main Bundle의 위치는 Bundle.main.bundleURL을 출력해보면 쉽게 알 수 있다. 이를 출력하면 아래와 같은 형태의 경로가 나온다.
/Users/userName/Library/Developer/CoreSimulator/Devices/...Some Hash.../AweSomeProject.app
따라서 번들이 가지고 있는 내용들은 info.plist, assets, string 파일 등등이 있겠다.
Reference
반응형
'Swift > iOS' 카테고리의 다른 글
[iOS] Timer를 간단히 사용해보기. (0) | 2021.09.30 |
---|---|
[iOS] local에 있는 오디오파일 재생하는 방법 (0) | 2021.09.28 |
[iOS/Xcode] Auto Layout에 대해 알아보자. (1) | 2021.09.27 |
[Swift/iOS] FileManager로 파일 생성(쓰기), 읽기, 삭제하기 (3) | 2021.08.27 |
[Swift] 시간과 날짜를 다루는 타입에 대해서 알아보자. (0) | 2021.08.25 |
Comments