Используя PyObjC, вы можете использовать Python для записи приложений Cocoa для OS X. Могу ли я писать собственные приложения для iPhone с помощью Python и если да, то как?
Могу ли я писать собственные приложения для iPhone с помощью Python
Ответ 1
В настоящее время не доступны только языки, доступные для доступа к iPhone SDK, это C/С++, Objective C и Swift.
Нет никаких технических причин, почему это не может измениться в будущем, но я не задержу дыхание для этого в краткосрочной перспективе.
Тем не менее, Objective-C и Swift действительно не слишком страшны...
2016 edit
Javascript с каркасом NativeScript доступен для использования.
Ответ 2
Вы также можете использовать PyObjC на iPhone, благодаря отличной работе Джей Фримана (saurik). См. Приложения iPhone в Python.
Обратите внимание, что для этого требуется iPhone с джейлбрейком.
Ответ 3
Да, вы можете. Вы пишете свой код в tinypy (который ограничен Python), затем используйте tinypy, чтобы преобразовать его в С++, и, наконец, скомпилируйте это с XCode в родное приложение для iPhone. Фил Хасси опубликовал игру под названием "Слоны! используя этот подход. Вот более подробная информация,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
Ответ 4
Похоже, теперь это разрешено делать разработчикам: Соглашение о разработке iOS было изменено вчера и, похоже, было изменено таким образом, чтобы вложение интерпретатора Python в ваше правовое право:
РАЗДЕЛ 3.3.2 - ИНТЕРПРЕТРЫ
Старый:
3.3.2 Приложение не может самостоятельно устанавливать или запускать другой исполняемый файл код любым способом, в том числе без ограничение путем использования плагиновую архитектуру, вызов других фреймворки, другие API или другие. Если иное не одобрено Apple в записи, интерпретируемый код не может быть загружается или используется в приложении за исключением кода, который интерпретируется и выполняются API-интерфейсами с документами и встроенный интерпретатор (ы). Несмотря на вышесказанное, с Ясвительное письменное согласие, Приложение может использовать встроенные интерпретируемый код ограниченным образом, если такое использование предназначено исключительно для функций или функциональных возможностей, которые в соответствии с рекламируемой цели приложения.
New:
3.3.2 Приложение не может загрузить или установить исполняемый код. Интерпретированный код может использоваться только в приложение, если все скрипты, код и переводчики упакованы в Приложение и не загружено. только исключение из вышеизложенного скриптов и кода, загруженных и выполняемых Яблоки встроенной среды WebKit.
Ответ 5
Да, в настоящее время вы можете разрабатывать приложения для iOS в Python.
Есть две рамки, которые вы можете проверить: Kivy и PyMob.
Пожалуйста, рассмотрите ответы на этот вопрос, так как они более свежие, чем эта.
Ответ 6
Обновление для Соглашения о разработке iOS означает, что вы можете использовать все, что захотите, до тех пор, пока вы отвечаете рекомендациям разработчика. Раздел 3.3.1, который ограничил то, что разработчики могли использовать для разработки iOS, был полностью удален.
Источник: http://daringfireball.net/2010/09/app_store_guidelines
Ответ 7
Pythonista имеет функцию экспорта в Xcode, которая позволяет вам экспортировать ваши скрипты Python в виде проектов Xcode, которые создают автономные приложения для iOS.
https://github.com/ColdGrub1384/Pyto также стоит посмотреть.
Ответ 8
Соглашение iPhone SDK также довольно неопределенно в отношении того, разрешено ли вам даже запускать языки сценариев (за пределами WebView Javascript). Мое чтение гласит, что все в порядке - до тех пор, пока ни один из сценариев, которые вы выполняете, не загружается из сети (так что предварительно установленные и отредактированные пользователем скрипты выглядят нормально).
IANAL и т.д.
Ответ 9
Технически, до тех пор, пока интерпретируемый код НЕ загружается (исключая JavaScript), приложение может быть одобрено. Rhomobiles "Rhodes" делает именно это, объединяя мобильный Ruby, легкую версию Rails и ваше приложение для распространения через App Store. Поскольку интерпретатор и интерпретируемый код упакованы в окончательное приложение - Apple не считает это нежелательным.
http://rhomobile.com/products/rhodes/
Даже после последнего пресс-релиза Apple - приложения rhodes (мобильный рубин) по-прежнему жизнеспособны в магазине приложений. Мне было бы трудно поверить, что tinyPy или pyObjC не найдут места, если есть желательное сообщество разработчиков.
Ответ 10
Вы можете сделать это с PyObjC, конечно же, с помощью телефона с джейлбрейком. Но если вы хотите получить его в App Store, они не позволят его, потому что он "интерпретирует код". Тем не менее, вы можете использовать Shed Skin, хотя я не знаю, кто это делает. Я не могу придумать никаких оснований для этого, поскольку вы теряете динамическую типизацию и можете также использовать ObjC.
Ответ 11
Я думаю, что это было невозможно раньше, но я недавно слышал о PyMob, который кажется интересным, потому что приложения написаны на Python, а конечные выходы являются родными исходными кодами на разных платформах (Obj-C для iOS, Java для Android и т.д.)., Это, безусловно, совершенно уникально. Эта веб-страница объясняет это более подробно.
Я еще не дал ему шанс, но взглянем скоро.
Ответ 12
BeeWare - это платформа с открытым исходным кодом для создания собственных iOS и Приложения для Android.
Ответ 13
Обновление 2019 года:
Хотя разработка Python-iOS является относительно незрелой и, вероятно, не позволит (на самом деле) вашему приложению иметь собственный пользовательский интерфейс и функциональные возможности, которые могут быть реализованы на языке разработки, поддерживаемом Apple, теперь Apple, похоже, позволяет встраивать интерпретаторы Python в Native Swift/Obj-C приложения.
Это поддерживает импорт библиотек Python и запуск сценариев Python (даже с предоставленными аргументами командной строки) непосредственно из кода Native Swift/Obj-C.
Моя компания фактически оборачивает нашу инфраструктуру (изначально написанную на Python) в собственное приложение iOS! Он работает очень хорошо, и связь между частями может быть легко достигнута с помощью модели клиент-сервер.
Вот хорошая библиотека Beeware с шаблоном cookiecutter, если вы хотите попробовать и запустить скрипты Python в своем приложении для iOS: https://github.com/beeware/Python-Apple-support/tree/3.6.
Ответ 14
Единственный существенный "внешний" язык для разработки iPhone, о котором я знаю с полу-значимой поддержкой с точки зрения каркасов и совместимости, - MonoTouch, среда С#/.NET для разработки на iPhone.