程序支持不同iOS的版本和设备

注:本文翻译之Supporting Multiple iOS Versions and Devices

第一次翻译这么长的E文,深深的感觉到自己的E文还是有很大的上升空间的,翻译处女作,如果有什么翻译不当或者错误的地方,请多多指教,谢谢你的光临!

正文

当你编写一个iOS APP 的时候, 你很可能在模拟器或者多个设备上面测试,甚至你会在iOS的不同版本之前测试。

但是这样做只能够覆盖少数不同组合的iOS版本和设备类型,组合的类型增加很迅速

在本篇的教程中你将会见识怎样运用各种各样的技术来有效的让你支持不同的iOS版本和设备,你将会很快的让你的apps支持不同的iOS版本和设备。

开心,仅仅是开始

一直以来以为自己写blog只是想记录一下自己学习东西的过程,当然了,没有学习很多的东西,所以干货就比较的少了,也重来没有奢望会有什么人能够发现这个blog,毕竟在茫茫的宇宙中,我这只是一个浮沉而已,也许你们要拿高倍的显微镜才能够隐隐发现我的存在。

因为自己的blog加入了Google Analytics,所以自己无聊的时候就上去看看,但是每次都是失望哇,就只看到我一个地方访问,当然了那些访问都是我自己点击出来的,悲哀了。

今天无意间到Google Analytics上面看了看,居然发现blog多了不同地方的访问,有广州、大连、沈阳的。看到心里面有些小激动,虽然不知道你们是通过什么渠道到达这里的,也获取是你的打开方式错误,导致调转到我的页面,虽然你们没有留下明显的痕迹,不过我很感谢你们这些陌生人。

现在只是个开始,刚刚转到octopress中,这个发表blog的方式我比较的喜欢,开心能有你们的访问,开心你们居然找到了一个不可能的可能,我会继续努力,努力学习等多一点,自己学到东西的同时,能够写些东西,能够帮助遇到同样问题的人,我会努力加油的,感恩至此!

分享傻瓜式软件安装整合套件(BitNami)

上一篇文章我介绍了有关在linux下面如何配置subversion和apache的整合安装以及配置,这个配置我时在自己的虚拟机用opensuse12.1中亲测成功的。

但是,最近需要在其他的机器上面安装的时候总是会出现这样或者那样的问题,这些错误的原因都是由于在linux中安装软件的时候,版本是有配套的,如果彼此之间的版本不配套,可能是导致编译不通过,或者即使能够正常安装(没有明显的错误),但是软件还是不能够按照自己的意愿运行,后来为了解决这样的问题,也到网上去查找了很多的配置信息,最终发现了国外有一个傻瓜式的安装这些套件的网站(BitNami)

对于初学者来说,总是头疼的就是配置环境了。

Linux中subversion(SVN)整合apache安装及配置

本安装环境为:opensuse12.1

所需安装包:


httpd-2.4.3.tar.gz

subversion-1.7.6.tar.gz

openssl-1.0.1c.tar.gz

neon-0.29.6.tar.gz

pcre-8.20.tar.gz

注:其中红色字体标识的为必须要,蓝色字体标识的为一些扩展包或者依赖包(要试情况下载安装)

当前我所用的是普通用户安装,并不是用的root用户

第一部分:安装

①.安装apache:

  1. tar -zxvf httpd-2.4.3.tar.gz

  2. cd httpd-2.4.3/

  3. ./configure –enable-ssl –enable-maintainer-mode –prefix=/usr/local/apache2 –enable-mods-shared=all

  4. make

  5. sudo make install


注:如果安装apache在第3步./configure的时候出现这样的错误:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

Python xml的解析和生成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python
# -*- coding:utf-8 -*-

from xml.dom import minidom


#第一部分:xml解析

xml_str = \
' \
<school> \
<class id="c1" name="cl_name"> \
<student id="0001" name="student_1"> \
<subject id="math" score="98"/> \
<subject id="english" score="89"/> \
</student> \
<student id="0002" name="student_2"> \
<subject id="math" score="87"/> \
<subject id="english" score="99"/> \
</student> \
</class> \
<class id="c2" name="c2_name"> \
<student id="0003" name="student_3"> \
<subject id="math" score="88"/> \
<subject id="english" score="97"/> \
</student> \
<student id="0004" name="student_4"> \
<subject id="math" score="89"/> \
<subject id="english" score="92"/> \
</student> \
</class> \
<teachers> \
<teacher id="tec_001">tec_name1</teacher> \
<teacher id="tec_002">tec_name2</teacher> \
<teacher id="tec_003">tec_name3</teacher> \
</teachers> \
</school> \
'


#把string类型的xml转换成xml对象,如果是从文件中读取的xml,可以用minidom.parse方法
dom = minidom.parseString(xml_str)
#首先获得xml的根节点
rootdoc = dom.documentElement

classNodes = rootdoc.getElementsByTagName('class')

#当取得一个节点(此时节点的对象是Element)的时候,可以通过两种方式来访问
#方法一:通过下标的形式访问
if classNodes.length > 0:
#获得第一个节点对象
firstClass = classNodes[0];
#获得节点的属性值
class_id = firstClass.getAttribute('id')
class_name = firstClass.getAttribute('name')
print '方法一:class_id=%s, class_name=%s' % (class_id, class_name)
#方法二:通过for循环来便利所有取得的节点
for cls in classNodes:
class_id = cls.getAttribute('id')
class_name = cls.getAttribute('name')
print '方法二:class_id=%s, class_name=%s' % (class_id, class_name)

#获得一个节点下面的子节点
class_children = classNodes[0].getElementsByTagName('student')
print class_children.length #具体的实现取得属性和上面实例相同

#在xml的解析器中可以进行跨节点访问。
#比如说:如果我们要获得teacher节点,按照以前的方法我们先要获得teachers节点,然后再得到其子节点
#而现在我们不需要获得父亲节点,直接就可以取得teacher的节点
teacher_nodes = rootdoc.getElementsByTagName('teacher') #此方法是获得这个xml中所有名为teacher的节点
for tec in teacher_nodes:
teacher_id = tec.getAttribute('id')
#获得节点text的值,这个个人感觉有些怪异,按照正常的思路想的方法是tec.data,但是这个方法不行,只能运用下面的方法获得
teacher_text = tec.firstChild.data
print 'teacher: teacher_id=%s, teacher_name=%s' % (teacher_id, teacher_text)

Python操作JSON数据

1.JSON的介绍

说得简单一点,JSON的格式就是由一对对的属性和值构成的,听到这里是不是觉得很像我们常说的字典对象,其实它是差不多的意思,具体要深入的了解JSON的有关概念,请到维基百科上面去搜索有关信息,这里就不详细说了

完整的IOS DIY Framework制作

在JAVA的工程中,我们需要运用第三方的工具的时候,通常是添加到第三方工具的jar包到我们自己的工程中,如果我们自己要制作一个工具给别人用,我们也可以制作一个jar包,供别人使用,这样是整个工程比较的清晰,明了。
而在xcode中我们同样可以制作framework包,本教程亲测可用,废话不多说,进入正题。

一. 安装项目模板

这里我们需要安装一个项目模板:iOS-Universal-Framework

1.下载

git clone https://github.com/kstenerud/iOS-Universal-Framework.git

2.安装

PS:在安装之前确保已经彻底关闭了xcode程序。

在下载的IOS-Universal-Framework文件夹中进入Real Framework文件夹中,在命令行工具中运行:

./install.sh
直接默认安装即可,直到看到提示success,就证明安装成功了。

二. 制作

1.打开xcode工具,如图选择:

,