Можно ли развернуть приложение Python в Mac App Store?

Принимает ли Apple приложения Python для распространения в новом Mac App Store?

Если да, то как следует упаковать приложение? Достаточно ли py2app? Что-то другое?


person FogleBird    schedule 09.02.2011    source источник
comment
Запуск награды. Кто-нибудь на самом деле это сделал? Текущие ответы расплывчаты.   -  person FogleBird    schedule 11.02.2011


Ответы (6)


Я упаковал Pennywise, который доступен в Mac App Store. Он основан на moneyGuru Вирджила, который использует Python, PyObjC и py2app.

Вам нужно будет следовать процессу Apple для подготовки приложения к отправке в Mac App Store < / а>. Самое главное, вы захотите добавить правильные ключи в свой Info.plist и удалить любой механизм автоматического обновления, например Сверкнуть. Это не обязательно, но вы, вероятно, также захотите реализовать проверку квитанции . Использование Xcode значительно упростит процесс отправки. Вы можете посмотреть в исходном коде moneyGuru пример того, как использовать Xcode в качестве финальной части сборки. процесс.

Py2app включает копию фреймворка Python в пакет, поэтому я не знаю, утвердит ли Apple приложение, которое связано только с системным фреймворком. Хотя основной двоичный файл не может поддерживать PPC, Apple, похоже, не проверяет архитектуры двоичных файлов во встроенных фреймворках.

И последнее предостережение: я бы не рекомендовал этот процесс для написания новых приложений. Использование Python, PyObjC и py2app серьезно усложняет процесс сборки и вводит дополнительные зависимости.

person lemnar    schedule 16.02.2011

Я знаю, что это возможно, потому что я знаю по крайней мере одно приложение на основе Python, которое есть в магазине приложений («Pennywise», основанное на моем собственном приложении moneyGuru, которое использует Python + PyObjc + py2app). Сам не делал, поэтому не уверен в деталях.

person Virgil Dupras    schedule 14.02.2011
comment
Замечательно, я только что написал разработчику Pennywise по электронной почте, и он сказал, что опубликует здесь ответ сегодня. - person FogleBird; 14.02.2011

Я написал исчерпывающую статью, объясняющую, как создать и отправить приложение Python в Mac App Store. Он включает исходный код и сценарии сборки для примера приложения barebone, которое я успешно отправил.

person David Foster    schedule 25.06.2014
comment
Мне кажется забавным, что вы написали сценарий оболочки вместо сценария python для автоматизации различных частей процесса загрузки сценария python в App Store. - person ArtOfWarfare; 14.04.2015
comment
Да, я полагаю, это немного забавно. Поскольку большая часть процесса просто запускает другие инструменты CLI и не требуется сложной проверки или абстракции, сценарии оболочки работают нормально, как есть. - Более сложные сценарии оболочки, которые я писал в других проектах, в конечном итоге были переведены в сценарии Python. - person David Foster; 15.04.2015

Да, это возможно, если вы соблюдаете все правила утверждения. Это означает, что, например, интерпретатор python должен быть встроен в ваше приложение.

Смотрите здесь полный список требований:

https://developer.apple.com/appstore/mac/resources/approval/guidelines.html

person blueberryfields    schedule 09.02.2011
comment
Это помогает, но не совсем точно описывает, как упаковать успешную отправку (вторая часть моего вопроса). - person FogleBird; 09.02.2011
comment
Я подумал, что в инструкциях сказано использовать XCode и связанные с ним инструменты упаковки. - person blueberryfields; 09.02.2011
comment
Это означает, что, например, интерпретатор python должен быть встроен в ваше приложение. Откуда у вас такое требование? В /System/Library/Frameworks/Python.framework есть отличный переводчик - person Miles; 09.02.2011
comment
@Miles Правила указывают, что приложениям не разрешено выполнять автоматические обновления или принудительно обновлять внешние компоненты. Я объединил это со своим предположением, что большинство людей захотят контролировать версию python, которая работает с их приложением. - person blueberryfields; 09.02.2011
comment
Py2App встраивает интерпретатор в пакет приложения. - person Kenneth Reitz; 15.02.2011

Вполне возможно. Мое приложение сейчас в списке:

http://itunes.apple.com/us/app/quickwho/id419483981?mt=12&ls=1#

В комплекте с py2app, не беспокойтесь.

person Kevin Walzer    schedule 29.10.2011

Apple предоставляет инструмент Build Applet для Python с Xcode, поэтому он должен поддерживаться магазином приложений. MacOS X 10.6.6 включает Python 2.5 и 2.6 как часть установки по умолчанию, вы можете указать /usr/bin/python2.5 и /usr/lib/python2.5.

person Michael Shopsin    schedule 11.02.2011