/ / Estensione rapida in Cocoapods Framework che causa il selettore non riconosciuto inviato a Class - oggettivo-c, swift, cocoapods, framework ios, estensioni rapide

Estensione rapida in Cocoapods Framework che provoca la selezione di un selettore non riconosciuto in classe - oggettivo-c, swift, cocoapods, framework ios, estensioni rapide

Ho un framework Swift che è gestito tramite Cocoapods e contiene un'estensione come questa:

public extension UIImage {
public static func maskedImageWithColor( color: UIColor, forImageNamed image: UIImage) {
// Implementation
}
}

Quando scrivo in Objective C nella mia applicazione principale non ricevo errori o avvertenze del compilatore.

// No problems here!
[UIImage maskedImageWithColor:UIColor.blackColor() forImageNamed:@"myImage"];

Quando eseguo l'app, tuttavia, esplode in un guaio di errori "Selettore non riconosciuto".

La cosa strana è, quando la struttura è contenuta entro il progetto e aggiunto direttamente alle parti rilevanti delle fasi di costruzione (cioè non gestito da Cocoapods), tutto funziona come previsto.

Altri aspetti delle classi-quadro, enumerazioni, ecc. Funzionano bene, sembrano estensioni e solo quando sono in un framework gestito da Cocoapods.

Qualche idea su cosa potrei mancare qui?

risposte:

0 per risposta № 1

Questo perché il linker non sta caricando i metodi di categoria dalla libreria statica per impostazione predefinita. Se si aggiungono metodi di categoria (estensione in swift) con libreria statica, aggiungere -ObjC ad altri flag linker nelle impostazioni di generazione dei target.

Leggi di più Qui