Obtenga un identificador no resuelto para MMWormhole en Watch InterfaceController.swift

Mi proyecto Apple Watch está en Swift. He usado CocoaPods para instalar MMWormhole, y he creado el encabezado de puente como se describe en estos enlaces:

Adding a Swift Bridge Header manually

Cómo llamar al código Objective-C de Swift

Cuando creé el encabezado de puenteo, lo apunté a mi aplicación de iphone y también viéry Extensión.

El puente header.h, tengo esto:

#import "MMWormhole.h" 

En mi aplicación de iPhone View Controller, tengo esto:

 import UIKit import Foundation let wormhole = MMWormhole(applicationGroupIdentifier: "group.cocoShareData", optionalDirectory: "wormhole") 

y no hay quejas.

Sin embargo, en mi reloj controller de interfaz, tengo esto:

 import WatchKit import Foundation ... override func willActivate() { // This method is called when watch view controller is about to be visible to user super.willActivate() let wormhole = MMWormhole(applicationGroupIdentifier: "group.cocoShareData", optionalDirectory: "wormhole") } 

Y se queja de "Uso del identificador no resuelto MMWormhole".

Incluso trato de usar #import "MMWormholeClient.h", pero nada puede resolver este problema.

También bash al crear el encabezado de connection, solo destino en la aplicación iphone. Pero aun así … no funciona.

También hago 'MMWormhole', '~> 1.2.0' en el objective podfile para WatchExtension. pero aún no se identificó MMWormhole en el control de la interfaz Watch

Me estoy perdiendo de algo ?

aquí está mi proyecto: https://www.dropbox.com/s/tsajeoopnghyl1g/MyTestCocoData.zip?dl=0

Esta es mi respuesta Después de unos días de lucha y ayuda de un mentor de código:

Los problemas son:

 1) The Objective-C bridge has to set the correct path and header search path so both IOS & WatchExt can use 2) The PodFile in MMWormhole must target for both iOS & WatchExt. 3) The code in MMWormhole npm page is not correct. Move the instantiation of MMWormhole out and be a class Variable. 

Aquí está el breve paso a paso:

Objetivo C Puente

  • Agregue grupos de aplicaciones para iPhone App y Watch Ext.
  • Agregar el objective C
  • Objetivo en ambos
  • Configuración de compilation: establezca el * .h en la ruta relativa para iOS y Watch Ext. establezca la ruta relativa * .h. ej. ../MMWormholeTest/MMWormholeTest/MMWormholeTest-Bridging-Header.h
  • Agregar ruta de búsqueda de cabecera: $ {PRODS_ROOT} / Cabeceras, recursivas para IOS 7 Watch Ext.

MMWormhole

  • El cocoa lo vainilla.
  • Establezca el objective de pod 'MMWormhole', '~> 1.2.0' para iOS y Watch Ext en Podfile
  • Establezca #import "MMWormhole.h" en un file de encabezado de puenteo.
  • tanto en ViewController & InterfaceOController, establezca wormhole como variable de scope de class. ej. var wormhole: MMWormhole!
  • Instale MMWormhole en ViewDidLoad y awakeWithContext en WatchExt, establezca el oyente en awakeWithContext y use self.lable.setText debido al cierre. ej. self.label.setText (messageObject! as! String)
  • No es necesario registrar el receptor como se muestra en otros ejemplos de MMWormhole en Stack overflow.