2011-05-14 64 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文件回帖。