<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iOS开发学习]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wlm0813</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wlm0813]]></copyright><item><title><![CDATA[IOS应用内跳转到系统设置]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/54896499</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/54896499</guid><author>wlm0813</author><pubDate>Mon, 06 Feb 2017 20:25:21 +0800</pubDate><description><![CDATA[iOS应用内跳转到系统设置
设置跳转有三种方式，每一种的使用场景都不同。 并且你跳转到系统中自己应用下面设置的时候，你的应用要提前至少申请了某一个权限，如（通讯录，通知，定位等）。否则，会引起崩溃。

方式一：prefs:root=某项服务
方式二：prefs:root=bundleID
方式三:  UIApplicationOpenSettingsURLString

本篇针对iO]]></description><category></category></item><item><title><![CDATA[ios6 ios7 访问和使用系统通讯录权限]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/52422884</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/52422884</guid><author>wlm0813</author><pubDate>Sat, 03 Sep 2016 13:57:10 +0800</pubDate><description><![CDATA[ios6 ios7 访问和使用系统通讯录

导入AddressBook和AddressBookUI框架

iOS 6之前，可以通过如下方法获得通讯录 
ABAddressBookRef addressBook = ABAddressBookCreate();  

不过在iOS 6之后，这个方法被废弃，可以使用下面的方法获得通讯录。

AB_EXTERN ABAddressBoo]]></description><category></category></item><item><title><![CDATA[GCD 信号量控制并发（dispatch_semaphore）以及dispatch_group_async]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/52422864</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/52422864</guid><author>wlm0813</author><pubDate>Sat, 03 Sep 2016 13:52:53 +0800</pubDate><description><![CDATA[1、dispatch_semaphore
当我们在处理一系列线程的时候，当数量达到一定量，在以前我们可能会选择使用NSOperationQueue来处理并发控制，但如何在GCD中快速的控制并发呢？
答案就是dispatch_semaphore，对经常做unix开发的人来讲，我所介绍的内容可能就显得非常入门级了，信号量在他们的多线程开发中再平常不过了。
信号量是一个整形值并且具有一个初始计数值]]></description><category></category></item><item><title><![CDATA[Mac下Jenkins+SVN+Xcode构建持续导出环境]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/52334645</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/52334645</guid><author>wlm0813</author><pubDate>Sat, 27 Aug 2016 12:48:15 +0800</pubDate><description><![CDATA[Mac下Jenkins+SVN+Xcode构建持续导出环境
每一次新版本要发布，都被测试部门催成狗，测试部也耐不住了，想自己打包，研发只管提交代码，听到这个消息，还是很开心的，终于不用打包了。跟同事折腾Jenkins三天，终于正常导出ipa包了！！
因为网上教程多是依靠Github，而且很多是在Jenkins中配置Xcode参数，相当的麻烦，我们是用Shell 脚本，非常的easy。在这里记录]]></description><category></category></item><item><title><![CDATA[Required Device Capabilities]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/52143843</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/52143843</guid><author>wlm0813</author><pubDate>Sun, 07 Aug 2016 17:51:38 +0800</pubDate><description><![CDATA[Required
 Device Capabilities


Declaring the Required Device Capabilities


If your application requires device-related features in order to run, you must add a list of required capabilities t]]></description><category></category></item><item><title><![CDATA[iOS Architecture]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/52143613</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/52143613</guid><author>wlm0813</author><pubDate>Sun, 07 Aug 2016 17:16:45 +0800</pubDate><description><![CDATA[================================================


Architecture ： 指你想支持的指令集。

Valid architectures : 指即将编译的指令集。

Build Active Architecture Only : 只是否只编译当前适用的指令集。

=============================]]></description><category></category></item><item><title><![CDATA[为视图绘制单(多)个圆角]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51694190</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51694190</guid><author>wlm0813</author><pubDate>Thu, 16 Jun 2016 19:34:27 +0800</pubDate><description><![CDATA[为视图绘制圆角，圆角可以选左上角、左下角、右下角、右上角、全部圆角
//Core Raduias
UIView *actionView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:acti]]></description><category></category></item><item><title><![CDATA[iOS中 自定义cell分割线/分割线偏移]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51606622</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51606622</guid><author>wlm0813</author><pubDate>Tue, 07 Jun 2016 21:00:52 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/qq_31810357/article/details/51474446




在项目开发中我们会常常遇到tableView 的cell分割线显示不全，左边会空出一截像素，更有甚者想改变系统的分割线，并且只要上下分割线的一个等等需求，今天重点解决以上需求，仅供参考：




1.cell 分割线不全：

解决方案1:

]]></description><category></category></item><item><title><![CDATA[IOS多线程开发其实很简单]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51448542</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51448542</guid><author>wlm0813</author><pubDate>Wed, 18 May 2016 23:02:26 +0800</pubDate><description><![CDATA[概览

大家都知道，在开发过程中应该尽可能减少用户等待时间，让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的，一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发：对于单核处理器，可以将多个步骤放到不同的线程，这样一来用户完成UI操作后其他后续任务在其他线程中，当CPU空闲时会继续执行，而此时对于]]></description><category></category></item><item><title><![CDATA[Xcode 图片裁剪]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51357372</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51357372</guid><author>wlm0813</author><pubDate>Mon, 09 May 2016 23:40:17 +0800</pubDate><description><![CDATA[步骤：

        0.加载原生图片;

        1.获取上下文；

        2.绘制原生图片；

        3.给原生图片添加文字；

        4.获取绘制后的图片；

        5.关闭上下文

代码：

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do]]></description><category></category></item><item><title><![CDATA[iOS第三方开源库的吐槽和备忘]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51255162</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51255162</guid><author>wlm0813</author><pubDate>Tue, 26 Apr 2016 22:52:31 +0800</pubDate><description><![CDATA[做iOS开发总会接触到一些第三方库，这里整理一下，做一些吐槽。

 

目前比较活跃的社区仍旧是Github，除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流，这里主要介绍一下Github里面流行的iOS库。

 

首先整理了一份Github上排名靠前的iOS库(大概600个repos)

 

除了逛一下每]]></description><category></category></item><item><title><![CDATA[ios socket第三方框架 AsyncSocket使用简介]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51255097</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51255097</guid><author>wlm0813</author><pubDate>Tue, 26 Apr 2016 22:42:30 +0800</pubDate><description><![CDATA[ios socket第三方框架 AsyncSocket使用简介，连接，心跳，断线，数据发送与接收
iOS socket AsyncSocket 即时通讯




目录[-]


环境
使用
1. socket 连接
2. socket 断开连接与重连
3. socket 发送与接收数据
4. 简单使用说明



如果需要在项目中像QQ微信一样做到即时通讯，必须使]]></description><category></category></item><item><title><![CDATA[iOS客户端ssl签名认证加密双向加密建议使用双向加密更好维护]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51229022</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51229022</guid><author>wlm0813</author><pubDate>Sat, 23 Apr 2016 23:13:51 +0800</pubDate><description><![CDATA[一个app是否做到强大的加密方式，需要一个好的后台支撑，我有幸我们公司后台哥是珍爱网出来的大神，第一次知道用到除了以前md5 base64 等等单向加密还有ssl认证加密，一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探，其实但心的黑客用伪造的ssl认证链接伪造的服务器上。

1.话不多说，首先你得要你后台给提]]></description><category></category></item><item><title><![CDATA[iOS开发系列--地图与定位]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51228946</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51228946</guid><author>wlm0813</author><pubDate>Sat, 23 Apr 2016 22:59:50 +0800</pubDate><description><![CDATA[概览

现在很多社交、电商、团购应用都引入了地图和定位功能，似乎地图功能不再是地图应用和导航应用所特有的。的确，有了地图和定位功能确实让我们的生活更加丰富多彩，极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的，还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之，目前地图和定位功能已经大量引入到应用开发中。今天就和大家一起看]]></description><category></category></item><item><title><![CDATA[UITableView 总结]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51171120</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51171120</guid><author>wlm0813</author><pubDate>Sat, 16 Apr 2016 23:45:00 +0800</pubDate><description><![CDATA[知识点回顾： 
1.TableView  
2.UITableViewController 
3.两个协议，一个关于数据加载的协议，一个关于性外和外观的协议 
4.对NSIndexPath类的扩展 
5.tableView的单元格cell 
6.响应点击事件

一、TableView

tableView继承ScrollView。 
风格： 
tableView的风格有两种]]></description><category></category></item><item><title><![CDATA[iOS系统声音服务(System Sound Services)]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51170574</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51170574</guid><author>wlm0813</author><pubDate>Sat, 16 Apr 2016 22:04:00 +0800</pubDate><description><![CDATA[系统声音服务(System Sound Services)提供了一个接口，用于播放不超过30秒的声音。它支持的文件格式有限，具体地说只有CAF、AIF和使用PCM或IMA/ADPCM数据的WAV文件。由于这些函数没有提供操纵声音和控制音量的功能，所以当你为多媒体或者游戏创建专门的配乐时，不要使用系统声音服务。

iOS使用系统声音服务来支持三种不同的通知：
1. 声音：立刻播放一个简单的声音]]></description><category></category></item><item><title><![CDATA[腾讯Bugly工具介绍节选]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51137920</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51137920</guid><author>wlm0813</author><pubDate>Tue, 12 Apr 2016 22:27:36 +0800</pubDate><description><![CDATA[Bugly使用文档

入口介绍

1、点击这里进入腾讯Bugly官网，通过QQ号登录进入。

【图1】

完善开发者信息

点击 "个人信息"，如上【图1】 “1”所在位置，进入个人信息配置页【图2】

请按照要求填写邮箱，微信号和手机号号码，也可以更换开发者头像，以上信息便于我们随时跟开发者保持沟通

注册应用

点击 "注册新APP"，如上【图1】 “2”所在位]]></description><category></category></item><item><title><![CDATA[Scrollview]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51090416</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51090416</guid><author>wlm0813</author><pubDate>Thu, 07 Apr 2016 23:05:11 +0800</pubDate><description><![CDATA[UIScrollView继承UIView,它有两个子类，分别是UITableView和UITextView。UIScrollView有三个容易让人混淆的属性变量：




1、contentSize: scrollview可显示的区域




属性类型：



struct CGSize {

    CGFloat width;

    CGFloat he]]></description><category></category></item><item><title><![CDATA[UITableView registerClass使用场景]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51090186</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51090186</guid><author>wlm0813</author><pubDate>Thu, 07 Apr 2016 22:37:18 +0800</pubDate><description><![CDATA[registerClass是iOS6新加的，iOS6新增了这个方法

dequeueReusableCellWithIdentifier:forIndexPath:


而以前是这个

dequeueReusableCellWithIdentifier:




在此之前cell的重用写法是

static NSString *ID = @"cell";
UITableVi]]></description><category></category></item><item><title><![CDATA[IOS CGAffineTransform 用于视图平移，缩放，旋转]]></title><link>https://blog.youkuaiyun.com/wlm0813/article/details/51089992</link><guid>https://blog.youkuaiyun.com/wlm0813/article/details/51089992</guid><author>wlm0813</author><pubDate>Thu, 07 Apr 2016 22:13:30 +0800</pubDate><description><![CDATA[CGAffineTransform]]></description><category></category></item></channel></rss>