swiftcharts create chart bar ios swift xcode6

ios - create - Error del compilador Swift Framework intermitente



swift charts (8)

Estoy probando Swift en el XCode beta. En particular, utilizando un @IBDesignable y @IBInspectable. Estoy creando un marco que contiene una subclase de UIView (@IBDesignable) y una aplicación de iOS simple para probarlo (ambos contenidos dentro y vinculados a través de un área de trabajo). Después de algunas compilaciones exitosas, obtengo el siguiente error en la salida de compilación del marco:

: 0: error: /Users/richardpj/Projects/Swift2/Swift2FW/build/Swift2FW.build/Debug-iphonesimulator/Swift2FW.build/unextended-module.modulemap:2: paraguay ''Swift2FW.h'' no encontrado: 0: error: no se pudo compilar el módulo Objective-C ''Swift2FW''

Antes de preguntar, he limpiado y eliminado mis datos derivados, pero nada parece resolverlos, excepto eliminar y volver a crear el área de trabajo y los archivos del proyecto.

Cualquier idea sobre el origen del error, cómo replicar (para un informe de error) O estoy siendo tonto.

EDITAR: He recibido 50 visitas desde que fue publicado. Parece que es un error que debería informar. ¿Alguna idea sobre cómo hacer eso?


Al crear mi propio marco de Swift obtuve el error "no se pudo compilar el módulo Objective-C".

Lo arreglé yendo a "Vincular binario con bibliotecas" y agregando "UIKit".


Después de encontrar este problema muchas veces y en algún momento recurrir a la recreación de todo el proyecto, descubrí que este extraño problema de compilación normalmente es causado por el hecho de que tengas un punto de interrupción establecido.

Abra la ventana del navegador de puntos de interrupción (CMD-7) y elimine todos los puntos de interrupción.

Esto normalmente soluciona este problema para mí, por extraño que parezca.

Es muy fácil agregar accidentalmente un punto de interrupción cuando hace clic en el margen para investigar los errores de compilación.


En caso de que esté escribiendo un marco incrustado en Swift, verifique la Configuración del proyecto -> Nombre de destino del marco -> Fases de compilación -> Encabezados. Actualmente (Xcode 6.2) cualquier archivo de encabezado que se encuentre en la sección Pública aquí puede causar este error:

<unknown>:0: error: could not build Objective-C module ''YourFrameworkName''


En mi caso, esto se debió a que no pude enumerar el marco como una dependencia en las fases de compilación de mis otros objetivos. Tan pronto como hice eso, todo estuvo bien.

Supongo que se debe a que esto garantiza que el marco se construya antes de los objetivos que lo utilizan.

La razón por la que este problema es intermitente es, evidentemente, que, sin la dependencia, el orden de construcción es indeterminado, por lo que a veces sucede que es el orden correcto y la compilación funciona, y otras veces es el orden incorrecto y la compilación falla.


En mi caso, tenía una configuración de compilación anterior que (PUBLIC_HEADERS_FOLDER_PATH) ruta de la carpeta de encabezados públicos (PUBLIC_HEADERS_FOLDER_PATH) . Al borrarlo al valor predeterminado (¿nuevo?) De $(CONTENTS_FOLDER_PATH)/Headers corrigió el error.


En mi caso, todo lo que tenía que hacer era abrir la ventana "Editar esquema" (Producto> Esquemas> Editar esquema) para el objetivo de Swift Framework incrustado y desmarcar "Compartido". Supongo que debido a que los marcos Swift no incrustados aún no son compatibles, compartir un esquema de marco implica que debe haber un componente Objective-C del módulo.

También puede desmarcar esto en la ventana "Administrar esquemas" (Producto> Esquemas> Gestionar esquemas ...).


Estaba viendo este error cuando el archivo paraguas .h tenía el mismo nombre que uno de mis archivos swift. Una vez que cambié el nombre del archivo swift, el framework se construyó.

Ex. Project Name: TestProject |_ TestProject.h <= |_ Models |_ TestProject.swift <=

Tener los dos archivos con las flechas (<=) con el mismo nombre provocó el error "no se pudo compilar el módulo Objective-C" para mí.


No sé si esto ayudará a alguien más, pero había importado el archivo ProjectName-Swift.h en el archivo ProjectName.h (encabezado paraguas) durante algunas pruebas, y cuando eliminé esa importación, el error desapareció y pude para construir de nuevo.