<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jaybin的技术博客]]></title><description><![CDATA[IOS开发者 热爱生活 热爱一切美好的事物]]></description><link>https://blog.youkuaiyun.com/He_jiabin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; He_jiabin]]></copyright><item><title><![CDATA[适配iOS11和iPhone X的经验总结]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/79209415</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/79209415</guid><author>He_jiabin</author><pubDate>Wed, 07 Mar 2018 18:55:21 +0800</pubDate><description><![CDATA[      感觉好久没有静下心来总结和记录技术问题了，博客文章也好久没有更新了。。。虽然平时工作上也都会不断遇到新的问题和难点，但基于繁忙的业务开发和自己最近的一些私事缠身，遇到问题基本都是快速解决就草草了事了，没有深入的总结和记录，回想真是于“颓废”了。今天着手总结一下前一阵子适配iOS11和iPhone X遇到的一些问题和经验总结。 一、iOS11引发的问题1、在iOS11下tableview...]]></description><category></category></item><item><title><![CDATA[IOS10.3 URL Scheme 命名的调整]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/69389809</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/69389809</guid><author>He_jiabin</author><pubDate>Thu, 06 Apr 2017 16:42:51 +0800</pubDate><description><![CDATA[对于IOS系统来说，我们可以通过给APP定义一个唯一的URL路径来从外部快速的打开这个指定的APP。这种策略叫做URL Scheme。
这个URL路径一般格式为：myapp://或者 MyApp://。另外我们还需要在项目中的info.plist文件中设置相应的URL Scheme值，如下：

