Czy można wdrożyć aplikację Pythona w Mac App Store?

Czy Apple akceptuje Aplikacje Pythona do dystrybucji w Nowym Mac App Store?

Jeśli tak, to jak powinna być pakowana aplikacja? Czy py2app jest wystarczający? Coś jeszcze?

Author: FogleBird, 2011-02-09

6 answers

Spakowałem Pennywise, który jest dostępny w Mac App Store. Jest oparty na Moneyguru Virgila, który używa Pythona, PyObjC i py2app.

Będziesz musiał śledzić proces przygotowania wniosku do złożenia w Mac App Store . Co najważniejsze, będziesz chciał dodać odpowiednie klucze do swoich informacji.plist, i usunąć dowolny mechanizm automatycznej aktualizacji, np. Sparkle. Nie jest to ściśle wymagane, ale prawdopodobnie będziesz również chciał zaimplementować Paragon sprawdzanie . Korzystanie z Xcode znacznie ułatwi proces składania wniosków. Możesz spojrzeć na kod źródłowy moneyGuru dla przykładu jak używać Xcode jako końcowej części procesu budowania.

Py2app osadza kopię frameworka Pythona w pakiecie, więc Nie wiem, czy Apple zatwierdzi aplikację, która łączy się tylko z frameworkiem systemowym. Chociaż podstawowy plik binarny nie obsługuje PPC, Apple wydaje się nie sprawdzać architektur plików binarnych w osadzonych ramy.

Ostatnie zastrzeżenie: nie polecałbym tego procesu do pisania nowych aplikacji. Używanie Pythonów, PyObjC i py2app poważnie komplikuje proces budowania i wprowadza dodatkowe zależności.

 55
Author: lemnar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-06 12:06:58

Wiem, że to możliwe, ponieważ znam przynajmniej jedną aplikację Pythona, która jest w app store ("Pennywise", która jest oparta na mojej własnej aplikacji, moneyGuru, która używa Pythona + PyObjc + py2app). Nie zrobiłem tego sam, więc nie jestem pewien szczegółów.

 9
Author: Virgil Dupras,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-14 14:40:41

Napisałem obszerny artykuł wyjaśniający, jak zbudować i przesłać aplikację Pythona do Mac App Store. Zawiera kod źródłowy i skrypty do budowania przykładowej aplikacji barebones, którą pomyślnie przesłałem.

 6
Author: David Foster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-25 07:21:06

Tak, jest to możliwe, o ile przestrzegasz pełnych wytycznych dotyczących zatwierdzania. Oznacza to, że na przykład interpreter Pythona będzie musiał zostać dołączony do Twojej aplikacji.

Pełna lista wymagań znajduje się tutaj:

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

 5
Author: blueberryfields,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-09 01:04:07

To całkiem możliwe. Moja aplikacja jest obecnie na liście:

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

W pakiecie z py2app, bez obaw.

 3
Author: Kevin Walzer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-29 03:30:04

Apple dostarcza narzędzie do budowania apletu dla Pythona z Xcode, więc powinno być obsługiwane przez App store. MacOS X 10.6.6 zawiera Pythona 2.5 i 2.6 jako część domyślnej instalacji, można określić /usr/bin/python2.5 i /usr/lib/python2.5.

 1
Author: Michael Shopsin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-14 14:35:26