guide framework development developer desarrollador app iphone ipad iphone-sdk-3.1 uipopovercontroller

iphone - framework - swift ios documentation



Símbolo no encontrado:_OBJC_CLASS_$_UIPopoverController (2)

Recomiendo encarecidamente que no vincules débilmente UIKit. Como KennyTM y yo mencionamos en nuestros comentarios, esto puede ocultar problemas futuros del enlazador y provocar bloqueos. Tampoco me siento cómodo al decirle al vinculador que UIKit es opcional cuando no lo es. Gran hack.

En su lugar, inicialice y llame a UIPopoverController indirectamente usando NSClassFromString:

Class popover = NSClassFromString(@"UIPopoverController"); if (nil != popover) { self.myPopover = [[popover alloc] initWithContentViewController:myContent]; }

Si aún tiene errores de vinculador, es posible que deba llamar a los mensajes de UIPopoverController utilizando NSSelectorFromString:

Class popover = NSClassFromString(@"UIPopoverController"); if (nil != popover) { SEL myInit = NSSelectorFromString(@"initWithContentViewController:"); self.myPopover = [[popover alloc] performSelector:myInit withObject:myContent]; }

Para la portabilidad, recomiendo escribir un objeto proxy para manejar estos detalles de implementación.

Estoy teniendo problemas con mi aplicación universal. He configurado el SDK base para iPhone 3.2 y el objetivo en 3.1.

He movido los archivos que usan UIPopoverController a sus propios archivos y no deberían cargarse al cargar la aplicación en el iPhone. Aún así, cuando compilo mi aplicación, obtengo el siguiente error cuando compilo y depuro en mi dispositivo:

dyld: No se encontró el símbolo: _OBJC_CLASS _ $ _ UIPopoverController Referenciado: /var/mobile/Applications/B3B90643-92DC-4E5C-8B2F-83A42D6D57E0/gas.pempe.as.as./consultos.p.par.particularmente /var/mobile/Applications/B3B90643-92DC-4E5C-8B2F-83A42D6D57E0/citybikes.app/citybikes

Realmente espero que alguien pueda ayudarme.

Saludos cordiales, Paul Peelen


Incluso si no se cargan en tiempo de ejecución, esos archivos aún se procesan en la vinculación. El símbolo _OBJC_CLASS_$_UIPopoverController se agrega a su aplicación como uno de los que requieren enlaces dinámicos.

Hay 2 soluciones,

  1. Reemplace toda la apariencia de UIPopoverController en un mensaje (por ejemplo, [UIPopoverController alloc] ) con NSClassFromString(@"UIPopoverController") , o
  2. Hacer UIKit débilmente vinculado.