十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的白碱滩网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!这篇文章将为大家详细讲解有关怎么用Python开发iOS程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
对,你没有看错,就是使用Python开发iOS程序!
我们见过使用JS、Lua、Ruby开发iOS程序的,但是基本没有见过使用Python开发iOS程序(软件)的,这是为什么?关于这个问题,我后面会回答。
那么,怎么用Python开发iOS程序呢?
其实我们最主要解决的就是下面几件事情:
在iOS App中安装Python解释器。
搭建Python和objc通信的桥梁。
如何配置工程并开发。
如果不使用UIKit这些,那么就要使用OpenGL ES这些了,这种方式,主要是用于开发游戏的,我们这里不涉及这些。
当然,以下所有内容都是在一台已经安装了Xcode的Mac上进行的。
在iOS App中安装Python解释器
Python-iOS-support
pybee开源了一个可以嵌入到iOS工程中的Python编译脚本,具体位置在这:
https://github.com/pybee/Python-iOS-supp...
默认是使用Python 3.4.2,编译x86_64、i386、ARMv7、ARMv7s、ARM64共5个版本,然后打成一个臃肿包,可选framework或者.a。
如果真的要用于生产环境的话,只要把Makefile中的
TARGETS-iOS=iphonesimulator.x86_64 iphonesimulator.i386 iphoneos.armv7 iphoneos.armv7s iphoneos.arm64
修改为:
TARGETS-iOS=iphoneos.armv7 iphoneos.arm64
我们只需要支持ARMv7和ARM64即可,ARMv7s可以兼容ARMv7,所以可以让包小一些。
修改Python版本的地方在:
PYTHON_VERSION=3.4.2
替换为需要版本即可。
编译
切到Python-iOS-support目录,设置编译参数,直接编译。我们这只需要iOS版本,所以直接make iOS即可。
编译成功之后,会在build目录上生成Python.framework和OpenSSL.framework。
搭建Python和objc通信的桥梁
rubicon-objc是一个连接Python和objc的桥梁。
首先,我们需要安装一下:
pip install rubicon-objc
调用objc的方式和以前objc直接的写法很像,只是有一些需要改变,比如:
方法名不使用:,而是使用_。
多参数需要使用Python的方式
如何配置工程并开发
创建工程
Python所需要的工程和直接用Xcode创建的不太一样,手动改写的话,还比较麻烦,所以我们直接用模板工具生成。
cookiecutter是一个可以在模板中快速创建工程的一个工具,Python-iOS-template是pybee开源的一个使用Python开发iOS工程的模板。
首先,我们需要安装cookiecutter,直接使用pip安装即可:
pip install cookiecutter
创建完工程生成的目录:
app目录是放置我们创建的python文件的地方。
app_packages目录是放三方包的地方,等同于我们在电脑端的site_packages文件夹。
工程里面可以同时存在objc文件和python文件,两者可以各自运行,并不冲突。
关于怎么用Python开发iOS程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。