Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Bundle의 구조와 역할에 대해 설명하시오. #19

Open
Taehyeon-Kim opened this issue Nov 7, 2021 · 3 comments
Open

App Bundle의 구조와 역할에 대해 설명하시오. #19

Taehyeon-Kim opened this issue Nov 7, 2021 · 3 comments
Labels

Comments

@Taehyeon-Kim
Copy link
Contributor

No description provided.

@Taehyeon-Kim
Copy link
Contributor Author

Bundle

우선, 번들은 실행가능한 코드와 관련 리소스(이미지, 사운드 등)을 한 공간에 묶는 파일시스템 안에 있는 디렉터리이다.

Application Bundle

  • 개발자들에 의해 흔히 생성되는 번들이다.
  • 앱이 정상적으로 동작하기 위해 필요한 모든 것을 담고 있다.

크게 다음의 파일을 포함하고 있다.

  • Info.plist
    앱을 위한 설정 정보를 담은 런타임 설정 파일
  • Executable
    실행 파일(앱의 main entry point와 앱 타겟, 정적 link 포함)
  • Resource files
    실행가능한 파일 밖에 있는 데이터를 의미, 모든 리소스는 localized 또는 nonlocalized 될 수 있다.
  • Other support files

App Bundle 구조

MyApp.app
   MyApp               - 실제 앱 이름에서 .app 확장자를 뗀 것이 실행파일(executable)
   MyAppIcon.png       - 엡을 나타내는데 사용되는 아이콘 이미지 (Application icons)
   MySearchIcon.png    - 앱을 검색했을때 가장 먼저 보여지는 이미지
	 MySettingsIcon.png
   Info.plist          - 번들 ID, 버전 넘버, 디스플레이 네임 등의 앱의 설정 정보
   Default.png
   MainWindow.nib      - 런치타임에 앱을 로드하기 위한 기본 인터페이스 오브젝트, 메인 윈도우 객체, 앱 델리게이트 객체 포함
   Settings.bundle
   iTunesArtwork

   - localized 리소스 (각각 서브 디렉터리에 위치)
   en.lproj
      MyImage.png
   fr.lproj
      MyImage.png

결국 번들은 하나의 앱을 구성하는 여러 요소를 한 곳에 묶어 관리하는 하나의 모음집이다.

@hyesuuou
Copy link
Member

구조

  • .app 앱의 코드를 포함하고 있는 실행가능한 파일이다.
  • Application icons 홈스크린, 검색결과, 설정 등 다양한 곳에서 다양한 크기의 응용 프로그램 아이콘을 표시하는데, 이때 표시되는 아이콘을 나타낸다.
  • Info.plist (Information Property list file): bundle ID, 버전정보 등 앱에 대한 구성정보를 포함한다.
  • Launch Images 앱의 시작 인터페이스를 보여주는 이미지로, 시스템은 애플리케이션이 창과 사용자 인터페이스를 로드하기 전까지 Launch이미지를 사용한다. 만약 Launch 이미지가 없다면 검은 화면으로 표시된다.
  • MainWindow.nib 앱 런치시간에 앱을 로드하기 위한 기본 인터페이스 객체를 포함하고 있다. MainWindow.nib 파일에는 메인 윈도우 객체, 앱 델리게이트 객체를 갖고 있다.
  • Setting.bundle 앱의 기본설정을 구성하고 표시할 프로퍼티 리스트와 기타 리소스 파일이 포함되어 있습니다.
  • Custom resource files : non-localized 리소스는 최상위 디렉토리에, localized 리소스는 language-specific 하위 디렉토리에 위치한다.. 리소스는 이미지, 사운드파일, nib파일, 설정파일, 문자열 파일 및 애플리케이션에 필요한 기타 커스텀 데이터 파일로 구성된다.

역할

Application Bundle은 어플리케이션의 성공적인 작동에 필요한 모든 것을 저장한다

  • 코드와 리소스 디렉토리의 구조를 통해 개발자가 앱을 만드는 것을 도와준다.
  • 코드나 리소스의 예측가능한 로딩과 지역화 기능을 제공한다.

@heerucan
Copy link

번들과 앱 번들

  • 번들 : 디스크의 번들 디렉터리에 저장된 코드 및 리소스의 표현, 번들 구조는 대상 플랫폼과 빌드 중인 번들의 유형에 따라 다릅니다.
    (실행가능한 코드와 관련 리소스(이미지, 사운드 등)을 한 공간에 묶는 파일시스템에 있는 디렉토리)

  • 애플리케이션 번들 : 개발자가 생성하는 가장 일반적인 유형의 번들이며 애플리케이션의 성공적인 작동에 필요한 모든 것을 저장합니다.


  • Example 애플리케이션 코드를 포함하는 실행 파일. 애플리케이션 이름에서 .app을 뺀 것과 동일. (필수)
  • Icon.png 애플리케이션 아이콘. 모든 아이콘이 필요한 것은 아니지만 대부분은 권장된다. (필수/권장)
  • Info.plist 이 파일에는 번들 ID, 버전 번호 및 디스플레이 이름과 같은 애플리케이션에 대한 구성 정보가 포함되어 있다.
  • Launch images 애플리케이션의 초기 인터페이스를 특정 방향으로 표시하는 하나 이상의 이미지 (권장)
  • Main.nib 시작 시 로드할 기본 인터페이스 객체를 포함하고 있다. 일반적으로 이 nib 파일에는 기본 창 객체와 AppDelegate 객체의 인스턴스가 포함된다. 그 다은 다른 인터페이스 객체는 추가 nib 파일에서 로드되거나 애플리케이션에 의해 프로그래밍 방식으로 생성된다. (권장)
  • Settings.bundle 애플리케이션에 추가할 애플리케이션별 기본 설정이 포함된 특별한 유형의 플러그인이다. 이 번들에는 기본 설정을 구성하고 표시할 프로퍼티 리스트와 기타 리소스 파일이 포함되어 있다.
  • Custom Resource Files 리소스는 nib, image, sound, setting, string 등 애플리케이션에 필요한 기타 커스텀 데이터 파일로 구성된다.

앱 번들의 구조

일반적인 iOS 애플리케이션 번들에는 실행 파일과 애플리케이션에서 사용하는 모든 리소스(예: 응용프로그램 아이콘, 기타 이미지 및 지역화된 콘텐츠)가 최상위 번들 디렉토리에 포함되어 있습니다.
사용자 자신의 응용 프로그램에 추가 하위 디렉토리를 생성하여 리소스 및 기타 관련 파일을 구성할 수 있습니다.

https://melod-it.gitbook.io/sagwa/documentation-archive/bundle-programming-guide/bundle-structures

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants