2016-01-01 21 views
7

Sto cercando di importare il framework libjingle_peerconnection nel mio progetto Xcode, ma per qualche motivo non riesco a importare l'intestazione Objective-C con import RTCICEServer nei file sorgente Swift. Ho provato a utilizzare i file di intestazione, ecc. Cosa sto facendo di sbagliato?Importare Objective-C Framework (CocoaPod) in Swift?

# Uncomment this line to define a global platform for your project 
# platform :ios, '8.0' 
# Uncomment this line if you're using Swift 
use_frameworks! 

target 'VideoRTCTest' do 
    pod "libjingle_peerconnection" 
end 

target 'VideoRTCTestTests' do 

end 

target 'VideoRTCTestUITests' do 

end 

enter image description here

+0

Sì, lo sono. libjingle_peerconnection è Objective-C se questo aiuta. – LeviXC

+0

Non ho; Ho dovuto metterlo giù, il lavoro è pazzesco occupato in questo momento. Ci tornerò quando posso. Probabilmente tornerà all'Obiettivo-C. – LeviXC

risposta

8

Ponte

1. Creare un xxx-Bridging-Header

aggiungere un'intestazione colmare al progetto utilizzando il metodo della vostra scelta, la più facile essere creazione di un singolo file .m e risposta a Creazione di intestazioni di ponte in questa finestra di dialogo:

Create Bridging Header

2. Riferimento tuo Pod nell'intestazione colmare

Includere i file come così:

// 
// Use this file to import your target's public headers that 
// you would like to expose to Swift. 

#import "RTCICEServer.h" 

3. Objective-C esposto a Swift

Una volta nell'intestazione del bridging, non è necessario importare le classi Obj-C in Swift. Utilizzare questi direttamente:

let uri = URL(fileURLWithPath: "") 
let rtc:RTCICEServer = RTCICEServer(uri: uri, username: "", password: "") 
print(rtc) 

Un altro esempio è descritto here.


► Trova questa soluzione su GitHub e ulteriori dettagli su Swift Recipes.

+0

ma il modo corretto è di importare il nome del modulo (import xxxx) del pod all'interno del file swift senza dover creare un'intestazione di bridging finché il file pod ha use_frameworks abilitato, credo che ci sia qualcosa di sbagliato con il pod libjingle_peerconnection – JAHelia

Problemi correlati