Para ayudar a simplificar la depuración de some custom Objective-C objects en la ventana del depurador Xcode, he creado un conjunto de cadenas de formateador de datos para cada uno de los objetos, usando related Apple documentation y Xcode's built- en formateadores de datos como una guía.Creando un paquete formateador de datos Xcode para objetos Obj-C personalizados
My custom summary strings trabajo grande si lo pongo en /desarrollador/Library/Xcode/CustomDataViews/ con los formateadores de datos que se suministran con Xcode. Sin embargo, prefiero no hacerlo ya que un usuario puede no tener privilegios de escritura en ese directorio, y mezclar formateadores personalizados con los integrados puede ser confuso. Del mismo modo, agregar mis propias entradas al ~/Library/Application Support/Apple/Developer Tools/CustomDataViews/CustomDataViews.plist también funciona, pero ese archivo es para valores definidos por el usuario que anulan los valores predeterminados y sus entradas son afectadas por cambios en la interfaz gráfica de depuración de Xcode. Lo que realmente quiero es poder colocar un archivo con mis formateadores de datos en una ubicación para que Xcode los reconozca, pero los usuarios aún pueden anular selectivamente mi configuración (en otro archivo) si lo desea.
El problema es que cuando creo un paquete (siguiendo el ejemplo de this Apple sample code) e instalarlo (ya sea en /desarrollador/Library/Xcode/CustomDataViews/ o cualquier Library/Application Support/Apple/Herramientas de Desarrollo/CustomDataViews/ ruta), Xcode no reconoce ni utiliza los formateadores personalizados.
La documentación sobre los detalles de los paquetes de datos formateador es algo escasa (en su mayoría un archivo de cabecera única en Xcode.app/Contents/PlugIns/GDBMIDebugging.xcplugin), posiblemente debido a que la funcionalidad no es una de las características de titular de Xcode. ;-) Cualquier ayuda sería muy apreciada.
Como señaló, no es * necesario * para que funcione, pero probablemente sea una buena práctica declarar un puntero de tipo '_pbxgdb_plugin_function_list *' con el símbolo '_pbxgdb_plugin_functions', incluso si está vacío. – ELLIOTTCABLE