ios - guidelines - ¿Xcode no crea automáticamente el encabezado de puente?
tab bar ios (7)
- proyecto xcode abierto
- Archivo -> nuevo -> Archivo -> si desea un archivo .swift, haga clic en Archivo Swift .h. Haga clic en Archivo de encabezado .m Archivo objetivo c archivo, etc.
Importé un archivo Obj-C en mi proyecto rápido y Xcode automáticamente me solicitó que creara un archivo de encabezado de puente como se esperaba. Sin embargo, eliminé ambos archivos (movidos a la papelera) para hacer algunos cambios, pero cuando intento importar el archivo Obj-C una vez más, el mensaje ya no aparece. ¿Cual es la razon? Incluso probé este mismo escenario en otro proyecto, parece que una vez que elimine el encabezado de puente creado automáticamente de Xcode, no volverá a aparecer el mensaje otra vez. ¿Por qué es esto?
-
El archivo de puente solo se solicita una vez en un proyecto.
-
Si elimina el archivo por accidente, debe crear un nuevo archivo puente. Es lo mismo.
-
Vaya a
File->New File->Header File
, y el nombre debe serYourProjectName-Bridging-Header
, o de lo contrario no se puede reconocer.
Archivo -> Nuevo archivo -> Archivo de encabezado
Guárdelo como un encabezado de puente de YourApp
Luego vaya a Configuración de compilación, busque "Encabezado de puente de Objective-C" (como se les dijo anteriormente) y pase a su Encabezado de puente como: YourApp / YourApp-Bridging-Header.h Donde ''YourApp /'' es el nombre de una aplicación. Podría contener espacios en blanco, por ejemplo, ''Tu aplicación /''.
En mi caso en xCode 7.3.1 funciona
Hay diferentes maneras de crear Bridging Header en xcode como se menciona / sugiere anteriormente. Aquí te daría la mejor y más fácil forma de crear Bridge.
- La imagen 1 muestra que no hay puente presente en el momento actual.
- Image2 muestra que he copiado una carpeta que contiene archivos de encabezado de objetivo-c, después de copiar aparecerá una ventana emergente.
- La imagen 3 mostrará el mensaje emergente. Pero después de presionar el botón Finalizar, notará que todavía no hay ningún puente presente. para referencia ver imagen2.
- Ahora, en las imágenes 5 y 6, simplemente arrastro y suelto el archivo de encabezado de Objective-C, después de hacerlo, aparecerá un mensaje emergente.
- Después de presionar el botón de finalización, aparece un mensaje como ¿Desea configurar un encabezado de puente Objective-C? . Después de presionar el botón Sí, obtienes el encabezado del puente, que puedes ver en la imagen 5.
si desea mantener su encabezado dentro de un grupo, use Nuevo grupo y arrastre y suelte su archivo en ese grupo.
Nunca cree ninguna carpeta, de lo contrario obtendrá un error debido a eso.
La razón de su problema es que la configuración de compilación de Xcode aún mantiene la ruta al archivo de encabezado de puente generado automáticamente.
No puede obtener ningún error de compilación debido a que el archivo de encabezado
(ProjectName-Bridging-Header.h)
todavía existe en el directorio de su proyecto.
Cómo resolver:
Haga clic en el objetivo de su proyecto, vaya a la pestaña Configuración de compilación ( elija todo en lugar de básico ), busque Encabezado de puente . Puede ver la entrada de ruta generada por Xcode. Selecciónelo y haga clic en el botón Eliminar.
Además, asegúrese de eliminar el archivo de encabezado de puente generado automáticamente Xcode
(ProjectName-Bridging-Header.h)
de su directorio de proyecto Xcode.
Ahora, intente importar el archivo Obj-C una vez más. Puede ver la solicitud para crear un archivo de encabezado de puente como se esperaba.
Si desea configurarlo manualmente, simplemente vaya a Configuración de compilación y cambie la selección a TODO de Básico (Predeterminado) o personalizado.
Debido a que los campos vacíos están ocultos para facilitar las cosas al usuario final promedio, si pierde el mensaje para agregar el encabezado de puente, puede tener dificultades para encontrarlo manualmente. Además, la opción de búsqueda no incluirá campos ocultos.
Cambie a Todo y el compilador Swift - La sección General debería aparecer con una configuración secundaria de "Encabezado de puente de Objective-C"
eche un vistazo a la configuración de su proyecto -> configuración de compilación, desplácese hacia abajo hasta la sección
User-Defined
por el
User-Defined
, vea si tiene una clave llamada
SWIFT_OBJC_BRIDGING_HEADER
y si tiene un valor.
si está allí, probablemente piense que ya tiene uno, en ese caso simplemente vuelva a crear el archivo con el mismo nombre.