有人知道如何在运行iOS 5.0.1的iPhone 4s上修复PyObjC吗?
我的一切正常。
但是在上(已安装所有相同的软件包),PyObjC不能正常工作。
我得到的错误信息是:
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存在于两个设备中,文件libobjc.A.dylib在两个设备中都缺失)
同样,两个iPhone安装了相同的软件包(但iOS版本不同)。 (据我所知,Saurik的HelloPython.app也有同样的问题。)
我猜他们在iOS 5中改变了一些东西,而PyObjC文件还没有反映出这种改变(尚未)......
我希望他们能解决它......(我有4-5个基于PyObjC的应用程序不再工作了):-(
在那之前,有什么快速解决的想法吗?
libobjc.A.dylib
。我不熟悉iOS或Unix,但如果库加载器在实际的_objc.dylib
(这是本地python模块)中查找,它将能够找到此符号,因为它包含在此软件包中(尝试nm _objc.dylib | grep _OBJC_CLASS_$_
)。有什么想法如何实现这一点吗? - Niklas R_objc.dylib
的库加载器突然想要加载libobjc.A.dylib
,而这在之前的操作系统版本中不是这样的情况。 - Niklas Reasy_install
,你会得到2.3版本。要获取更近期的版本(2.4 beta),你需要获取子版本库。 - Roland Smith