> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# In-House App Library Item 구성

> Iru Endpoint의 In-House App Library Item을 사용하여 기업 사내 iOS 및 iPadOS 앱을 배포합니다. IPA 파일을 업로드하고 앱 배포를 관리합니다.

<Callout icon="apple" color="#B84A7A" iconType="regular">이 가이드는 iOS 기기 및 iPadOS 기기에 적용됩니다</Callout>

### 사내 앱

사내 앱은 조직 내부 사용을 위해 설계된 독점 애플리케이션입니다. Custom Apps를 비공개로 유지하고 Apple App Store의 심사 프로세스를 피해야 할 때 특히 유용합니다. 이러한 앱은 일반적으로 공개 배포 채널을 거치지 않고 조직 내 기기에 직접 배포됩니다. 사내 앱에 대한 자세한 내용은 [Apple 문서](https://support.apple.com/guide/deployment/distribute-proprietary-in-house-apps-depce7cefc4d/web)를 참조하십시오.

### 작동 방식

사내 앱을 사용하면 조직이 Apple 기기 전체에 Custom Apps를 배포할 수 있습니다. Iru Endpoint를 사용하여 In-House App Library Item을 생성하고 이러한 배포를 관리할 수 있습니다. 앱의 .ipa 파일을 Iru Endpoint에 업로드하면 파일이 처리되어 앱 아이콘, 번들 ID 및 버전 정보와 같은 세부 정보가 구문 분석됩니다. 그런 다음 Iru Endpoint는 해당 세부 정보를 사용하여 필요한 매니페스트 파일을 자동으로 생성하고 앱을 배포합니다.

### 요구 사항

* 업로드하는 파일은 .ipa 형식이어야 합니다
* .ipa 파일 크기는 4GB를 초과할 수 없습니다
* 업로드하는 파일의 번들 버전은 정수 기반의 시맨틱 버전이어야 합니다
* 사내 앱을 업데이트할 때 새로 업로드하는 파일의 번들 ID는 기존 번들 ID와 일치해야 합니다
* 사내 앱을 업데이트할 때 새로 업로드하는 파일의 번들 버전은 이전 버전보다 높아야 합니다

<Note>
  In-House App Library Item은 복제할 수 없습니다.
</Note>

### In-House App Library Item 추가 및 구성

이 Library Item을 Iru Endpoint Library에 추가하려면 [Library 개요](/ko/endpoint/library/library-items-profiles/library-overview) 문서에 설명된 단계를 따르십시오.

<Steps>
  <Step title="Library Item 이름 지정">
    새 In-House App Library Item에 **이름**을 지정합니다.
  </Step>

  <Step title="Blueprint에 할당">
    원하는 [Blueprints](/ko/endpoint/getting-started/blueprints-and-library/configuring-blueprints)에 할당합니다.
  </Step>

  <Step title="IPA 파일 업로드">
    **Install Details**에서 사내 앱의 .ipa 파일을 업로드합니다.
  </Step>

  <Step title="유효성 검사">
    앱이 업로드되면 파일 유형, 버전 및 번들 ID의 유효성이 검사됩니다.

    <Frame>
      <img src="https://mintcdn.com/iru/gC7z0stQ_lsWmY64/assets/media/images/iru-in-house-app-upload-validation.png?fit=max&auto=format&n=gC7z0stQ_lsWmY64&q=85&s=68616f998550a32414c97585d57ce86d" alt="파일 유형, 버전 및 번들 ID 검사를 포함한 파일 유효성 검사 프로세스를 보여주는 In-House App 업로드 인터페이스" width="2114" height="924" data-path="assets/media/images/iru-in-house-app-upload-validation.png" />
    </Frame>
  </Step>
</Steps>

### 사내 앱용 AppConfig

In-House App Library Item은 iOS, iPadOS, tvOS 및 visionOS에 대한 관리형 앱 구성(AppConfig)을 지원합니다. 키-값 쌍으로 구성된 XML 사전을 붙여넣으면 앱이 배포될 때 무선으로 구성됩니다. 앱 구성을 편집하면 할당된 모든 기기에 자동으로 배포됩니다.

<Steps>
  <Step title="In-House App Library Item 열기">
    Library에서 구성하려는 In-House App을 엽니다.
  </Step>

  <Step title="앱 구성 설정">
    **Set app configuration** 옵션을 찾아 활성화합니다. 키-값 쌍으로 구성된 AppConfig XML 사전을 붙여넣습니다.
  </Step>

  <Step title="저장">
    **저장**을 선택합니다. 구성은 앱과 함께 배포되며 변경할 때 업데이트됩니다.
  </Step>
</Steps>

AppConfig 형식 및 예에 대한 자세한 내용은 [AppConfig 사용](/ko/endpoint/library/library-items-profiles/using-appconfig)을 참조하십시오.

### 사내 앱 업데이트

사내 앱의 최신 버전을 배포할 준비가 되면 두 가지 권장 방법이 있습니다.

#### Library의 기존 사내 앱 업데이트

* 현재 In-House App Library Item에 새 버전을 업로드합니다. 이렇게 하면 이전 파일이 교체되고 해당 Library Item에 할당된 모든 기기에 새 설치 명령이 자동으로 전송됩니다.
* 새 버전은 이전 버전과 동일한 번들 ID를 가져야 하며, 버전 번호는 현재 버전보다 높아야 합니다.

#### 새 버전을 위한 새 Library Item 생성

* 다른 기기는 현재 버전으로 유지하면서 특정 기기 그룹에 새 버전을 배포하려는 경우 새 In-House App Library Item을 생성할 수 있습니다.
* 이 옵션에는 Assignment Maps를 사용하는 것이 좋습니다.

  * Blueprints 또는 Assignment Map 노드에는 번들 ID(Apple이 각 앱에 요구하는 고유 식별자)당 하나의 사내 앱만 포함할 수 있습니다. 그러나 서로 다른 Assignment Map 노드에서 동일한 번들 ID를 사용할 수 있습니다. 가장 오른쪽 노드가 항상 우선한다는 점을 기억하십시오.
* 체계적으로 관리하려면 Library Item 이름에 앱의 버전 번호를 넣어 동일한 앱의 다른 버전을 쉽게 구별할 수 있도록 하십시오.

### 앱 아이콘 구문 분석 고려 사항

* In-House App Library Item에 .ipa 파일을 업로드하면 Iru Endpoint는 Xcode에서 생성한 **Info.plist** 파일에서 메타데이터를 구문 분석합니다. 이 파일에는 메타데이터 및 아이콘 이미지와 같은 중요한 정보가 포함되어 있습니다. Xcode가 이러한 앱을 빌드하는 방식은 개발자의 구성에 따라 다를 수 있습니다.
* Iru Endpoint가 In-House Apps Library 또는 Home Screen Layout Library Item에 표시할 올바른 앱 아이콘을 추출할 수 있도록 하려면 아이콘 이미지 파일이 **.png** 파일이어야 하며 파일 이름이 **Info.plist** 파일에서 직접 참조되어야 합니다.

예를 들어 **Accuhive.ipa** 테스트 앱에서 **Info.plist** 파일의 **CFBundleIcons** 키 아래는 다음과 같을 수 있습니다.

```xml Info.plist lines theme={null}
<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>AppIcon60x60</string>
        </array>
        <key>CFBundleIconName</key>
        <string>AppIcon</string>
    </dict>
</dict>
```

이 경우 Iru는 **CFBundleIconFiles** 키를 사용하여 Library Item 내에 표시할 앱 아이콘을 찾아 추출합니다.

<Frame>
  <img src="https://mintcdn.com/iru/gC7z0stQ_lsWmY64/assets/media/images/iru-in-house-app-icon-display.png?fit=max&auto=format&n=gC7z0stQ_lsWmY64&q=85&s=dc7fbf24057106e21af64b9488fcb09b" alt="Info.plist의 CFBundleIconFiles에서 추출한 앱 아이콘을 보여주는 In-House App Library Item" width="748" height="656" data-path="assets/media/images/iru-in-house-app-icon-display.png" />
</Frame>

<Note>
  **Info.plist** 파일이 아이콘 파일을 참조하지 않으면 Iru는 Library Item에 아이콘을 표시할 수 없습니다. 그러나 이는 Iru의 표시에만 영향을 미칩니다. 앱이 기기에 설치되면 앱 자체에 내장된 아이콘을 사용합니다.
</Note>

### 기타 고려 사항

* 사내 앱은 [Iru API](/en/endpoint/api/iru-api-overview)를 사용하여 관리할 수 있습니다. 자세한 내용은 [API 문서](https://api-docs.kandji.io/#7468c0a8-7369-45cf-8f4b-0ef5725efc46)를 참조하십시오.
* 허용되는 .ipa 앱 버전 형식에는 정수 기반의 X.Y.Z 또는 X.Y가 포함됩니다. X 또는 문자나 기호가 포함된 형식과 같은 다른 형식은 허용되지 않습니다.
* 저장하면 앱이 버전 및 번들 ID 정보와 함께 표시되므로 배포할 준비가 된 앱과 버전을 쉽게 식별할 수 있습니다. Library Item 상단의 세부 정보가 이 정보를 반영하도록 업데이트됩니다.
* Blueprints 또는 Assignment Map 노드에는 번들 ID(Apple이 기기의 각 앱에 요구하는 고유 식별자)당 하나의 사내 앱만 포함할 수 있습니다. 그러나 서로 다른 노드에서 동일한 사내 앱 번들 ID를 사용할 수 있습니다. 모든 Assignment Map 노드와 마찬가지로 가장 오른쪽 노드가 우선합니다.
