2012-02-09 18 views
23

¿Alguien sabe cómo arreglar PyObjC en iPhone 4s con iOS 5.0.1?PyObjC en iPhone (iOS5) roto?

En mi iPhone 4 con iOS 4.2.1 todo estaba funcionando perfectamente.
En el iPhone 4s con iOS 5.0.1 (y todos los (mismos) paquetes instalados) las cosas PyObjC no funcionan.

El error que consigo es:

File "/private/var/stash/Applications.pwn/MyPyObjC.app/MyPyObjC.py", line 9, in <module> 
    import objc 
  File "/usr/lib/python2.5/objc/__init__.py", line 17, in <module> 
    _update() 
  File "/usr/lib/python2.5/objc/__init__.py", line 14, in _update 
    import _objc 
ImportError: dlopen(/usr/lib/python2.5/lib-dynload/_objc.dylib, 2): Symbol not found: _OBJC_CLASS_$_Object 
  Referenced from: /usr/lib/python2.5/lib-dynload/_objc.dylib 
  Expected in: /usr/lib/libobjc.A.dylib 

(archivos __init__.py & _objc.dylib están presentes en ambos dispositivos, archivo libobjc.A.dylib, no se encuentra en ambos dispositivos)

De nuevo, ambos iPhones tienen los mismos paquetes instalados (pero diferentes iOS).
(por lo que sé, HelloPython.app de Saurik tiene el mismo problema).

supongo que cambiado algo en iOS 5 y los archivos PyObjC no reflejan el cambio (aún) ...

espero que lo fija ... (Tengo 4-5 aplicaciones basadas PyObjC que ya no funcionan) :-(

Hasta entonces, alguna idea para una solución rápida?

+0

¿Alguien tiene una solución? – tuscias

+0

¿Sigue siendo un problema para usted? Tengo el mismo problema :( –

+1

Tengo el mismo problema. El problema es que Python (o el cargador de la biblioteca) intenta buscar en 'libobjc.A.dylib' que no está presente. No estoy familiarizado con iOS o Unix, pero si el cargador de lib estaba buscando en el '_objc.dylib' (que es el módulo nativo de python) podría encontrar este símbolo, como está contenido en este paquete (intente con' nm _objc. dylib | grep _OBJC_CLASS _ $ _ '). ¿Alguna idea de cómo se puede lograr esto? –

Respuesta

1

lo sentimos PyObjec está muerto desde el iOS 2.0 Jay Freeman Abandonned el proyecto

(por cierto no fue ios hecho para codificadores/hackers y geeks compre un teléfono Android si quiere codificar en su teléfono usando la asombrosa aplicación SL4A en android :))

+1

Gracias por la parte "principal" de su respuesta. En cuanto a la segunda parte, ¡no me hagas comenzar! ... respuesta corta: ¿Por qué molestarse con una plataforma (nueva para mí) cuando conozco la (casi) mejor plataforma que existe? (si no fue "encarcelado" merecería el "mejor" título). (Yo aceptaría (y verificaré) una respuesta diciendo: "¿Por qué no te olvidas de PyObjC y usas la" realidad "con XCode y Obj-C" ...) – Gik

+0

Si conocieras el Python de Android api Creo que no recomendarás codificar usando java en android porque es más fácil, más rápido, compilable y postable también en google play Me encantaría que ios tuviera un equivalente a sl4a – mou

+0

Tal vez, pero "invertí" en XCode y descubrí un entorno maravilloso para codificar (mi) iPhone. Después de todo, estoy perfectamente satisfecho con mi iPhone y no voy a cambiarlo por un android (de la misma manera que no cambiaré mi Mac a (cualquier) windows-pc). De todos modos, el propósito de este hilo/pregunta era por qué PyObjC se rompió en iOS5 (y no 2.0 - estaba funcionando bien hasta 4.2.1) ... – Gik