-
微信公众平台开发之开启开发者模式
说起来接触微信公众平台账号开发差不多快有半年了,在这期间利用零散的时间也开发了个企业服务号。经过这个公众账号的开发,对目前微信公众平台的开放的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)为单例对象实现一...…
-
不要使用retainCount
Objective-C通过引用计数来管理内存,每个对象都有一个计数器,其值表明还有多少个对象同此对象之间存在引用关系。每个对象在创建之际其retainCount设置为1,retain/copy会使引用计数递增,而release则会使其引用计数递减。在NSObject协议中定义了retainCount的方法,用于查询对象当前的引用计数,方法的定义如下:-(NSUInteger)retainCount虽然说在ARC的情况下该方法已经被废弃,这和在ARC中使用retain、release、aut...…
-
iOS企业级应用部署
在iOS开发计划中有一种是iOS Developer Enterprise Program(iOS开发者企业级计划),对于这种开发者证书发布的应用程序是无法上传到Apple App Store上的,目前对于这种企业级开发的应用程序最好的分发方式是部署到内网服务器上通过网络进行下载。IN-HOUSE应用程序分发下面介绍下使用网络方式进行部署的方式,用户直接在iPhone/iPad的Safari浏览器里面输入URL地址即可安装,如在浏览器输入http://www.itools.cn能出现如下的...…
-
iOS应用程序ipa安装包重签名
在日常的工作中经常遇到需要将一些应用程序IPA安装包【已经上架到apple app store,或者是别人写的IPA】发给别人来安装,获取是其他渠道获取来的IPA版本,对于普通人来说安装这些ipa文件有点麻烦,需要使用iTools/iFunBox这些软件来进行安装,不能像企业级的IN-HOUSE方式进行部署,直接在网页上下载。最近看到iTools/同步推这样的应用可以直接下载应用程序,而且使用的是企业级证书发布的,排除部分企业是特殊渠道分发的,但是其中一份仍然是使用其他公司的证书进行发布打...…
-
将博客从GitHub迁移到GitCafe
最近一直使用Github Pages功能以及Octopress来记录自己在学习和生活中的琐事,之前也写了一篇文章《Hello Octopress》来分享如何在GitHub使用Octopress来搭建博客的技术细节。但是最近发现一个很头疼的问题就是博客的访问速度实在是很慢,虽然做了一部分的优化,比如将GOOGLE的字体和jQuery的链接移除,但整体来看速度还是没有明显的提升,最近看到网上有资料提到可以将博客转移到GitCafe的方法,周末闲来无事就将博客内容镜像到GitCafe上。以下为大...…
-
浅入浅出iOS应用程序的生命周期
由于iOS设备对于系统资源的使用有诸多限制,一个应用程序在前台与后台有不同的行为。为提高电池使用寿命和用户与前台应用程序的体验,操作系统限制应用程序在后台的运行。当应用程序在前台和后台之间进行切换时,操作系统会通知应用来进行相关的处理。1.应用程序的生命周期iOS的应用程序主要由未运行、未激活、激活、后台和挂起这五个状态组成,每个状态具体的描述如下:状态描述(1)**未运行(Not Running)**:程序未启动(2)**未激活(Inactive)**:程序在前台运行,不过没有接收到事件...…
-
使用OpenSSL创建自签名证书
近期苹果把iOS系统更新到了7.1,如果用户更新到这个版本后,用原来的方式下载企业级应用,如果应用的plist文件不是用HTTPS方式部署的,那么会提示服务器上的证书无效,具体的如下图所示:在iOS7.1的企业级部署中需要将plist文件的URL路径设置为HTTPS才能正常下载安装,如果之前使用的是HTTP部署的,那么就需要对服务器的配置做一些改动。网上有提示说把plist文件上传到DropBox类似的文件存储服务器可以解决没有HTTPS服务器的缺憾,这个经过本人测试确实可行。但是对于那些...…
-
Hello Octopress
折腾了这么久由最开始的新浪博客这类,然后到独立的WordPress,到目前的Octopress。因为各种的麻烦(空间、域名、流量、审核)弄得无力打理博客。关于Octopress(A blogging framework for hacker)是基于Jekyll博客引擎开发的一个博客系统,能方便的生成静态页面在Github page上展示。1.安装RubyOctopress需要Ruby环境的支持,而且据官方说明最少需要在1.9.3以上(经过验证最好是在1.9.3,本人在Mac OS X 10...…