2014-10-22 3 views
6

Sto facendo un framework rapido e voglio utilizzare vecchie classi oggettive in c. Per questo, io uso il metodo intestazioni colmare, ma quando provo a costruire compare questo errore:Errore quando utilizzo le intestazioni Bridging in framework rapidi

<unknown>:0: error: using bridging headers with framework targets is unsupported 

ho aggiunto il mio {} PROGETTO -Bridging-header.h a Objective-C Bridging Header a Swift Compiler - Generazione di codice

Come posso risolverlo?

ho fatto in applicazioni e corre Ok, ma in questo contesto non

Grazie

+0

sì, ma è vero? puoi mischiare swift e oggettivo-c in app ma non in framework? – user3086708

+3

Mi spiace per essere un furbo. Si utilizza l'intestazione umbrella framework anziché l'intestazione di bridging quando si costruisce un framework: https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html#//apple_ref/doc/uid/ TP40014216-CH10-XID_82 –

+7

e come posso creare l'intestazione di ombrello? qual è la differenza = – user3086708

risposta

-1

Per questo seguire la procedura:

  1. Rimuovere l'intestazione bridging e tutti i file correlati.
  2. Clean Build. Cmd + Maiusc + k come.
  3. Creare un nuovo file Objective-C per la creazione di file di intestazione a ponte.
  4. Ora aggiungi il tuo altro file.

Spero, questo lavoro per voi perché abbiamo risolto esattamente lo stesso errore questa soluzione.

1

iHart è corretto

Per questo seguire la procedura: 1. Rimuovere l'intestazione bridging e tutti i file correlati. . . 2. Pulire build/soluzione. Cmd + Maiusc + k come. . . 3. Creare un nuovo file Objective-C per la creazione di file di intestazione a ponte. . .

Ma quello che dovevo fare è anche aggiungere tutti i file di intestazione mancanti all'intestazione dell'ombrello. E assicurati anche che questi file siano contrassegnati come pubblici. In Xcode puoi aggiungerli alla sezione pubblica in Build Phases -> Header.