2011-05-14 66 views
1

我从Cydia安装了iphone-python包,但HelloPython应用程序在我从Springboard运行时立即关闭。在iPhone上的PyObjC中的Python Hello World?

这可能是一个红色的鲱鱼,但是我发现在终端中.py文件,并试图与Python运行它,并得到了蟒蛇错误:

$ python /private/var/stash/Applications.pwn/HelloPython.app/HelloPython.py 
Traceback (most recent call last): 
    File "/private/var/stash/Applications.pwn/HelloPython.app/HelloPython.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 

我跑4.3.3。

我怎样才能使这个应用程序工作,所以我会有一个PyObjC的工作示例?

+0

看起来你需要从iphone-python中单独安装PyObjC。你做到了吗?应用程序崩溃时日志中没有错误消息? – 2011-05-14 02:25:09

+0

Cydia报告已安装PyObjC并且版本1946-4。我应该在哪里检查日志? – chriswa 2011-05-14 08:45:21

+0

如果您将手机挂接到Xcode,您应该能够在设备管理器中找到日志。他们也同步到您的计算机,并把〜/库/日志/ CrashReporter/MobileDevice /我不知道他们存储在设备本身的位置;可能类似的位置。 – 2011-05-14 17:48:45

回答

0

那么由于新ios运行时可执行文件的方式发生了变化,动态库已经损坏。由于升级的objective-c,mach-o将不再运行,所以解决方法是从源代码编译pyobjc并正常运行。与此相关的唯一问题是iPhone的pyobjc版本是为uikit构建的,因此您需要找到saurik(Jay Freeman)的源代码并编译它。我可能会为我自己做这样的事情,如果我这样做的话,我会用deb文件回帖。