Programing

Python을 사용하여 네이티브 iPhone 앱을 작성할 수 있습니까?

lottogame 2020. 9. 13. 11:36
반응형

Python을 사용하여 네이티브 iPhone 앱을 작성할 수 있습니까?


사용 PyObjC를 네이티브 아이폰 파이썬 만일 그렇다면, 방법을 사용하여 프로그램을 작성, 당신은 OS X에서 할 수 있습니까 코코아 응용 프로그램을 작성할 수 Python을 사용할 수 있습니까?


현재는 아니지만 현재 iPhone SDK에 액세스 할 수있는 유일한 언어는 C / C ++, Objective C 및 Swift입니다.

이것이 미래에 바뀔 수없는 기술적 이유는 없지만 단기간에 이런 일이 일어나기 위해 숨을 참지 않을 것입니다.

즉, Objective-C와 Swift는 실제로 너무 무섭지 않습니다.

2016 년 편집

NativeScript 프레임 워크가있는 Javascript를 지금 사용할 수 있습니다.


Jay Freeman (saurik)의 뛰어난 작업 덕분에 iPhone에서도 PyObjC를 사용할 수 있습니다. Python의 iPhone 응용 프로그램을 참조하십시오 .

현재 탈옥 한 iPhone이 필요합니다.


그래 넌 할수있어. 코드를 tinypy (제한된 Python)로 작성한 다음 tinypy를 사용하여 C ++로 변환하고 마지막으로 XCode를 사용하여 네이티브 iPhone 앱으로 컴파일합니다. Phil Hassey는 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이 서면으로 달리 승인하지 않는 한, Apple의 Documented API 및 내장 인터프리터에 의해 해석되고 실행되는 코드를 제외하고는 해석 된 코드를 애플리케이션에서 다운로드하거나 사용할 수 없습니다. 전술 한 내용에도 불구하고, Apple의 사전 서면 동의하에, 응용 프로그램의 의도 및 광고 목적과 일치하는 사소한 특징이나 기능을 제공하기위한 용도로만 사용하는 경우 응용 프로그램은 제한된 방식으로 내장 된 해석 코드를 사용할 수 있습니다.

새로운:

3.3.2 애플리케이션은 실행 코드를 다운로드하거나 설치할 수 없습니다. 해석 된 코드는 모든 스크립트, 코드 및 인터프리터가 응용 프로그램에 패키지되어 있고 다운로드되지 않은 경우 응용 프로그램에서만 사용할 수 있습니다. 앞서 말한 것에 대한 유일한 예외는 Apple의 내장 WebKit 프레임 워크에 의해 다운로드되고 실행되는 스크립트와 코드입니다.


예, 요즘에는 Python으로 iOS 용 앱을 개발할 수 있습니다.

체크 아웃 할 수있는 프레임 워크는 KivyPyMob 두 가지 입니다.

이 질문 보다 최신 정보 이므로이 질문에 대한 답변도 고려하십시오 .


iOS 개발자 계약에 대한 업데이트는 개발자 지침을 충족하는 한 원하는대로 사용할 수 있음을 의미합니다. 개발자가 iOS 개발에 사용할 수있는 기능을 제한하는 섹션 3.3.1이 완전히 제거되었습니다.

출처 : http://daringfireball.net/2010/09/app_store_guidelines


Pythonista 에는 독립형 iOS 앱을 빌드하는 Xcode 프로젝트로 Python 스크립트를 내보낼 수있는 Xcode로 내보내기 기능이 있습니다.

https://github.com/ColdGrub1384/Pyto 도 살펴볼 가치가 있습니다.


iPhone SDK 계약은 스크립팅 언어 (WebView의 자바 스크립트 외부)를 실행할 수 있는지 여부에 대해서도 다소 모호합니다. 내 독서는 괜찮습니다-실행하는 스크립트가 네트워크에서 다운로드되지 않는 한 (따라서 사전 설치되고 사용자가 편집 한 스크립트는 괜찮은 것 같습니다).

IANAL 등


기술적으로 해석 된 코드가 다운로드되지 않는 한 (JavaScript 제외) 앱이 승인 될 수 있습니다. Rhomobiles "Rhodes"프레임 워크는 모바일 Ruby, Rails의 경량 버전 및 앱 스토어를 통해 배포 할 수 있도록 앱을 번들로 제공합니다. 인터프리터와 인터프리터 된 코드가 모두 최종 애플리케이션에 포함되어 있기 때문에 Apple은이를 불쾌하다고 생각하지 않습니다.

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

최신 Apple 보도 자료 이후에도-Rhodes 앱 (모바일 루비)은 앱 스토어에서 여전히 실행 가능합니다. 기꺼이 개발자 커뮤니티가 있다면 tinyPy 또는 pyObjC가 장소를 찾지 못할 것이라고 믿기가 어렵습니다.


물론 탈옥 전화로 PyObjC로 이것을 할 수 있습니다. 하지만 앱 스토어에 들어가고 싶다면 "코드를 해석"하기 때문에 허용하지 않을 것입니다. 그러나 내가 이것을하는 사람을 알지 못하더라도 Shed Skin 을 사용할 수 있습니다 . 동적 타이핑을 잃고 ObjC를 사용하는 것이 좋을 수 있기 때문에 이것을 수행하는 좋은 이유를 생각할 수 없습니다.


이전에는 불가능하다고 생각했지만 최근에 앱이 Python으로 작성되고 최종 출력이 다양한 플랫폼 (iOS 용 Obj-C, Android 용 Java 등)의 네이티브 소스 코드이기 때문에 흥미로워 보이는 PyMob에 대해 들었습니다. 이것은 확실히 매우 독특합니다. 웹 페이지에서 더 자세히 설명합니다.

아직 시도하지 않았지만 곧 살펴 보겠습니다.


BeeWare 는 네이티브 iOS 및 Android 앱 제작을위한 오픈 소스 프레임 워크입니다.


2019 업데이트 :

Python-iOS 개발은 상대적으로 미성숙하고 앱이 Apple에서 지원하는 개발 언어로 구현할 수있는 네이티브 UI 및 기능을 사용하지 못하게 할 가능성이 있지만 (afaik) 이제 Apple은 네이티브 Swift / Obj-C에 Python 인터프리터를 포함 할 수 있습니다. 앱.

이는 Python 라이브러리 가져 오기 및 Python 스크립트 실행 (제공된 명령 줄 인수 포함)을 네이티브 Swift / Obj-C 코드에서 직접 지원합니다.

우리 회사는 실제로 기본 iOS 애플리케이션에서 인프라 (원래 Python으로 작성 됨)를 래핑하고 있습니다! 매우 잘 작동하며 클라이언트-서버 모델을 통해 부품 간의 통신을 쉽게 수행 할 수 있습니다.

Here is a nice library by Beeware with a cookiecutter template if you want to try and run Python scripts in your iOS app: https://github.com/beeware/Python-Apple-support/tree/3.6.


The only significant "external" language for iPhone development that I'm aware of with semi-significant support in terms of frameworks and compatibility is MonoTouch, a C#/.NET environment for developing on the iPhone.

참고URL : https://stackoverflow.com/questions/43315/can-i-write-native-iphone-apps-using-python

반응형