python可以在ios上运行吗_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上运行吗_python可以开发ios吗相关推荐
- ios上运行python_iOS上的Python
ios上运行python This holiday I discovered Pythonista, and my mind was blown. 这个假期,我发现了Pythonista ,这让我很震 ...
- 苹果手机上运行python_【后端开发】python能在苹果手机上运行吗
Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境.它包含了许多示例:绘画游戏动画.图像处理.自定义用户界面和自动化脚本. 除了强大的标准库之外,Pythonis ...
- python能在苹果手机上运行吗
Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境.它包含了许多示例:绘画游戏动画.图像处理.自定义用户界面和自动化脚本. 除了强大的标准库之外,Pythonis ...
- 如何在iOS上运行React Native应用
by Soujanya PS 通过Soujanya PS 如何在iOS上运行React Native应用 (How to run a React Native app on iOS) I recent ...
- python项目在jenkins上运行-2(姐妹们我又来了)
还记得我上篇文python项目在jenkins上运行-1(心路历程,被自己蠢哭),在jenkins工作空间构建项目嘛 没错,那个笨蛋就是我 上篇文还喜滋滋的觉得自己搞定了大问题.当然,上篇文的处理方法 ...
- ios 上运行linux,你可曾想过在iOS上跑Linux?
你可曾想过在IOS设备上运行Linux系统?或者用shell来传输文件.编写脚本,又或者使用Vi来开发代码? Here is a good news,现在有了一个叫iSH的东西,你可以使用它在IOS设 ...
- 在哪个Linux发行版上运行python,怎么在linux上运行python
Linux默认是已经安装好了Python程序 目前来说,大多数的Linux发行版是安装了两个版本的Python程序 一个是Python 2.x 一个是Python 3.x 一些系统自带的程序文件需要P ...
- python能在ipad上运行吗_如何用iPad运行Python代码?
其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...
- 在ios上运行安卓计算机软件,安卓竟然也能运行iOS,苹果怒了!
iPhone最大的优势是什么? 答案肯定是iOS. 很多人离不开iPhone, 就是因为其丝滑般的系统,强大的生态. 但是,如果这种优势不复存在呢? 也许你会说,怎么可能? 目前的安卓还比不了iOS. ...
最新文章
- 2018全球智能+新商业峰会倒计时2个月,5000名AI从业者将出席
- Redis 官方可视化工具,功能真心强大!
- react-navigation 使用教程(配完整项目)
- poj 1737男人八题之一 orz ltc
- axure9 邮件点击效果_总是收到无关的工作邮件?这个有意思的工具可以帮你消灭它们...
- 如何做好配电室、临时用电安全管理?
- 中国钠离子电池行业竞争需求状况及投资盈利分析报告2021-2027年版
- php 查询数据库返回json数据
- 数组初始化使用(写)new与不使用(不写)new
- springMVC环境搭建
- 打开SharePoint 2013 web application显示iis 欢迎页面
- Java 多线程 之 wait等待 线程实例
- 西门子PLC与DCS通讯
- 联想u盘启动linux,联想ThinkPad L540笔记本BIOS设置u盘启动教程
- Week3 Syntactic Parsing(句法分析)
- 虚拟表格(大数据表格)
- 实验3 STP简单配置及介绍
- DouPHP模块化企业网站管理系统源码 v1.6
- 你真的了解分类模型评估指标都有哪些吗?【附Python代码实现】
- SpaceX crew demo-2, 关于第一宇宙速度
热门文章
- Prometheus学习笔记(三)Alertmanager报警模块集成钉钉/企业微信机器人
- 《deep learning》学习笔记(3)——概率与信息论
- Java获取最近12个月
- 前所未有的家庭杜比影院!飞利浦欧风OLED804电视值得期待
- docker compose +ElasticSearch集群 + kibana +SpringBoot/php 使用
- 全球与中国聚酯纤维市场深度研究分析报告(2022)
- 索航科技技术类开发人员简历-本人
- Python全栈(十)Django框架之6.ORM模型基本使用
- 小学机器人编程需要学什么
- Nao机器人实现语音识别