사용 PyObjC를 네이티브 아이폰 파이썬 만일 그렇다면, 방법을 사용하여 프로그램을 작성, 당신은 OS X에서 할 수 있습니까 코코아 응용 프로그램을 작성할 수 Python을 사용할 수 있습니까?
사용 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이 필요합니다.
이제 개발자가 할 수있는 일인 것 같습니다. iOS 개발자 계약이 어제 변경되었으며 애플리케이션에 Python 인터프리터를 합법적으로 삽입하는 방식으로 수정 된 것으로 보입니다.
섹션 3.3.2 — 통역사
낡은:
3.3.2 응용 프로그램은 플러그인 아키텍처 사용, 다른 프레임 워크, 기타 API 호출 등을 포함하되 이에 국한되지 않는 방식을 포함하여 다른 실행 코드를 자체적으로 설치하거나 실행할 수 없습니다. Apple이 서면으로 달리 승인하지 않는 한, Apple의 Documented API 및 내장 인터프리터가 해석하고 실행하는 코드를 제외하고 해석 된 코드를 애플리케이션에서 다운로드하거나 사용할 수 없습니다. 전술 한 내용에도 불구하고, Apple의 사전 서면 동의하에, 응용 프로그램의 의도 및 광고 목적과 일치하는 사소한 특징이나 기능을 제공하기위한 용도로만 사용하는 경우 응용 프로그램은 제한된 방식으로 내장 된 해석 코드를 사용할 수 있습니다.
새로운:
3.3.2 응용 프로그램은 실행 코드를 다운로드하거나 설치할 수 없습니다. 해석 된 코드는 모든 스크립트, 코드 및 인터프리터가 응용 프로그램에 패키지되어 있고 다운로드되지 않은 경우 응용 프로그램에서만 사용할 수 있습니다. 앞서 말한 것에 대한 유일한 예외는 Apple의 내장 WebKit 프레임 워크에 의해 다운로드되고 실행되는 스크립트와 코드입니다.
그래 넌 할수있어. 코드를 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 개발자 계약에 대한 업데이트는 개발자 지침을 충족하는 한 원하는대로 사용할 수 있음을 의미합니다. 개발자가 iOS 개발에 사용할 수있는 기능을 제한하는 섹션 3.3.1이 완전히 제거되었습니다.
Pythonista 에는 독립형 iOS 앱을 빌드하는 Xcode 프로젝트로 Python 스크립트를 내보낼 수있는 Xcode로 내보내기 기능이 있습니다.
https://github.com/ColdGrub1384/Pyto 도 살펴볼 가치가 있습니다.
2019 업데이트 :
Python-iOS 개발은 상대적으로 미성숙하고 앱이 Apple에서 지원하는 개발 언어로 구현할 수있는 네이티브 UI 및 기능을 사용하지 못하게 할 가능성이 있지만 (afaik) 이제 Apple은 네이티브 Swift / Obj-C에 Python 인터프리터를 포함 할 수 있습니다. 앱.
이는 Python 라이브러리 가져 오기 및 Python 스크립트 실행 (제공된 명령 줄 인수 포함)을 네이티브 Swift / Obj-C 코드에서 직접 지원합니다.
우리 회사는 실제로 기본 iOS 애플리케이션에서 인프라 (원래 Python으로 작성 됨)를 래핑하고 있습니다! 매우 잘 작동하며 클라이언트-서버 모델을 통해 부품 간의 통신을 쉽게 수행 할 수 있습니다.
다음은 iOS 앱에서 Python 스크립트를 실행하고 싶다면 cookiecutter 템플릿이있는 Beeware의 멋진 라이브러리입니다 : https://github.com/beeware/Python-Apple-support/tree/3.6 .
기술적으로 해석 된 코드가 다운로드되지 않는 한 (JavaScript 제외) 앱이 승인 될 수 있습니다. Rhomobiles "Rhodes"프레임 워크는 모바일 Ruby, Rails의 경량 버전 및 앱 스토어를 통한 배포 용 앱을 번들로 제공합니다. 인터프리터와 인터프리터 된 코드가 모두 최종 애플리케이션에 포함되어 있기 때문에 Apple은이를 불쾌하다고 생각하지 않습니다.
http://rhomobile.com/products/rhodes/
최신 Apple 보도 자료 이후에도-Rhodes 앱 (모바일 루비)은 앱 스토어에서 여전히 실행 가능합니다. 기꺼이 개발자 커뮤니티가 있다면 tinyPy 또는 pyObjC가 장소를 찾지 못할 것이라고 믿기가 어렵습니다.
이전에는 불가능하다고 생각했지만 최근에 앱이 Python으로 작성되고 최종 출력이 다양한 플랫폼 (iOS 용 Obj-C, Android 용 Java 등)의 네이티브 소스 코드이기 때문에 흥미로워 보이는 PyMob에 대해 들었습니다. 이것은 확실히 매우 독특합니다. 이 웹 페이지에서 더 자세히 설명합니다.
아직 시도하지 않았지만 곧 살펴 보겠습니다.