2012-02-09 2 views
23

Кто-нибудь знает, как исправить PyObjC на iPhone 4s под управлением iOS 5.0.1?PyObjC на iPhone (iOS5) сломан?

На моем iPhone 4 с iOS 4.2.1 все работает отлично.
На устройстве iPhone 4s с iOS 5.0.1 (и все установленные (такие же) пакеты) материал 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 

(файлы __init__.py & _objc.dylib присутствуют в обоих устройствах, файл libobjc.A.dylib, отсутствует в оба устройства)

Опять же, у обоих iPhone есть таких же установленных пакетов (но разных iOS).
(насколько я знаю, Saurik's HelloPython.app имеет ту же проблему).

Я предполагаю, что они что-то изменили в прошивке 5 и файлы PyObjC не отражают изменения (пока) ...

Я надеюсь, что они будут это исправить ... (У меня есть 4-5 приложений на основе PyObjC что не работают) :-(

До этого, любые идеи для быстрого исправления?

+0

У кого-нибудь есть решение? – tuscias

+0

Все еще проблема для вас? У меня к той же проблеме :( –

+1

У меня такая же проблема. Проблема в том, что Python (или загрузчик библиотеки) пытается посмотреть в 'libobjc.A.dylib', которого нет. Я не знаком с iOS или Unix, но если lib-loader просматривал фактический '_objc.dylib' (который является родным модулем python), он сможет найти этот символ, поскольку он содержится в этом пакете (попробуйте' nm _objc. dilib | grep _OBJC_CLASS _ $ _ '). Любая идея, как это может быть достигнуто? –

ответ

1

к сожалению PyObjec мертв, так как СВП 2,0 Jay Freeman заброшен проект

(кстати ИОС не было сделанные для кодеров/хакеров и вундеркиндов купить Android-телефон, если вы хотите ввести код на свой телефон , используя потрясающий SL4A api на android :))

+1

Спасибо за «основную» часть вашего ответа. Что касается второй части, не заводи меня! ... короткий ответ. Зачем беспокоиться о платформе (новичок - для меня), когда я знаю (почти) лучшую платформу !? (если бы он не был «заключен в тюрьму», он заслужил бы «лучший» титул). (Я бы принял (и проверил) ответ, говоря: «Почему бы вам не забыть PyObjC и использовать« реальную вещь »с XCode и Obj-C» ...) – Gik

+0

Если вы знали python android api Я думаю, что вы не будете рекомендовать код с помощью java на Android, потому что его проще, быстрее, компилируемо и переносимо, а также в google play. Я бы с удовольствием, если бы у ios был эквивалент sl4a. – mou

+0

Возможно, но я «инвестировал» на XCode, и я обнаружил чудесная среда для кодирования (моего) iPhone. В конце концов, я вполне доволен своим iPhone, и я не собираюсь менять его для Android (так же, как я не буду торговать Mac с любым (любым) Windows-ПК). Во всяком случае, цель этой темы/вопроса заключалась в том, что PyObjC был сломан на iOS5 (а не 2.0 - он работал отлично до 4.2.1) ... – Gik