实现 iOS 应用自动编译
2011-05-08 18:10
274 查看
前段时间开发了一个简单的 Web 应用,主要用来自动编译 iOS 应用,简化 iOS 应用的发布难度。
由于编译任务的密集计算部分主要由编译器承担,我们所需要做的只是一个业务逻辑的粘合,因此选用开发语言与框架的首要考虑点为:开发效率高。
基于上面的基本原则选用的开发库与框架如下:
Mac 自带的 Python 2.6.1,64 位模式
Mac 下 pysvn 1.7.5,64 位模式
Mac 下 MySQL-Python 1.2.3,64 位模式
Mac 下 libxml2-python 2.6.9 ,64 位模式
Ubuntu 10.10, MySQL
Ubuntu 10.10, RabbitMQ
Mac 下 Celery 2.2.6
Mac 下 Django 1.3
Mac 下 Django-Celery 2.2.4
具体的实现过程就不说了,主要说说遇到的问题:
1、 32 位与64位模式问题
Celery 的 Log 不支持 Unicode 编码,而有些库抛出的异常时 Unicode 的,比如 pysvn,这时需要捕获后重新抛出。
由于编译任务的密集计算部分主要由编译器承担,我们所需要做的只是一个业务逻辑的粘合,因此选用开发语言与框架的首要考虑点为:开发效率高。
基于上面的基本原则选用的开发库与框架如下:
Mac 自带的 Python 2.6.1,64 位模式
Mac 下 pysvn 1.7.5,64 位模式
Mac 下 MySQL-Python 1.2.3,64 位模式
Mac 下 libxml2-python 2.6.9 ,64 位模式
Ubuntu 10.10, MySQL
Ubuntu 10.10, RabbitMQ
Mac 下 Celery 2.2.6
Mac 下 Django 1.3
Mac 下 Django-Celery 2.2.4
具体的实现过程就不说了,主要说说遇到的问题:
1、 32 位与64位模式问题
Mac 下的 Python 可以工作在 32 位模式或者 64 位模式下,但是需要一致,就是不能同时有 32 位模式与 64 位模式。因此在使用一些后端封装库的时候需要注意,例如:pysvn 要选 64 位模式,MySQL 的 Python 后端需要也是 64 位模式,如果不一致,会报告架构错误。
2、Celery 的编码问题Celery 的 Log 不支持 Unicode 编码,而有些库抛出的异常时 Unicode 的,比如 pysvn,这时需要捕获后重新抛出。
相关文章推荐
- 实现 iOS 应用自动编译
- 如何在使Xcode打包iOS应用时自动增加编译号
- ios 应用实现快速的临时缓存之模型的自动归档
- ios代码实现Autolayout(自动布局)的简单讲解
- IOS应用开发12——透明浮窗效果实现
- 在Eclipse里实现Ant自动编译
- 一种在windows平台下实现自动操作应用的方法,附带源码地址及使用方法
- iOS应用如何实现64位的支持
- 实现spring+mybatis+uncode dal,应用自动切换连接数据库
- SHELL实现CentOS6,Ubuntu16下自动下载,编译安装LAMP
- 在Eclipse里实现Ant自动编译
- IOS Auto Layout代码实现自动布局--NSLayoutConstraint
- Android应用的自动升级、更新模块的实现
- iOS开发UI篇—实现一个私人通讯录小应用【转】
- ios自动布局autolayout 实现scrollView
- “第一次进入应用自动选择引导页面”的实现代码
- Android应用自动更新功能实现使用AsyncTask!
- iOS 7: 如何为iPhone 5S编译64位应用。
- iOS 应用实现条形码扫描功能的方法
- Android应用的自动升级、更新模块的实现完整方案理解