Skip to content

Tipos de Apps y Estrategias

Tipo de AppClasificación de ContenedorEstrategia de MigraciónProtección de BloqueoNotas
App macOS nativa (sin auto-actualización)standaloneAppmacOS Stub PortalNoej., Safari, Finder
App con auto-actualización SparklestandaloneAppmacOS Stub Portalej., algunas apps de desarrolladores independientes
App Electron (sin app-update.yml)standaloneAppmacOS Stub PortalNoej., VS Code
App Electron (con app-update.yml)standaloneAppmacOS Stub Portalej., Slack, Discord
App híbrida Electron + SparklestandaloneAppmacOS Stub PortalAmbas banderas detectadas independientemente
Apps con actualizador personalizado (Chrome, Edge)standaloneAppmacOS Stub PortalNoIdentificadas vía LaunchServices, KSProductID, etc.
App iOS (versión Mac)standaloneAppiOS Stub PortalNoIconos extraídos de WrappedBundle; sin firmado
App de Mac App StorestandaloneAppmacOS Stub PortalNoProtección SIP; no se puede re-firmar
Directorio de contenedor de app únicasingleAppContainerWhole App SymlinkNoDirectorio con solo 1 .app; symlink completo
Directorio de suite de apps (ej., Office)appSuiteFolderWhole App SymlinkDepende de apps internasDirectorio con 2+ .app; symlink completo
Ruta no .appWhole App SymlinkRuta con extensión distinta a .app

⚠️ Sobre la Protección de Bloqueo

Cuando una app está marcada como que necesita bloqueo (needsLock = true), AppPorts ejecuta chflags -R uchg en la app del almacenamiento externo después de completar la migración, estableciendo la bandera inmutable. Esto evita que los actualizadores automáticos eliminen o modifiquen la copia externa, pero también significa que la app no puede auto-actualizarse. Los usuarios necesitan desbloquear manualmente en AppPorts antes de actualizar.

💡 Por Qué las Apps con Actualizador Personalizado No Se Bloquean

Las apps que usan actualizadores personalizados como Chrome y Edge no se bloquean. Los actualizadores de estas apps típicamente descargan e instalan nuevas versiones en el almacenamiento interno local. Debido a las características de aislamiento de enlace de macOS Stub Portal, esto no daña los archivos de la app en el almacenamiento externo.

Cuando AppPorts detecta que la versión de la app en el almacenamiento interno local es superior a la del almacenamiento externo, etiqueta automáticamente la app como "Migración Pendiente", indicando al usuario que re-migre para sincronizar la última versión.

最近更新