En Xcode 7, Swift no puede autocomplete el código Objective-C

Estoy trabajando en un proyecto Objective-C e bash presentar a Swift. Tengo puentes en puente trabajando para que compile el código, pero ninguna de las classs de Objective-C está siendo recogida por autocomplete.

He intentado:

  1. Quitting Xcode / Reiniciar Computadora
  2. Eliminando la carpeta DerivedData en (~ / Library / Developer / Xcode / DerivedData)
  3. Eliminando el file en ~ / Library / Caches / com.apple.dt.Xcode
  4. Cambiar el tipo de simulador

Sin embargo, estas sugerencias no funcionaron para mí.

Autocompletado funciona bien para UIKit, etc., y para mi otro código Swift. Es solo el código Objective-C expuesto por el encabezado de puente que no se completará automáticamente.

¿Alguna sugerencia?

Creo que pensé en esto:

Nuestro proyecto tiene múltiples objectives, y la mayoría de los files pertenecen a múltiples objectives. Si desea autocomplete, el encabezado que está importando tiene que importarse en el encabezado de puente para cada destino al que pertenece el file.

Cuando importé el encabezado que quería en cada encabezado de puenteo, la autocompletado comenzó a funcionar como se esperaba.

Actualización: parece que puede consolidarse a un encabezado de puente si esa configuration funciona para su proyecto. Eso evitará que tenga que actualizar varios encabezados cada vez que desee agregar una import.

Gracias a joel.d, he solucionado el mismo problema en mi proyecto.

En puente-encabezado tenía línea:

 #import "BTData.h" 

Tenga en count que se trataba de un sdk de pod de cocoa, y recientemente hemos actualizado todos los pods, por lo que es probable que eso haya comenzado cuando se hayan iniciado los problemas de autocompletado. Sustituir la línea anterior por la siguiente, solucionó el problema y ahora todas las classs obj-c son autocomplete en files rápidos.

 #import <Braintree/BTData.h> 

Recientemente me encontré con este problema con un gran proyecto mayormente objc. Espero que esto ayude a alguien.

Para mí, el autocompletado había estado trabajando antes en este proyecto, pero luego comenzó a fallar para todas las classs / methods objectives c. Sin embargo, el proyecto aún se comstack sin problemas.

Terminé de comentar todas las importaciones existentes en el encabezado de puente y agregué una class de testing simple, para la que funcionaba la autocomplete. Luego descomponiendo cada una de las otras importaciones hasta aislar cuál causó el problema.

Por ejemplo, mi encabezado básicamente se veía así:

 #import "MyClass.h" #import "MyOtherClass.h" #import "SomeThirdPartyModule.h" etc... 

Hice esto:

 #import "SimpleTestClassWithOneMethod.h" // #import "MyClass.h" // #import "MyOtherClass.h" // #import "SomeThirdPartyModule.h" 

Y el autocompletado comenzó a funcionar para SimpleTestClass cuando se usa desde Swift.

Luego comenzó a descomentar otras classs desde el encabezado de puente hasta que funcionó. La import que causó el problema fue un marco de terceros, no estoy seguro de por qué causó un problema, pero acabo de sacar lo que necesitaba de ese encabezado particular para mi código rápido e importarlo por separado.