Могу ли я писать собственные приложения для iPhone, используя Python

StackOverflow https://stackoverflow.com/questions/43315

  •  09-06-2019
  •  | 
  •  

Вопрос

Используя PyObjC, вы можете использовать Python для написания приложений Cocoa для OS X.Могу ли я писать собственные приложения для iPhone, используя Python, и если да, то как?

Это было полезно?

Решение

В настоящее время нет, единственными языками, доступными для доступа к iPhone SDK, являются C / C ++, Objective C и Swift.

Нет никакой технической причины, по которой это не могло бы измениться в будущем, но я бы не стал задерживать дыхание на том, что это произойдет в краткосрочной перспективе.

Тем не менее, Objective-C и Swift на самом деле не так уж страшны...

2016 править

Javascript с фреймворком NativeScript доступен для использования уже сейчас.

Другие советы

Вы также можете использовать PyObjC на iPhone, благодаря отличной работе Джея Фримена (saurik).Видишь Приложения для iPhone на Python.

Обратите внимание, что на данный момент для этого требуется взломанный iPhone.

Да, ты можешь.Вы пишете свой код на tinypy (который является ограниченным Python), затем используете tinypy для преобразования его в C ++ и, наконец, компилируете это с помощью XCode в собственное приложение для iPhone.Фил Хасси опубликовал игру под названием Elephants!используя этот подход.Вот более подробная информация,

http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/

Похоже, теперь это то, что разработчикам разрешено делать:вчера соглашение с разработчиком iOS было изменено и, похоже, дополнено таким образом, чтобы сделать легальным внедрение интерпретатора Python в ваше приложение:

РАЗДЕЛ 3.3.2 — УСТНЫЕ ПЕРЕВОДЧИКИ

Старый:

3.3.2 Приложение не может само устанавливать или запускать другой исполняемый код любыми способами, в том числе без ограничений посредством использования архитектуры подключаемых модулей, вызова других фреймворков, других API или иным образом.Если иное не одобрено Apple в письменной форме, никакой интерпретируемый код не может быть загружен или использован в приложении за исключением кода, который интерпретируется и запускается с помощью документированных API Apple и встроенных интерпретаторов.Несмотря на вышеизложенное, с предварительного письменного согласия Apple, Приложение может использовать встроенный интерпретируемый код ограниченным образом, если такое использование предназначено исключительно для предоставления второстепенных функций, которые согласуются с предполагаемым и рекламируемым назначением Приложения.

Новое:

3.3.2 Приложение не может загружать или устанавливать исполняемый код.Интерпретируемый код может использоваться в Приложении только в том случае, если все скрипты, код и интерпретаторы упакованы в Приложение и не загружены. Единственным исключением из вышесказанного являются скрипты и код, загружаемые и запускаемые встроенной платформой Apple WebKit framework.

Да, в настоящее время вы можете разрабатывать приложения для iOS на Python.

Есть два фреймворка, которые вы, возможно, захотите проверить: Киви и PyMob.

Пожалуйста, рассмотрите ответы на этот вопрос тоже, поскольку они более современные, чем этот.

Обновление соглашения для разработчиков iOS означает, что вы можете использовать все, что вам нравится, при условии соблюдения рекомендаций разработчика.Раздел 3.3.1, который ограничивал то, что разработчики могли использовать для разработки iOS, был полностью удален.

Источник: http://daringfireball.net/2010/09/app_store_guidelines

Питонист имеет функцию экспорта в Xcode, которая позволяет вам экспортировать ваши скрипты Python в виде проектов Xcode, которые создают автономные приложения для iOS.

В соглашении iPhone SDK также довольно расплывчато указано, разрешено ли вам вообще запускать языки сценариев (за пределами Javascript в WebView).Я читаю, что это нормально - до тех пор, пока ни один из выполняемых вами скриптов не загружен из сети (поэтому предустановленные и отредактированные пользователем скрипты, похоже, в порядке).

ИАНАЛ и т.д. и т.п.

Технически, пока интерпретируемый код НЕ загружен (исключая JavaScript), приложение может быть одобрено.Rhomobiles "Rhodes" framework делает именно это, объединяя мобильный Ruby, облегченную версию Rails и ваше приложение для распространения через app-store.Поскольку и интерпретатор, и интерпретируемый код упакованы в конечное приложение, Apple не считает это нежелательным.

http://rhomobile.com/products/rhodes/

Даже после выхода последнего пресс-релиза Apple - приложения rhodes (mobile ruby) по-прежнему доступны в app Store.Мне было бы трудно поверить, что tinyPy или PyObjC не нашли бы себе места, если бы нашлось желающее сообщество разработчиков.

Вы можете сделать это с помощью PyObjC, разумеется, с джейлбрейкнутым телефоном.Но если вы хотите загрузить его в App Store, они не разрешат это, потому что оно "интерпретирует код". Однако вы можете использовать Сброшенная Кожа, хотя я не знаю, чтобы кто-нибудь это делал.Однако я не могу придумать ни одной веской причины для этого, поскольку вы теряете динамическую типизацию и с таким же успехом можете использовать ObjC.

Я думаю, что раньше это было невозможно, но недавно я услышал о PyMob, что кажется интересным, потому что приложения написаны на Python, а конечными результатами являются собственные исходные коды на различных платформах (Obj-C для iOS, Java для Android и т.д.).Это, безусловно, совершенно уникально. Это веб-страница объясняет это более подробно.

Я еще не попробовал, но скоро попробую.

Быть готовым это фреймворк с открытым исходным кодом для создания собственных приложений для iOS и Android.

Единственным значимым "внешним" языком для разработки iPhone, о котором я знаю, с незначительной поддержкой с точки зрения фреймворков и совместимости, является Моноточечный, среда C # / .NET для разработки на iPhone.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top