温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python开发iOS程序

发布时间:2020-11-21 13:41:52 来源:亿速云 阅读:266 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关怎么用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程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI