> ## 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.

# Configurar el Library Item In-House App

> Implementa apps internas empresariales de iOS y iPadOS con el Library Item In-House App en Iru Endpoint. Carga archivos IPA y administra la distribución de apps.

<Callout icon="apple" color="#B84A7A" iconType="regular">Esta guía se aplica a dispositivos iOS y dispositivos iPadOS</Callout>

### Apps internas

Las apps internas (In-House) son aplicaciones propietarias diseñadas para uso interno dentro de una organización. Son especialmente útiles cuando necesitas mantener privadas tus Custom Apps y evitar el proceso de revisión del App Store de Apple. Estas apps normalmente se distribuyen directamente a los dispositivos de tu organización, sin pasar por los canales de distribución públicos. Para obtener más información sobre las apps internas, consulta la [documentación de Apple](https://support.apple.com/guide/deployment/distribute-proprietary-in-house-apps-depce7cefc4d/web).

### Cómo funciona

Las apps internas permiten a las organizaciones implementar Custom Apps en su flota de dispositivos Apple. Con Iru Endpoint, puedes crear un Library Item In-House App para administrar estas implementaciones. Cuando cargas el archivo .ipa de tu app en Iru Endpoint, el archivo se procesa y se analizan detalles como el icono de la app, el Bundle ID y la información de la versión. Luego, Iru Endpoint usa esos detalles para generar automáticamente el archivo de manifiesto necesario e implementar la app.

### Requisitos

* El archivo cargado debe estar en formato .ipa
* El tamaño del archivo .ipa no debe superar los 4 GB
* La versión del paquete del archivo cargado debe ser una versión semántica basada en números enteros
* Al actualizar una app interna, el Bundle ID del archivo recién cargado debe coincidir con el Bundle ID existente
* Al actualizar una app interna, la versión del paquete del archivo recién cargado debe ser superior a la versión anterior

<Note>
  El Library Item In-House App no se puede duplicar.
</Note>

### Agregar y configurar un Library Item In-House App

Para agregar este Library Item a tu Library de Iru Endpoint, sigue los pasos descritos en el artículo [Descripción general de la Library](/es/endpoint/library/library-items-profiles/library-overview).

<Steps>
  <Step title="Asignar un nombre al Library Item">
    Asigna un **nombre** al nuevo Library Item In-House App.
  </Step>

  <Step title="Asignar a Blueprints">
    Asígnalo a los [Blueprints](/es/endpoint/getting-started/blueprints-and-library/configuring-blueprints) que desees.
  </Step>

  <Step title="Cargar el archivo IPA">
    En **Install Details**, carga el archivo .ipa de tu app interna.
  </Step>

  <Step title="Validación">
    Una vez cargada tu app, se comprobará la validez del tipo de archivo, la versión y el Bundle 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="Interfaz de carga de In-House App que muestra el proceso de validación del archivo con comprobaciones de tipo de archivo, versión y Bundle ID" width="2114" height="924" data-path="assets/media/images/iru-in-house-app-upload-validation.png" />
    </Frame>
  </Step>
</Steps>

### AppConfig para apps internas

El Library Item In-House App admite la configuración de apps administradas (AppConfig) para iOS, iPadOS, tvOS y visionOS. Puedes pegar un diccionario XML de pares clave-valor para que la app se configure de forma inalámbrica cuando se implemente. Las modificaciones de la configuración de la app se implementan automáticamente en todos los dispositivos asignados.

<Steps>
  <Step title="Abrir el Library Item In-House App">
    En la Library, abre la In-House App que quieres configurar.
  </Step>

  <Step title="Establecer la configuración de la app">
    Ubica la opción **Set app configuration** y habilítala. Pega tu diccionario XML de AppConfig con los pares clave-valor.
  </Step>

  <Step title="Guardar">
    Selecciona **Guardar**. La configuración se implementa con la app y se actualiza cuando la cambias.
  </Step>
</Steps>

Para obtener más información sobre el formato de AppConfig y ejemplos, consulta [Usar AppConfig](/es/endpoint/library/library-items-profiles/using-appconfig).

### Actualizar apps internas

Cuando estés listo para implementar una versión más reciente de una app interna, hay dos enfoques recomendados:

#### Actualizar la In-House App existente en la Library

* Carga la nueva versión en el Library Item In-House App actual. Esto reemplazará el archivo anterior y enviará automáticamente nuevos comandos de instalación a todos los dispositivos asignados a ese Library Item.
* La nueva versión debe tener el mismo Bundle ID que la anterior, y el número de versión debe ser superior al de la versión actual.

#### Crear un nuevo Library Item para la nueva versión

* Si prefieres implementar la nueva versión en un grupo específico de dispositivos mientras mantienes otros en la versión actual, puedes crear un nuevo Library Item In-House App.
* Se recomienda usar Assignment Maps para esta opción.

  * Ten en cuenta que los Blueprints o los nodos de Assignment Map solo pueden incluir una app interna por Bundle ID (el identificador único que Apple exige para cada app). Sin embargo, puedes usar el mismo Bundle ID en distintos nodos de Assignment Map. Recuerda que el nodo situado más a la derecha siempre tiene prioridad.
* Para mantener todo organizado, asigna al Library Item un nombre que incluya el número de versión de la app, de modo que puedas distinguir fácilmente entre distintas versiones de la misma app.

### Consideraciones sobre el análisis del icono de la app

* Al cargar un archivo .ipa en un Library Item In-House App, Iru Endpoint analiza los metadatos del archivo **Info.plist** generado por Xcode. Este archivo incluye información fundamental, como los metadatos y las imágenes de los iconos. La forma en que Xcode compila estas apps puede variar según la configuración de tu desarrollador.
* Para garantizar que Iru Endpoint pueda extraer el icono correcto de la app para mostrarlo en la Library de In-House Apps o en el Library Item Home Screen Layout, los archivos de imagen del icono deben ser archivos **.png**, y sus nombres de archivo deben estar referenciados directamente en el archivo **Info.plist**.

Por ejemplo, en la app de prueba **Accuhive.ipa**, el archivo **Info.plist** podría tener un aspecto similar a este en la clave **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>
```

En este caso, Iru usa la clave **CFBundleIconFiles** para ubicar y extraer el icono de la app y mostrarlo en el 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="Library Item In-House App que muestra el icono de la app extraído de CFBundleIconFiles en Info.plist" width="748" height="656" data-path="assets/media/images/iru-in-house-app-icon-display.png" />
</Frame>

<Note>
  Si el archivo **Info.plist** no hace referencia a un archivo de icono, Iru no podrá mostrar un icono en el Library Item. Sin embargo, esto solo afecta a la visualización en Iru. Cuando la app se instale en un dispositivo, usará el icono integrado en la propia app.
</Note>

### Otras consideraciones

* Las In-House Apps se pueden administrar con la [API de Iru](/en/endpoint/api/iru-api-overview). Para obtener más información, consulta nuestra [documentación de la API](https://api-docs.kandji.io/#7468c0a8-7369-45cf-8f4b-0ef5725efc46).
* Los formatos de versión de app .ipa aceptados incluyen X.Y.Z o X.Y basados en números enteros. No se permiten otros formatos, como X o los que contienen letras o símbolos.
* Una vez guardada, tu app aparecerá con su información de versión y Bundle ID, lo que facilita identificar qué app y qué versión están listas para implementarse. Los detalles de la parte superior del Library Item se actualizarán para reflejar esta información.
* Los Blueprints o los nodos de Assignment Map solo pueden incluir una In-House App por Bundle ID (el identificador único que Apple exige para cada app en un dispositivo). Sin embargo, puedes usar el mismo Bundle ID de In-House App en distintos nodos. Como con todos los nodos de Assignment Map, los nodos situados más a la derecha tienen prioridad.
