Używając PyObjC , możesz używać Pythona do pisania aplikacji Cocoa dla OS X. Czy mogę pisać natywne aplikacje na iPhone'a używając Pythona, a jeśli tak, to w jaki sposób?
iphone
python
cocoa-touch
davidmytton
źródło
źródło
Odpowiedzi:
Obecnie jedynymi dostępnymi językami w celu uzyskania dostępu do iPhone SDK są C / C ++, Objective C i Swift.
Nie ma żadnego technicznego powodu, dla którego nie miałoby się to zmienić w przyszłości, ale nie wstrzymałbym oddechu, ponieważ wydarzy się to w najbliższej przyszłości.
To powiedziawszy, Objective-C i Swift naprawdę nie są zbyt przerażające ...
źródło
Możesz używać PyObjC również na iPhonie, dzięki doskonałej pracy Jaya Freemana (saurik). Zobacz Aplikacje na iPhone'a w Pythonie .
Zauważ, że w tej chwili wymaga to jailbreakowanego iPhone'a.
źródło
Wygląda na to, że teraz jest to coś, co programiści mogą zrobić: Umowa dewelopera iOS została wczoraj zmieniona i wydaje się, że została poprawiona w taki sposób, aby osadzenie interpretera Pythona w aplikacji było legalne:
SEKCJA 3.3.2 - TŁUMACZE TŁUMACZE
Stary:
Nowy:
źródło
Tak, możesz. Piszesz swój kod w tinypy (który jest ograniczonym Pythonem), następnie używasz tinypy, aby przekonwertować go na C ++, a na koniec skompilować go za pomocą XCode do natywnej aplikacji na iPhone'a. Phil Hassey opublikował grę o nazwie Elephants! stosując to podejście. Oto więcej szczegółów,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
źródło
Tak, obecnie możesz tworzyć aplikacje na iOS w Pythonie.
Istnieją dwa frameworki, które możesz chcieć sprawdzić : Kivy i PyMob .
Prosimy o rozważenie odpowiedzi na to pytanie , ponieważ są one bardziej aktualne niż to.
źródło
Aktualizacja Umowy programisty iOS oznacza, że możesz używać tego, co chcesz, o ile spełniasz wytyczne dla programistów. Sekcja 3.3.1, która ogranicza możliwości programistów do tworzenia aplikacji na iOS, została całkowicie usunięta.
Źródło: http://daringfireball.net/2010/09/app_store_guidelines
źródło
Pythonista ma funkcję eksportu do Xcode, która umożliwia eksportowanie skryptów Pythona jako projektów Xcode, które tworzą samodzielne aplikacje iOS.
Warto również przyjrzeć się https://github.com/ColdGrub1384/Pyto .
źródło
Umowa iPhone SDK jest również dość niejasna, jeśli chodzi o to, czy możesz w ogóle uruchamiać języki skryptowe (poza JavaScriptem WebView). Czytam, że jest OK - o ile żaden ze skryptów, które wykonujesz, nie jest pobierany z sieci (więc preinstalowane i edytowane przez użytkownika skrypty wydają się być w porządku).
IANAL itp. Itp.
źródło
BeeWare to platforma open source do tworzenia natywnych aplikacji na systemy iOS i Android.
źródło
Aktualizacja 2019:
Podczas gdy programowanie w Python-iOS jest stosunkowo niedojrzałe i prawdopodobnie uniemożliwi (afaik) twoją aplikację posiadanie natywnego interfejsu użytkownika i funkcjonalności, które można osiągnąć w języku programistycznym obsługiwanym przez Apple, wydaje się, że Apple zezwala teraz na osadzanie interpreterów Pythona w Native Swift / Obj-C aplikacje.
Obsługuje to importowanie bibliotek Python i uruchamianie skryptów Python (nawet z dostarczonymi argumentami wiersza poleceń) bezpośrednio z kodu Native Swift / Obj-C.
Moja firma aktualnie pakuje naszą infrastrukturę (pierwotnie napisaną w Pythonie) w natywną aplikację na iOS! Działa bardzo dobrze, a komunikację między częściami można łatwo osiągnąć za pomocą modelu klient-serwer.
Oto fajna biblioteka Beeware z szablonem cookiecutter, jeśli chcesz wypróbować i uruchomić skrypty Python w swojej aplikacji na iOS: https://github.com/beeware/Python-Apple-support/tree/3.6 .
źródło
Z technicznego punktu widzenia aplikacja może zostać zatwierdzona, o ile zinterpretowany kod nie zostanie pobrany (z wyłączeniem JavaScript). Platforma Rhomobiles „Rhodes” właśnie to robi, łącząc mobilny Ruby, lekką wersję Railsów i aplikację do dystrybucji za pośrednictwem sklepu z aplikacjami. Ponieważ zarówno interpreter, jak i zinterpretowany kod są pakowane do ostatecznej aplikacji - Apple nie uważa tego za niepożądane.
http://rhomobile.com/products/rhodes/
Nawet po najnowszym komunikacie prasowym Apple - aplikacje Rhodes (mobilny ruby) są nadal dostępne w sklepie z aplikacjami. Trudno mi uwierzyć, że tinyPy lub pyObjC nie znajdą miejsca, jeśli istnieje chętna społeczność programistów.
źródło
Możesz to zrobić za pomocą PyObjC, oczywiście z telefonem po jailbreaku. Ale jeśli chcesz, aby trafił do App Store, nie pozwolą na to, ponieważ „interpretuje kod”. Możesz jednak użyć Shed Skin , chociaż nie wiem, czy ktoś to robi. Nie mogę wymyślić żadnego dobrego powodu, aby to zrobić, ponieważ tracisz dynamiczne pisanie i równie dobrze możesz użyć ObjC.
źródło
Jedynym znaczącym „zewnętrznym” językiem programowania iPhone'a, o którym wiem, z częściowo znaczącym wsparciem w zakresie ram i kompatybilności, jest MonoTouch , środowisko C # / .NET do programowania na iPhone.
źródło
Myślę, że wcześniej nie było to możliwe, ale niedawno usłyszałem o PyMob, co wydaje się interesujące, ponieważ aplikacje są napisane w Pythonie, a końcowe wyniki to natywne kody źródłowe na różnych platformach (Obj-C na iOS, Java na Androida itp.). Jest to z pewnością dość wyjątkowe. Ta strona internetowa wyjaśnia to bardziej szczegółowo.
Nie zrobiłem jeszcze tego zdjęcia, ale wkrótce się przyjrzę.
źródło