完成上面的设置后只要我们iPhone已经安装了该应用，我们就可以在浏览器地址栏输入 AppUrlS]]></description><category></category></item><item><title><![CDATA[总结适配IOS10需要注意的问题]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/52669852</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/52669852</guid><author>He_jiabin</author><pubDate>Mon, 26 Sep 2016 17:01:28 +0800</pubDate><description><![CDATA[就前不久，苹果刚刚对外正式发布了新的操作系统IOS10。悲剧的是就在发布新系统的当天公司就急着要发布一个新版本，问题来了。。。谁知道APP在IOS10上会遇到什么鬼情况！最怕的就是闪退。。。于是在上线前做了很多关于IOS10的适配工作，其中也踩了很多坑。所以在这里记录总结一下。


1、自动管理证书
首先要说的就是Xcode8。打开Xcode8最明显的就是Targets-->General]]></description><category></category></item><item><title><![CDATA[动态计算UITableViewCell的高度]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/51820682</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/51820682</guid><author>He_jiabin</author><pubDate>Thu, 18 Aug 2016 11:37:16 +0800</pubDate><description><![CDATA[这篇文章主要介绍如何在开发中灵活的计算具有动态高度内容的Cell的高度。
关于计算UITableViewCell的高度（Cell中有Lable、TextView等动态内容的控件），大体的实现思路无非是两种。一种就是以前传统的绝对布局方法（Frame），涉及到的API sizeToFit、sizeThatFits:，通过数据内容挨个反算Cell中控件的Frame，然后计算出Cell的总高度，总体上]]></description><category></category></item><item><title><![CDATA[IOS 3D Touch 开发教程]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/50775001</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/50775001</guid><author>He_jiabin</author><pubDate>Wed, 02 Mar 2016 12:17:24 +0800</pubDate><description><![CDATA[前一阵子伴随着苹果发布新产品iPhone6s 和 IOS9新系统，一系列关于硬件和软件的新功能、新特性逐渐进入iPhone用户的视线。这次我们就来讲讲传闻已久的3D Touch。
         当然这个新功能不仅仅需要手机系统更新到最新的IOS9系统，更需要设备必须是iPhone6s及以上。哈哈哈。。。所以，这个功能目前也只能是iPhone6s的用户才能体验到。总的来说苹果推出3D
 To]]></description><category></category></item><item><title><![CDATA[App如何跳转到系统Settings]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/50145155</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/50145155</guid><author>He_jiabin</author><pubDate>Fri, 04 Dec 2015 15:56:56 +0800</pubDate><description><![CDATA[我们经常看到很多应用都有从App页面直接跳转到系统Settings的这个功能，于是就稍微总结一下备着以后能用的上。]]></description><category></category></item><item><title><![CDATA[Xcode6以后如何用企业证书发布应用]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/49275191</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/49275191</guid><author>He_jiabin</author><pubDate>Tue, 20 Oct 2015 16:22:36 +0800</pubDate><description><![CDATA[Xcode6以后，使用企业账号发布应用的流程发生了很大的变化。所以这里也写篇文章总结记录一下。不得不说貌似每次Xcode的升级都对企业账号的发布流程有所调整。
        相对于以前来说，在Xcode5的时代，使用企业账号发布应用真的是方便很多。而且编译器Xcode也会在打包和导出IPA包的流程上引导我们去完成企业应用的发布流程。
        关于以前（Xcode6之前）是如何通过企业]]></description><category></category></item><item><title><![CDATA[IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/48677911</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/48677911</guid><author>He_jiabin</author><pubDate>Mon, 19 Oct 2015 17:35:02 +0800</pubDate><description><![CDATA[随着iPhone6+设备的上市，如何让手头上的APP适配iPhone4/4s，iPhone5/5s，iPhone6/6s，iPhone 6p/6ps多种机型多种屏幕尺寸变得尤为迫切和必要。]]></description><category></category></item><item><title><![CDATA[小结一下最近项目如何适配IOS9]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/48707811</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/48707811</guid><author>He_jiabin</author><pubDate>Fri, 25 Sep 2015 11:54:34 +0800</pubDate><description><![CDATA[反正现在也已经习惯了，每次只要苹果系统一升级，对于APP开发者来说一系列的适配问题也就会随之而来。所以需要我们不断的关注和记录新系统、新特性。
1、App Transport Security(ATS)
对于IOS9苹果在系统的安全策略上已经做了重大的调整和努力。出于安全性的考虑，为提高系统及应用安全性在IOS9引入了的新特性：App Transport Security(ATS)。并且一旦开]]></description><category></category></item><item><title><![CDATA[IOS几种常见的实现扫描、生成二维码的方式（一、使用ZBar SDK）]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/47786031</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/47786031</guid><author>He_jiabin</author><pubDate>Mon, 21 Sep 2015 21:09:09 +0800</pubDate><description><![CDATA[IOS中的几种常见的扫描二维码方式（一、使用ZBar SDK）]]></description><category></category></item><item><title><![CDATA[利用Associative机制为UIAlertView添加一个Block属性，将AlertView与button的响应事件关联]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/46508437</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/46508437</guid><author>He_jiabin</author><pubDate>Tue, 16 Jun 2015 16:09:59 +0800</pubDate><description><![CDATA[objective-c有两个扩展机制：category和associative。我们可以通过category对已经存在的类添加和扩展方法，但是它有一个很大的局限性，那就是不能扩展属性。于是，就有了专门用来扩展属性的机制：associative。关联对象是Runtimezhong关联对象是Runtime中一个非常实用的特性
        associative的主要原理，就是把两个对象相互关联起]]></description><category></category></item><item><title><![CDATA[Apple Watch开发的一些细节和总结]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/46356683</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/46356683</guid><author>He_jiabin</author><pubDate>Thu, 04 Jun 2015 15:29:30 +0800</pubDate><description><![CDATA[这篇文章旨在总结一下最近Watch开发下碰到的问题和细节

1、关于Watch的真机调试问题
        一般的情况下，你为IOS主应用创建了一个extention，比如说Today Extension 。Xcode都会自动帮你生成该extention的appid，然后生成对应的Provisioning Profile。然后在Targets-->Build Settings-->Code]]></description><category></category></item><item><title><![CDATA[ios下 KeyChain 的研究]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/43764637</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/43764637</guid><author>He_jiabin</author><pubDate>Fri, 27 Feb 2015 17:50:36 +0800</pubDate><description><![CDATA[iOS的keyChain是一个相对独立的空间，当我们的程序（App）被替换或者删除时并不会删除保存在keyChain的内容。相对于NSUserDefaults、plist文件保存等一般方式，keychain保存更为安全。所以我们会用keyChain保存一些私密信息，比如密码、证书、设备唯一码（UDID）等等。
       我们可以把KeyChain理解为一个Dictionary，所有数据都以k]]></description><category></category></item><item><title><![CDATA[IOS开发实现 UIScrollView 的循环轮播功能]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/40791417</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/40791417</guid><author>He_jiabin</author><pubDate>Thu, 08 Jan 2015 20:50:29 +0800</pubDate><description><![CDATA[这个控件类主要是实现 UIScrollView 的图片循环播放。主要的实现思路是首先在 UIScrollView 内添加三张视图 view，然后根据滑动和切换的需要更换这三张视图 view 上面的图片，同时改变 UIScrollView 当前 contentOffset 所显示的位置（每次滑动和切换后都让 UIScrollView 的 contentOffset 指示在中间的那张图片上）即可达到流]]></description><category></category></item><item><title><![CDATA[IOS下的横竖屏切换研究]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/42525475</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/42525475</guid><author>He_jiabin</author><pubDate>Thu, 08 Jan 2015 20:20:50 +0800</pubDate><description><![CDATA[IOS的横竖屏控制是由根控制器控制的。即为与window第一个接触的视图控制器（self.window.rootViewController）。如果我们的项目通过 UINavigationController 来实现的，那么根控制器就是如下面代码里的 RotateNavigationController。
- (BOOL)application:(UIApplication *)applicat]]></description><category></category></item><item><title><![CDATA[（判断第三方输入法）在系统数字键盘上添加“完成”按钮引发的问题思考]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/42463121</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/42463121</guid><author>He_jiabin</author><pubDate>Tue, 06 Jan 2015 19:24:54 +0800</pubDate><description><![CDATA[以前在系统自带的数字键盘上的左下角额外添加一个自定制的完成按钮，并且在键盘上添加了其他的控件样式。不过不久后，IOS8出来了，开始强大的支持第三方输入法。于是问题出来了。如果用户安装了第三方的输入法并设置使用。那么我们原先对于数字键盘上的控件定制将是一个很糟糕的麻烦。按照原先的数字键盘布局添加的“完成”等其他的按钮就会错位并且覆盖第三方输入法的键盘符。效果如下图：




      解]]></description><category></category></item><item><title><![CDATA[ios在数字键盘左下角添加“完成”按钮的实现原理]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/40857061</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/40857061</guid><author>He_jiabin</author><pubDate>Thu, 06 Nov 2014 11:48:05 +0800</pubDate><description><![CDATA[最近要在系统弹出的数字键盘上的左下角额外添加一个自定制的完成按钮，于是研究了一下系统自带键盘添加自定制按钮的实现方式。总结了一下大体上的通用做法，原理大概是这样：当页面上的文本框或其他输入源因为用户的点击而变成第一响应者的时候（becomeFirstResponder），系统键盘就会弹出。而每次键盘弹出或收起时，都会向系统发送相关的键盘事件即通知消息（notification）。所以，我们只要在键]]></description><category></category></item><item><title><![CDATA[ios开发下arc和非arc文件混编]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/39933459</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/39933459</guid><author>He_jiabin</author><pubDate>Thu, 09 Oct 2014 16:42:50 +0800</pubDate><description><![CDATA[“ios中如果arc和非arc文件混编，可以在build parses中指定compileflags，如果arc文件设为"-fobjc-arc",非arc文件设为"-fno-objc-arc"”]]></description><category></category></item><item><title><![CDATA[浅谈Objective-C 的几种多线程加锁用法]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/39931247</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/39931247</guid><author>He_jiabin</author><pubDate>Thu, 09 Oct 2014 16:31:43 +0800</pubDate><description><![CDATA[NSLock*lock]]></description><category></category></item><item><title><![CDATA[IOS8  新增UIAlertController类]]></title><link>https://blog.youkuaiyun.com/He_jiabin/article/details/39528229</link><guid>https://blog.youkuaiyun.com/He_jiabin/article/details/39528229</guid><author>He_jiabin</author><pubDate>Wed, 24 Sep 2014 20:07:18 +0800</pubDate><description><![CDATA[IOS8  新增了UIAlertController类，将原先的两个类UIAlertView和UIActionSheet 封装到新类UIAlertController中（即被弃用了）。通过属性UIAlertControllerStyle（UIAlertControllerStyleAlert｜UIAlertControllerStyleActionSheet）来区分这两个控件样式的使用。]]></description><category></category></item></channel></rss>