<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xttxqjfg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xttxqjfg]]></copyright><item><title><![CDATA[Cocoapods安装及使用]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/79033266</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/79033266</guid><author>xttxqjfg</author><pubDate>Thu, 11 Jan 2018 13:48:36 +0800</pubDate><description><![CDATA[最近项目中在集成视频播放，采用了封装很优秀的开源播放器MobileVLCKit，这里使用的是V2.2.2版本。期间遇到了pods安装相当慢的问题，这里就记录一下cocoapods的安装方法和针对下载速度慢的pods项目如何处理cocoapods安装1、指定gem的源地址//更换墙内地址
gem sources --add https://gems.ruby-china.org/ --remove h]]></description><category></category></item><item><title><![CDATA[__attribute__简析]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/79033259</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/79033259</guid><author>xttxqjfg</author><pubDate>Thu, 11 Jan 2018 13:47:34 +0800</pubDate><description><![CDATA[__attribute__表示属性，是Clang提供的一种源码注释，方便开发者向编译器表达诉求，一般以__attribute__(*)的方式出现在代码中。为了方便使用，一些常用属性被定义成了宏，经常出现在系统头文件中。比如NS_CLASS_AVAILABLE_IOS(9_0) 就是 __attribute__(availability(9.0)) 这个属性的简单写法。下面介绍一些可能会频繁使用到的属]]></description><category></category></item><item><title><![CDATA[基于融云实现应用公众号]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/78971236</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/78971236</guid><author>xttxqjfg</author><pubDate>Thu, 04 Jan 2018 15:13:39 +0800</pubDate><description><![CDATA[好久没有研究融云相关的内容了，最近看到融云已经集成了公众号，有应用内的，也有接入第三方应用市场的。不得不说，融云在即时通讯这块内容做的已经很丰富了。这里没有打广告的意思，即时通讯SDK哪家强，仁者见仁智者见智，我不做对比。只是个人使用融云的产品较多，所以这里重点介绍基于融云的SDK实现应用内公众号服务。公众号消息的发送实际上应该是由应用服务器调用融云的接口来实现，这里采用的方式是客户端模拟服务端请求]]></description><category></category></item><item><title><![CDATA[Xcode报Invalid bitcode signature错误的解决方案]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/78683460</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/78683460</guid><author>xttxqjfg</author><pubDate>Fri, 01 Dec 2017 09:46:38 +0800</pubDate><description><![CDATA[最近由于需要做iPhone X的适配工作，不得以升级了Xcode9和macOS High Sierra。升级后使用Xcode9编译原来的项目代码就出现了问题，会报一个Invalid bitcode signature的错误，经过多方查找问题，发现是pods的配置导致的，下面是解决方案1、修改工程中pods的设置如下，可以参考原来Xcode8的工程配置2、替换脚本diff "${PODS_ROOT}/]]></description><category></category></item><item><title><![CDATA[BLE开发之CoreBluetooth]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/77838680</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/77838680</guid><author>xttxqjfg</author><pubDate>Mon, 04 Sep 2017 16:13:59 +0800</pubDate><description><![CDATA[一、前言BLE，全称蓝牙低能耗(Bluetooth Low Energy)技术是低成本、短距离、可互操作的鲁棒性无线技术，工作在免许可的2.4GHz ISM射频频段，隶属于蓝牙4.0规范。它从一开始就设计为超低功耗(ULP)无线技术。它利用许多智能手段最大限度地降低功耗。蓝牙低能耗技术采用可变连接时间间隔，这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外，因为BLE技术采用非常快速的连接方式，因]]></description><category></category></item><item><title><![CDATA[常用URL Scheme]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/76019824</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/76019824</guid><author>xttxqjfg</author><pubDate>Mon, 24 Jul 2017 13:52:22 +0800</pubDate><description><![CDATA[系统相关
  应用名称
  URL Scheme  短信
  sms://
  app store
  itms-apps://
  电话
  tel://
  无线局域网
  App-Prefs:root=WIFI
  蓝牙
  App-Prefs:root=Bluetooth
  蜂窝移动网络
  App-Prefs:root=MOBILE_DATA_SETTINGS_ID
  个人热点
  A]]></description><category></category></item><item><title><![CDATA[APNS机制的简单分析]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/74571604</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/74571604</guid><author>xttxqjfg</author><pubDate>Thu, 06 Jul 2017 17:08:58 +0800</pubDate><description><![CDATA[提到消息推送，那就不得不提及苹果的APNS(Apple Push Notification Service)。我们首先来看一组数据(数据来自互联网)1. 苹果在WWDC 2012上宣布每天发送70亿条消息推送
2. 有分析称在苹果的2019财年，iPhone活跃用户数量将突破10亿
那么你有没有想过，这几年移动互联网的快速发展，APNS推送数据保守估能达到将近千亿的量级，这么大的用户活跃量和巨大的消]]></description><category></category></item><item><title><![CDATA[MVC、MVVM之我见]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/74537437</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/74537437</guid><author>xttxqjfg</author><pubDate>Thu, 06 Jul 2017 13:46:03 +0800</pubDate><description><![CDATA[MVCMVC，全称是Model(数据) View(用户界面) Controller(业务逻辑)。从这个概念被提出来到现在，MVC已经成为了主流的客户端编程架构上面是一个典型的MVC图。Controller捕获到事件后通知Model做数据处理，Model处理完了之后Controller将数据反馈给View来完成展示或者更新。逻辑很清晰哈，但是这样会有一个明显的问题，那就是Controller时时刻刻在]]></description><category></category></item><item><title><![CDATA[上架App Store问题及解决方法]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499145</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499145</guid><author>xttxqjfg</author><pubDate>Tue, 20 Jun 2017 15:46:57 +0800</pubDate><description><![CDATA[1、arm64的支持工程设置增加arm64的支持检查工程中所引用的第三方的静态包是不是支持arm64。打开终端，输入file空格，然后在Finder中将要检查的静态包文件拖到空格后面，回车，即可列出该静态包所支持的架构2、访问权限的问题Missing Info.plist key 
    - This app attempts to access privacy-sensitive data wi]]></description><category></category></item><item><title><![CDATA[由浅到深理解iOS的签名机制]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499113</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499113</guid><author>xttxqjfg</author><pubDate>Tue, 20 Jun 2017 15:44:56 +0800</pubDate><description><![CDATA[一直以来，针对iOS开发者，特别是刚入行的开发者，apple的签名机制是一个理解的难点，多种证书、描述文件、证书签名请求(CSR)等等，都是一些专业名词，加上apple签名机制的复杂性，难以理出头绪。本文将由浅入深解析apple的签名机制，希望能帮助大家解惑在这之前，首先先理解两个概念：非对称加密和数字证书非对称加密上面提到的签名就是数字签名，它是基于非对称加密算法实现的。对称加密算法是加密和解密内]]></description><category></category></item><item><title><![CDATA[iOS应用上架App Store流程解析]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499101</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/73499101</guid><author>xttxqjfg</author><pubDate>Tue, 20 Jun 2017 15:44:13 +0800</pubDate><description><![CDATA[一直以来，将自己开发的应用程序上架到苹果爸爸的App Store是iOS开发者又爱又恨的事情。爱，是因为上架之后的成就感，恨，是因为上架过程中的不断爬坑。一般来说，只要开发者的App不违反苹果的上架协议，一次通过的概率还是很高的，而且苹果的审核团队现在狠狠的提高了审核效率，最快在12小时内就会有审核结果。好了，废话不多说了，开始正文Developer Center配置要将自己开发的应用上架到App]]></description><category></category></item><item><title><![CDATA[仿QQ联系人列表]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/73160391</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/73160391</guid><author>xttxqjfg</author><pubDate>Tue, 13 Jun 2017 09:18:30 +0800</pubDate><description><![CDATA[本示例代码是仿TIM好友列表的效果，采用UITableView来实现，分组名称为tableview的header，根据展开的状态来判断需要返回cell的数目。效果图如下。代码包含12个文件，其中资源文件包含3个图片、1个数据源文件，目录结构如下。工程文件已经上传到github，有需要的可以直接下载运行代码地址]]></description><category></category></item><item><title><![CDATA[使用kxmenu时在UIBarButtonItem上frame无效]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/71526136</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/71526136</guid><author>xttxqjfg</author><pubDate>Wed, 10 May 2017 14:49:28 +0800</pubDate><description><![CDATA[UIBarButtonItem *addItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addBtnClicked:event:)];
    
    self.navigationItem.rightBarButto]]></description><category></category></item><item><title><![CDATA[音频三--音频会话]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/71170366</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/71170366</guid><author>xttxqjfg</author><pubDate>Thu, 04 May 2017 14:44:05 +0800</pubDate><description><![CDATA[1.设置后台运行模式：在plist文件中添加Required background modes，并且设置item 0=App plays audio or streams audio/video using AirPlay（其实可以直接通过Xcode在Project Targets-Capabilities-Background Modes中设置）
2.设置AVAudioSession的类型为A]]></description><category></category></item><item><title><![CDATA[音频二--音乐]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/71170106</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/71170106</guid><author>xttxqjfg</author><pubDate>Thu, 04 May 2017 14:32:57 +0800</pubDate><description><![CDATA[AVAudioPlayer的使用比较简单：
1、初始化AVAudioPlayer对象，此时通常指定本地文件路径。
2、设置播放器属性，例如重复次数、音量大小等。
3、调用play方法播放。
下面就使用AVAudioPlayer实现一个简单播放器，在这个播放器中实现了播放、暂停、显示播放进度功能。
#import "ViewController.h"
#import 
#define kM]]></description><category></category></item><item><title><![CDATA[音频一--音效]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/71169960</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/71169960</guid><author>xttxqjfg</author><pubDate>Thu, 04 May 2017 14:13:01 +0800</pubDate><description><![CDATA[在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放，对于这类音频不需要进行进度、循环等控制。
后者指的是一些较长的音频，通常是主音频，对于这些音频的播放通常需要进行精确的控制。
在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放。
AudioToolbox.framewo]]></description><category></category></item><item><title><![CDATA[tableview实现单个cell的展开和收起]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/70902950</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/70902950</guid><author>xttxqjfg</author><pubDate>Fri, 28 Apr 2017 12:49:38 +0800</pubDate><description><![CDATA[此篇主要介绍采用替换cell的方式来实现cell的收起和展开效果，下面是效果图，分为只能展开一个cell和都能展开两种




代码实现
#import "replaceVC.h"
#import "TitleCell.h"
#import "DetailCell.h"

@interface replaceVC ()

@property (nonatomic,strong) UIT]]></description><category></category></item><item><title><![CDATA[适配iOS10的权限设置]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/70171205</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/70171205</guid><author>xttxqjfg</author><pubDate>Fri, 14 Apr 2017 13:09:23 +0800</pubDate><description><![CDATA[* 麦克风权限：Privacy - Microphone Usage Description 是否允许此App使用你的麦克风？
* 相机权限： Privacy - Camera Usage Description 是否允许此App使用你的相机？
* 相册权限： Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库？
* 通讯录]]></description><category></category></item><item><title><![CDATA[xib中User Defined Runtime Attributes使用]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/70171176</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/70171176</guid><author>xttxqjfg</author><pubDate>Fri, 14 Apr 2017 13:07:17 +0800</pubDate><description><![CDATA[1、一般的控件直接使用layer.cornerRadius即可


2、UIImageView还需要设置layer.maskToBounds]]></description><category></category></item><item><title><![CDATA[xcode重定向log到本地问题]]></title><link>https://blog.youkuaiyun.com/xttxqjfg/article/details/70155202</link><guid>https://blog.youkuaiyun.com/xttxqjfg/article/details/70155202</guid><author>xttxqjfg</author><pubDate>Thu, 13 Apr 2017 10:42:27 +0800</pubDate><description><![CDATA[使用前需要在plist中设置日志共享
在info.plist中打开Application supports iTunes file sharing



- (void)redirectNSlogToDocumentFolder {
    NSLog(@"Log重定向到本地，如果您需要控制台Log，注释掉重定向逻辑即可。");
    NSArray *paths = NSSearch]]></description><category></category></item></channel></rss>