ios iphone xcode updates clang-format

ios - ¿Por qué mis complementos Xcode(como el formato clang) instalados con Alcatraz ya no funcionan después de actualizar a la nueva versión de Xcode?



iphone updates (9)

Hoy actualicé a Xcode 6.3.2 y no puedo ejecutar el formato del código Clang, parece que ni siquiera está instalado. Cada vez que actualizo Xcode, tengo que reinstalar Alcatraz y la mayoría de los paquetes (¿por qué?) Para que funcionen en la nueva versión de Xcode.

Esta vez reinstalé todos los paquetes (como VVDocumenter, Color picker, etc.), pero ClangFormat no funciona, ni siquiera aparece en el menú "Editar". ¿Alguna idea de por qué?

por cierto. Traté de reiniciar Xcode, así como la Mac en sí :)

EDITAR (Solución):

Solución para Xcode 6.3.x (si esto no funciona, use la solución general a continuación).

En la terminal, ingrese lo siguiente:

find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 9F75337B-21B4-4ADC-B558-F9CADF7073A7

Solución general

Obtenga el nuevo UUID a través de la terminal:

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

Agregue el nuevo UUID a la clave DVTPlugInCompatibilityUUIDs en el complemento (su archivo xcplugin -> muestre el contenido del paquete -> Contenidos / Info.plist


A menudo, lo siguiente ayuda: reinstalar Alcatraz , reiniciar Xcode, desinstalar y volver a instalar su complemento. A veces, es útil reiniciar Xcode nuevamente. Esto funcionó para mí.

Si su complemento aún no aparece, es probable que la clave de compatibilidad de su nuevo Xcode aún no esté incluida en la lista de teclas de compatibilidad de su complemento.

Soluciones posibles:

  • Espere una actualización del complemento que incluye el nuevo UUID de Xcode
  • Si no desea esperar (por ejemplo, si instaló una versión beta de Xcode y le tomaría demasiado tiempo actualizar los complementos), puede agregar manualmente el nuevo UUID de Xcode al complemento (detalles sobre cómo hacerlo) esto ve abajo). Por supuesto, no hay garantía de que tu complemento funcione entonces. Si Xcode ha cambiado para que ya no sea compatible, por supuesto, no funcionará. Sin embargo, a menudo funcionará.

Para agregar el nuevo UUID al complemento:

En la terminal, ingresa lo siguiente si usas Xcode 6.3.2:

find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E969541F-E6F9-4D25-8158-72DC3545A6C6

Para otras versiones de Xcode, obtenga el UUID de Xcode a través del terminal: por defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID y defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID para actualizar el UUID en el comando de find anterior.

[En lugar de usar el comando find anterior, también puede agregar manualmente el nuevo UUID a la clave DVTPlugInCompatibilityUUIDs en el paquete del complemento (su archivo xcplugin -> mostrar contenido del paquete -> Contents/Info.plist )]

Fuentes: GitHub y publicado por " ianmasters "


Después de instalar Xcode 6.4, elijo "Omitir paquetes", no puedo encontrar Alcatraz.

Fisrt intento agregar el UUID, pero Alcatraz tampoco funciona;

Entonces prueba esto:

defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4

En iTerm mostrar a continuación:

allowed = { }; skipped = { "com.mneorr.Alcatraz" = { version = 1; }; };

pero este archivo no puede editarse, así que elimine:

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4

A continuación, reinstalo Alcatraz, Xcode muestra "Load Bundles" nuevamente, esta vez no lo haré mal, elija "Load Bundles".


Este script actualiza los UDID para sus complementos y garantiza que se le pida que cargue los paquetes:

#!/bin/bash xcodeUUID=`defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID` echo $xcodeUUID xcodeVersion=`defaults read /Applications/Xcode.app/Contents/Info.plist CFBundleShortVersionString` echo $xcodeVersion find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add $xcodeUUID defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-$xcodeVersion



Intenta construir desde la fuente en lugar de instalar usando el comando curl. Por alguna razón, nada de lo que hice con el comando Curl funcionó para mí, incluido el cambio del UUID. Así que borré todo de la carpeta del plugin y descargué el master e hice una compilación. Reinicia xCode y acepta el diálogo. Quizás esto te ayude.


La clave de compatibilidad de complementos no funcionó para 6.3.2 / 6.4.b2

Veamos este hilo: https://github.com/omz/Dash-Plugin-for-Xcode/issues/37 - tienen un problema y una solución.

Resumen general : XCode sí cambió la forma de cargar complementos (los plugins personalizados se cargan primero), por lo que es necesario realizar algunos cambios de código.


Puede usar este script para actualizar el complemento de su Xcode después de la actualización (funciona bien con Xcode 7.3):

#!/bin/bash xcodeUUID=`defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID` echo $xcodeUUID find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add $xcodeUUID

o copia de mi esencia https://gist.github.com/MaciejGad/86302b6b8bdb1ee25115


Resulta que Xcode ahora tiene una lista blanca / lista negra de paquetes habilitados. Puede verificarlo desde la Terminal ejecutando:

$ defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2 { allowed = { }; skipped = { "com.mneorr.Alcatraz" = { version = 1; }; "com.onevcat.VVDocumenter-Xcode" = { version = 1; }; "com.travisjeffery.ClangFormat" = { version = 1; }; };}

La mala noticia es que el mensaje para cargar los paquetes no volverá a aparecer, incluso si reinstala Alcatraz. La solución es simple, simplemente borre la lista blanca / lista negra ejecutando:

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2

y vuelva a abrir Xcode para que se le vuelva a preguntar (y esta vez, asegúrese de hacer clic en "Cargar paquetes").

Publicación original aquí: vuelve a habilitar Alcatraz en Xcode 6.3.2 o posterior


Utilice el código general para "todas las versiones" de Xcode en el terminal, luego reinicie Xcode, todo estará bien:

find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID

Tenga en cuenta que el código ha combinado el código de otras respuestas.

Si la versión de su Xcode es 6.3.2, el código anterior es igual a

find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E969541F-E6F9-4D25-8158-72DC3545A6C6

Cuando su Xcode es 6.3 o 6.3.1, es igual a:

find ~/Library/Application/ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 9F75337B-21B4-4ADC-B558-F9CADF7073A7

Puedes encontrar que la diferencia es el código al final, es el sentido de Xcode, así que podemos obtener el nuevo uuid de Xcode usando esto

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

y cambiarlo al final de ese código.

Si esto aún no funciona, es posible que no haya elegido "paquete de carga" en la alerta de Alcatraz

Si ha elegido "omitir paquete", puede hacer esto

  1. recarga Alcatraz
  2. la alerta de Alcatraz aparecerá nuevamente, paquete de carga de elección
  3. use el código de arriba en termal
  4. recarga Xcode
  5. con éxito 🍻 !!

EDITAR: Lo he intentado, solo necesito volver a usar el código general en la terminal, la alerta volverá a aparecer, seleccionarla, estará bien.