아이폰 앱에 파이썬 내장
애플은 손을 흔들었고 이제 아이폰(앱스토어) 앱에 파이썬 통역기를 포함하는 것이 합법화되었습니다.
어떻게 하면 좋을까요?(놀랍게도) 기존의 모든 논의는 탈옥에 관한 것입니다. (오래된 질문: 파이썬을 사용하여 네이티브 아이폰 앱을 작성할 수 있습니까?)
여기서 제 목표는 PyObjC 앱을 작성하는 것이 아니라 Python을 임베디드 라이브러리로 실행하는 일반 ObjC 앱을 작성하는 것입니다.그런 다음 파이썬 코드가 네이티브 코코아 코드로 다시 호출됩니다.이것은 "제어 로직은 파이썬 코드" 패턴입니다.
내 아이폰 앱이 연결할 수 있도록 파이썬을 XCode로 빌드하는 가이드가 있습니까?표준 라이브러리의 90%가 필요하지 않기 때문에 분해된 파이썬을 선호합니다.
저는 아마도 스레드화와 파이썬 확장 API를 알아낼 수 있을 것입니다. 저는 MacOS에서 그렇게 했습니다.하지만 XCode가 아닌 명령줄 컴파일러만 사용합니다.
파이썬을 어떻게 만드는지는 중요하지 않습니다. 예를 들어 Xcode로 만들 필요가 없습니다. 하지만 중요한 것은 그 빌드의 산물입니다.
즉, 애플리케이션에 정적으로 연결할 수 있는 libPython.a와 같은 것을 구축해야 합니다.일단 당신이 .a를 갖게 되면, 그것은 당신의 애플리케이션에 대한 Xcode 프로젝트에 추가될 수 있고, 거기서 그것은 당신의 앱의 다른 부분과 마찬가지로 링크되고 서명될 것입니다.
IIRC(손으로 파이썬을 구축한 지 오래됨)를 올바르게 구성하면 즉시 사용할 수 있는 파이썬이 libPython.a(및 다른 라이브러리 묶음)를 구축합니다.
물론 두 번째 문제는 86박스에서 ARM용 파이썬을 크로스 컴파일하는 것입니다.Python은 autoconf 기반 프로젝트이고 autoconf는 교차 컴파일의 골칫거리입니다.
정확하게 말씀하신 대로 작게 만드는 것이 중요합니다.
놀라운 것은 당신이 이것을 하고 싶어하는 첫 번째 사람은 아니지만 iOS를 위해서는 아니라는 것입니다.Python은 iOS를 실행하는 장치보다 훨씬 덜 기능적인 장치로 압축되었습니다.검색할 때 여러 링크가 있는 스레드를 발견했습니다. 유용할 수도 있습니다.
또한 pyobjc-dev 목록에 참여할 수도 있습니다.PyObjC 기반 애플리케이션을 대상으로 하지는 않지만(이것은 좋은 생각입니다. PyObjC는 iOS 친화적이 되기까지 갈 길이 멉니다.) PyObjC 커뮤니티는 이에 대해 논의해 왔으며 Ronald는 아마도 이 분야에서 가장 지식이 풍부한 사람일 것입니다.PyObjC는 PyObjC를 포팅하기 전에 iOS에 내장된 Python 문제를 해결해야 합니다.그들의 전제조건은 당신의 요구사항입니다.
아이폰과 시뮬레이터용 파이썬 2.6.5를 가져와서 구축하는 github에 매우 대략적인 스크립트를 올렸습니다.
http://github.com/cobbal/python-for-iphone
작업진행중
거의 2년 후 다소 우울한 업데이트: (Github의 README에서 복사)
이 프로젝트는 만족스럽게도 아이폰에서 파이썬을 실행한 적이 없으며, 현 단계에서는 어떤 진지한 프로젝트에도 사용하는 것을 추천할 수 없습니다.
가장 눈에 띄는 누락은 Pyobjc 지원(이는 플랫폼별 코드에 더 의존하기 때문에 iPhone으로 이식하는 것이 훨씬 더 어려운 것으로 판명됨)입니다.
또한 모듈을 정적으로 컴파일할 수 있는 기능이 누락되었습니다(현재 모두 개발을 위해 작동하는 dylib으로 빌드되었지만 내가 알기로는 앱스토어에서는 허용되지 않습니다).
이 시점에서 이 프로젝트는 위와 같은 문제를 해결하고 싶어하고 해결할 수 있는 저보다 똑똑한 사람을 위한 출발점이 될 것입니다.
저는 완전히 파이썬으로 앱을 작성하는 것이 실용적이었으면 정말 좋겠지만, 현 시점에서는 불가능해 보입니다.
저도 그런 프로젝트를 시작했습니다.자체 단순화된 컴파일 스크립트와 함께 제공되므로 크로스 컴파일된 정적 라이브러리를 가져오기 위해 자동 conf를 사용하여 혼란을 일으킬 필요가 없습니다.일부 공통 모듈을 사용하여 완전히 종속성이 없는 Python 정적 라이브러리를 구축할 수 있습니다.쉽게 확장할 수 있어야 합니다.
https://github.com/albertz/python-embedded/
언급URL : https://stackoverflow.com/questions/3691655/embedding-python-in-an-iphone-app
'programing' 카테고리의 다른 글
글꼴 파일이 ASP로 로드되지 않습니다.NET 번들 (0) | 2023.08.08 |
---|---|
도커 합성, 백엔드 앱 + 데이터베이스를 모두 포함하는 이미지를 만드는 방법/ (0) | 2023.08.08 |
MariaDB Authentication Plugin을 수정하는 방법 - PAM? (0) | 2023.08.08 |
기존 Spring 프로젝트를 Spring Boot로 마이그레이션하는 방법 (0) | 2023.08.08 |
iOS 11에서 UI 검색 막대가 탐색 막대 높이를 높입니다. (0) | 2023.08.08 |