Anybody knows how to fix PyObjC on iPhone 4s running iOS 5.0.1?
On my iPhone 4 with iOS 4.2.1 everything was working perfectly.
On the iPhone 4s with iOS 5.0.1 (and all the (same) packages installed) the PyObjC stuff does not work.
The error I get is:
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
(files __init__.py & _objc.dylib are present in both devices, file libobjc.A.dylib, is missing in both devices)
Again, both iPhones have the same packages installed (but different iOS).
(as far as I know, Saurik's HelloPython.app has the same problem).
I guess they changed something in iOS 5 and the PyObjC files do not reflect the change (yet)...
I hope they will fix it... (I have 4-5 PyObjC based apps that do not work anymore) :-(
Until then, any ideas for a quick fix?
libobjc.A.dylib
which is not present. I'm not familar with iOS or Unix, but if the lib-loader was looking in the actual_objc.dylib
(which is the native python module) it would be able to find this symbol, as it is contained in this package (trynm _objc.dylib | grep _OBJC_CLASS_$_
). Any idea how this can be achieved? – Buller_obj.dylib
seems to expose those symbols, I have tried creating a symbolic link from/usr/lib/libobjc.A.dylib
to.../_objc.dylib
, but it didn't change anything. :( – Buller_objc.dylib
suddenly wants to load alibobjc.A.dylib
, which was not the case in previous OS versions. – Bullereasy_install
you'd get version 2.3. To get a more recent version (2.4 beta), you'd have to get the subversion repository. – Phobe