前言

在我们使用多线程技术进行开发的时候,无可避免地就要涉及到系统共享资源的安全隐患,也就是我们这篇博客中想要讨论的问题:线程安全

关于线程安全性,引用一段百度百科里面的文字描述:当对一个复杂对象进行某种操作时,从操作开始到操作结束,被操作的对象往往会经历若干非法的中间状态。调用一个函数(假设该函数是正确的)操作某对象常常会使该对象暂时陷入不可用的状态(通常称为不稳定状态),等到操作完全结束,该对象才会重新回到完全可用的状态。如果其他线程企图访问一个处于不可用状态的对象,该对象将不能正确响应从而产生无法预料的结果,如何避免这种情况发生是线程安全性的核心问题。

Read More

前言  

在上一篇博客中,我们讲述了多线程的基础知识,也谈到了iOS开发中三个使用多线程的技术,NSThreadNSOperationGCD;我们在这一篇中,主要讲一下第一种多线程技术NSThread。相比于其他俩种技术,NSThread具有更轻量级的优点,也是可以完全控制,完全负责的,也是最麻烦的。我们需要手动地管理线程的生命周期和同步的问题,这里的同步指的是系统资源地分配和调度上的同步。

Read More

前言  

前段时间给项目添加了图片的传送与下载的功能,由于当时工期紧凑,并没有理会性能问题。闲暇之余,想起来给项目优化一下性能,于是决定研究一下多线程技术。

多线程,引用百度百科上面的话,就是指从软件或硬件上实现多个线程并发执行的技术。使用多线程的优点就在于可以把占据时间长得任务放在后台线程中去执行,避免影响主线程的运行,避免出现用户长时间等待操作,可以极好地提高程序的性能。

Read More

前言 

在上一篇中,我记录了对于代码注释的一些研究,然后发现有一些第三方工具Xcode插件可以帮助我们自动地添加代码注释,这里就介绍一种Xcode的插件VVDocmenter-Xcode

引用一下官方的语言,VVDocmenter-Xcode是可以帮助你自主添加生成与appledoc、Doxygen和HeaderDoc这三种文档生成工具都匹配的注释的Xcode插件。而且VVDocmenter-Xcode也是在GitHub上开源的,因此它具有很好的活跃度。

Read More

前言  

新手在开始参与一个开发项目的时候,会把大部分的时间耗费在阅读项目的需求文档开发文档代码,一篇好的需求文档开发文档会帮助新手很快的理解项目的目标和进度,而新手对于代码的阅读会先从代码的注释开始。拥有良好注释的代码可以省去团队其他的开发者好多时间,不至于让其他参与者去一行一行的阅读代码,去不断地加断点查看代码地跳转逻辑,接下来我们就谈谈iOS开发中使用的一些注释。

Read More

前言  

我在上一篇文章中介绍了传统的APNS推送的原理和配置,以及调用的方法。使用传统的APNS推送最大的限制就是字节数的限制,payload最大不能超过256 bytes。而有时往往我们需要更多的信息推送,这时我们就需要用到silent APNS

简介

silent APNS是iOS 7新加的一个非常好的特性,和以往传统的APNS最大的不同是,当一个silent APNS推送到设备时,iOS系统并不会用弹出框提示内容,也不会听到声音,看到图标上的badge,用户不会知道任何事情。而silent APNS与传统的APNS相同的是,当推送到设备时,如果App处于激活状态则会调用到相同的系统方法,来让App获取到推送的信息,然后我们可以在App中发起HTTP请求,获取我们想要的数据,之后再展示给用户。

Read More

前言  

经过了前面的准备,我们在这一篇中终于是要开始接触代码了,首先我是一个Objective-c语言的支持者,所以下面会使用Objective-c语言来组织代码。

Json数据

我们想要收到的消息是以JSON格式提供的,类似于下面这样:

1
2
3
4
5
6
7
{
"aps":{
"alert": "Hello, world!",
"sound": "default"
"badge": "2"
}
}

Read More

前言  

在上一章节中,我们谈到了Apple推送通知的原理流程和必要的三个条件,由于我所从事的主要是iOS客户端的开发,所以关于Server端的就不在这里赘述,在Apple Push Notification Services in iOS 6 Tutorial这篇博客的第二部分也给了一个具体的实例参考;而且按照惯例呢,我也推荐给朋友们一个用Node JS编写的后台应用Push Server。我们在这一篇主要讲一下如何利用Apple ID生成签名文件证书

Read More

前言  

最近刚刚给项目的app添加了苹果的推送服务APNS(Apple Push Notification Service),在这里记录一下自己的经历和收获。和之前一样,先给大家推荐一篇我认为非常棒的来自RayWenderlich上面的博客Apple Push Notification Services in iOS 6 Tutorial,APNS的相关开发,我大都是跟着这篇博客在学习。(这里也可以权当是一篇翻译。。。。哈哈哈。。。。)

Read More

前言  

近几天一直在做APNS(Apple Push Notification Service)消息推送。在使用TestFlight做不同证书测试的时候,添加我的账号邀请,一直收不到邀请邮件,于是深入了一下对TestFlight的研究。关于TestFlight的使用操作流程,我首先推荐朋友们看一篇我在CocoaChina上看到的一篇博客:TestFlight被收购了,那我们怎么使用呢?,希望正打算研究TestFlight操作的朋友们可以从中得到帮助。

Read More