Python 语言开发 Object-C 程序

常见支持开发 iOS 的第三方语言

Js 语言

Lua 语言

Ruby 语言(RubyMotion)

怎么用 Python 开发 iOS 程序

其实我们最主要解决的就是下面几件事情:

在 iOS App 中安装 Python 解释器

搭建 Python 和 objc 通信的桥梁(rubicon)

如何配置工程并开发

在 iOS App 中安装 Python 解释器

Python-iOS-support

pybee 开源了一个可以嵌入到 iOS 工程中的 Python 编译脚本,具体位置在这:

https://github.com/pybee/Python-iOS-support

默认是使用 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 解释器编译

cd 到 Python-iOS-support 目录,设置编译参数,直接编译。我们这只需要 iOS 版本,所以直接 make iOS 即可。


Python 解释器framework

如果编译出问题,可以直接下载编译好的版本:

https://github.com/pybee/Python-iOS-support/releases

搭建 Python 和 objc 通信的桥梁

rubicon-objc 是一个连接 Python 和 objc 的桥梁。

首先,我们需要安装一下:

打开 mac 终端运行下面命令 pip install rubicon-objc

Python 写 iOS 语法

1)调用 objc 的方式和以前 objc 直接的写法很像.

2)方法名不使用:,而是使用_ 如:OC 代码:[label setText:@"xxx title"]

Python 代码:label.setText_("xxx title")

3)不能使用 nil,Python 里面使用 None 代替 如:myArray = NSArray.arrayWithObjects_("ok", "ok1", "ok2", None)

Python 可支持 iOS 插件功能

1、iOS 内嵌 lua wax 可实现 app 下发插件能力。

2、iOS 内嵌 jsPatch 可实现 app 下发插件能力。

3、iOS 如果内嵌 Python 解释器与 rubicon 通信框架,利用 OC runtime 同样可以下发 python 文件来实现下发插件能力。

原文地址 :https://cloud.tencent.com/developer/article/1005262?fromSource=waitui (转载)

Python 开发 iOS 总结

1、没有 Oc 语法高亮 IDE 的支持 ,OC 系统库方法名较长开发者必须熟记各名方法名,这无疑给开发增加难度。

2、Python 解释器过大生成的只有 ARMv7 和 ARM64 的 Python.framework 就已经有 20M 了;相比较而言,lua 的解释器就只有 200k。

3、技术支持 rubicon 没有任何官方文档;开者过程出现一些 rubicon 框架自身的 BUG,无人解决。

一个可以编译执行的 demo

运行结果如下:

你可能感兴趣的:(Python 语言开发 Object-C 程序)