-
使用CocoaPods管理iOS项目中的依赖库
一种开发语言发展到一定的程度就会出现相应的依赖管理工具(Dependency Manager)或者是中央代码仓库,例如: Java: Maven,Ivy Ruby: gems Python: pip, easy_install Node.js: npm随着iOS开发者的增加,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫做:CocoaPods。CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,其源码在Github上托管。该项目开始于2011年8月12日,经过...…
-
iOS中的URL Scheme
在iOS的SDK中提供了一个非常有意思的功能,它能将iOS的Application同自定义的URL Schema绑定,同时可以通过URL Scheme在浏览器或者是其他应用中启动这个Application。本文主要介绍如何通过URL Scheme的方式启动应用和参数的传递。创建URL Scheme1、首先在*-Info.plist中添加一行,选择URL types,效果如下图所示:2、在展开的Item 0中填写URL identifier,这个用来唯一标识用户自定义的URL Scheme,...…
-
iOS中的二维码扫描
二维码(Two-dimensional code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。如今智能手机扫一扫功能的应用使得二维码更加普遍。ZXingZXing是一个开源的条码生成和扫描库,支持众多的条码格式,而且有各种语言的实现版本,支持的语言包括Ja...…
-
Java使用JNDI配置WEB项目数据源
JNDI(Java Naming and Directory Interface,Java命名与目录接口)是Java提供的一种标准的命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI(Service Provider Interface,服务提供者接口)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。使用传统的方式一般对于普通的项目,习惯上使用.properties的文件来配...…
-
使用Ant实现iOS项目的自动编译打包
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供维护,目前最新的版本是1.9.4。本文主要介绍如何在iOS开发中使用Ant来提高开发效率,重点涉及到ant的安装、build配置文件的基本语法和iOS build脚本等内容。安装ANT工具1、到Apache Ant的官网上下载最新的ant工具包可以直接使用浏览器下载,或者是其他下载工具。下载地址也可以使用如下的命令:wget http://...…
-
Objective-C中的Method Swizzling
Objective-C对象在收到消息之后会经过Dynamic Message Dispatch System(动态消息派发系统)来进行处理,该系统会查出消息对应的方法并执行其代码。那么对于给定@selector名称相对应的方法是否可以在运行期可以动态改变呢?如果能善用这个特性,则可发挥出巨大优势,因为我们可以不需要源码也不需要通过继承子类来覆写对应的方法就能改变这个类本身的功能。没错,Objective-C中确实提供了这样的操作,这就是我们这里会介绍到的Method Swizzling(方...…
-
Objective-C中的Associated Objects
Associated Objects(关联对象)或者叫做关联引用(Associated References),是作为Objective-C 2.0运行时功能被引入到Mac OS 10.6 Snow Leopard(及iOS4)系统。与它相关在<objc/rumtime.h>中有3个C函数,他们可以让对象在运行时关联任何值:(1)用给定的key和policy来为指定对象(object)设置关联对象值(value)void objc_setAssociatedObject(id ...…
-
微信公众平台开发之开启开发者模式
说起来接触微信公众平台账号开发差不多快有半年了,在这期间利用零散的时间也开发了个企业服务号。经过这个公众账号的开发,对目前微信公众平台的开放的API算是比较熟悉了,对于常见的消息类型(text、news、music、voice、location等)等都有了一些认识和在使用过程中的技巧有了一定的认识。在开发过程中遇到的一些问题也有了一些领悟,所以想将一些经验分享出来,让大家共同进步。开发者模式配置1、在浏览器中输入https://mp.weixin.qq.com或点此打开微信后台界面2、申请...…
-
iOS多线程之NSThread
iOS创建线程的方式有三种,分别是NSThread、NSOperation和GCD。这样三种编程方式从上到下,抽象度层次是由低到高,抽象度越高的使用越简单,也是Apple最推荐使用的。这里主要是介绍NSThread的相关使用要点,后续会继续介绍NSOperation和GCD的使用方法。创建线程对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。显式创建线程(1)采用NSThread的detachN...…
-
iOS中的单例设计模式
在一个iOS应用的生命周期中,有时候我们只需要某个类的一个实例。例如,iOS设备都有一个重力加速计硬件设备,要访问设备在X轴、Y轴和Z轴上的重力加速度,就必然有一个类能够与硬件设备沟通来实时获取这些数据,这个类就是UIAccelerometer。除了实时地获取数据该类还能保持X轴、Y轴和Z轴的状态,但这个类只要一个实例就够了,如果有多个实例就会占用过多的内存。单例模式简单实现在objective-c中要实现一个单例类,至少需要做以下四个步骤:(推荐使用宏的方式来创建)(1)为单例对象实现一...…