在iPhone应用程序中嵌入Python

问题:

这是一个新的千年苹果已经挥手了在iPhone(App Store)应用程序中添加一个Python解释器是合法的。
怎么做这样做?所有现有的讨论(不出意料)都是指越狱。 (较旧的问题:Can I write native iPhone apps using Python
我的目标不是写一个PyObjC应用程序,而是编写一个常规的ObjC应用程序,它运行Python作为嵌入式库。然后,Python代码将回调到本机可可代码。这是“控制逻辑是Python代码”的模式。
是否有指导使用XCode内置Python,以便我的iPhone应用可以链接?最好是一个精简的Python,因为我不需要90%的标准库。
我可以找出线程和Python扩展API;我在MacOS上做到了。但只使用命令行编译器,而不是XCode。

回答:

如何构建Python并不重要 – 例如,您不需要在Xcode中构建它,但是该构建的产物是什么重要的。
也就是说,您将需要构建可以静态链接到应用程序中的类似libPython.a的东西。一旦你有一个.a,可以添加到您的应用程序的Xcode项目,从那里,它将被链接和签署就像你的其他应用程序。
IIRC(自从我手工构建python以来已经有一段时间了),如果您正确配置它,开箱即用的python将构建一个libPython.a(和其他一些库)。
当然,您的第二个问题将是从您的86框交叉编译ARM的python。 Python是一个基于autoconf的项目,autoconf是交叉编译的对接方法。
正如你所说的那样,把它做得很小将是至关重要的。
也不奇怪,你不是第一个想做这个的人,而不是iOS。 Python已经被挤入到比运行iOS的设备更少的能力。我发现一个线程与一堆链接,谷歌搜索;它might be useful
此外,您可能希望加入pyobjc-dev列表。虽然您没有针对基于PyObjC的应用程序(其中,btw是一个好主意 – PyObjC在iOS友好之前还有很长的路要走),PyObjC社区一直在讨论这个和任何人的罗纳德,可能是这个特定领域最有知识的人。请注意,PyObjC必须在移植PyObjC之前解决iOS上的嵌入式Python问题。他们的先决条件是你的要求。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Embedding Python in an iPhone app

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

12 − 2 =