<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lin_transform的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lin_transform</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lin_transform]]></copyright><item><title><![CDATA[Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/80289870</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/80289870</guid><author>lin_transform</author><pubDate>Sat, 12 May 2018 11:21:33 +0800</pubDate><description><![CDATA[今天pod search 一个库时发现搜索到的版本比github上的最新版本旧，于是采用下面的命令更新Cocoapods的库

pod repo update master –verbose 
执行后却报了下面的错误：

Updating spec repo master 
[!] Failed to connect to GitHub to update the CocoaPods/Specs ...]]></description><category></category></item><item><title><![CDATA[大牛博客]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/80084659</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/80084659</guid><author>lin_transform</author><pubDate>Wed, 25 Apr 2018 19:51:50 +0800</pubDate><description><![CDATA[http://www.jianshu.com/p/9216c561b0f8

http://blog.youkuaiyun.com/column/details/ryan-zone.html

http://blog.youkuaiyun.com/ryantang03/article/details/7877120

http://www.cnblogs.com/martin1009/category/332]]></description><category></category></item><item><title><![CDATA[Core Foundation]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/80084314</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/80084314</guid><author>lin_transform</author><pubDate>Wed, 25 Apr 2018 19:23:51 +0800</pubDate><description><![CDATA[先来说说「Core Foundation」（以下简称CF）的历史吧。当年乔布斯被自己创办的公司驱逐后，成立了「NeXT Computer」,其实做的还是老本行：卖电脑，但依旧不景气。好在NeXTSTEP系统表现还不错，亏损不至于太严重。正好此时苹果的市场份额大跌，急需一个新的操作系统，结果大家都知道了，乔布斯借此收购，重新回到了苹果。

这里就牵扯到了一个问题，如何让旧有的系统（Mac OS ]]></description><category></category></item><item><title><![CDATA[多页和单页应用模式区别]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/79995097</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/79995097</guid><author>lin_transform</author><pubDate>Wed, 18 Apr 2018 18:56:03 +0800</pubDate><description><![CDATA[webx5

单页模式打开方式：justep.shell.showpage();

多页模式打开方式：window.loacation.href = require.tourl();]]></description><category></category></item><item><title><![CDATA[target overrides the FRAMEWORK_SEARCH_PATHS build]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/79404174</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/79404174</guid><author>lin_transform</author><pubDate>Wed, 28 Feb 2018 18:29:50 +0800</pubDate><description><![CDATA[target overrides the FRAMEWORK_SEARCH_PATHS build

今天遇到报这样的错：
The `APP_NAME [Debug]` target overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods/Pods.debu]]></description><category></category></item><item><title><![CDATA[深入浅出 JavaScriptCore]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/79280458</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/79280458</guid><author>lin_transform</author><pubDate>Wed, 07 Feb 2018 15:15:48 +0800</pubDate><description><![CDATA[原文:http://www.cocoachina.com/ios/20170720/19958.html

写在前面

本篇文章是对我一次组内分享的整理，大部分图片都是直接从keynote上截图下来的，本来有很多炫酷动效的，看博客的话就全靠脑补了，多图预警 ：）

概览



JavaScriptCore 简介


Objective-C 与 JavaScript 交互]]></description><category></category></item><item><title><![CDATA[iOS Masonry约束自定义TableViewCell自适应行高的约束冲突的问题]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/79219535</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/79219535</guid><author>lin_transform</author><pubDate>Wed, 31 Jan 2018 17:00:28 +0800</pubDate><description><![CDATA[纯代码使用Masonry进行子控件约束的时候(尤其是tableViewCell的子控件自动适应行高),经常会出现下面约束警告
2017-12-29 16:24:42.645364+0800 project[3804:770025] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    Probably at l]]></description><category></category></item><item><title><![CDATA[Objective-C 对 URL 进行 URLEncode 编码]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78876706</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78876706</guid><author>lin_transform</author><pubDate>Fri, 22 Dec 2017 20:54:23 +0800</pubDate><description><![CDATA[在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode，比如像拼出来的 http://unmi.cc?p1=%+&sd f&p2=中文，其中的中文、特殊符号&％和空格都必须进行转译才能正确访问。

在 Java、.net 和 JS 中都有相应的 encodeURL 方法可用，在 Objective-C 语言中，你可以试下

- (NSString *)stringByAd]]></description><category></category></item><item><title><![CDATA[StarUML mac版本破解]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78836213</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78836213</guid><author>lin_transform</author><pubDate>Mon, 18 Dec 2017 19:26:20 +0800</pubDate><description><![CDATA[参考：http://bbs.chinapyg.com/thread-79022-1-1.html

各平台版本均适用，本文更改的为Mac版本。​


这个博文传播比较广了。目前要提醒大家还是有经济能力支持正版、支持正版、支持正版

1，打开对应 mac版本的安装包位置，在对应目录/Applications/StarUML.app/Contents/www/license/node/L]]></description><category></category></item><item><title><![CDATA[NSURLProtocol和NSRunLoop的那些坑]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78740733</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78740733</guid><author>lin_transform</author><pubDate>Thu, 07 Dec 2017 14:05:40 +0800</pubDate><description><![CDATA[最近用AFNetworking替换掉了工程里的ASIHttpRequest，结果陆续碰到很多问题：

·如何统一地添加全局的HTTP头(不仅仅是UA而已)

·如何优雅地进行流量统计

·对特定的地址进行CDN加速(URL到IP的替换)

·怎么实现HTTP的同步请求

前三个需求对于ASIHttpReqeust来说都不是问题，只需要在几个统一的点进行修改即可。而使用AFNet]]></description><category></category></item><item><title><![CDATA[[OC]之 atomic 与 nonatomic的区别]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78650889</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78650889</guid><author>lin_transform</author><pubDate>Tue, 28 Nov 2017 01:05:07 +0800</pubDate><description><![CDATA[我们声明属性的时候，必须要考虑到属性特质对编译器所产生的存取方法的影响。

下面我们就主要讲讲atomic 与 nonatomic:

在默认情况下，由编译器所合成的方法会通过锁定机制确保其原子性(atomicity)。如果属性具备nonatomic特质，则不需要同步锁。

请注意！！！！尽管没有名为atomic的特质（如果某属性不具备nonatomic特质，那它就是“原子的”(ato]]></description><category></category></item><item><title><![CDATA[IOS开发中NSRunloop跟NSTimer的问题]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78650860</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78650860</guid><author>lin_transform</author><pubDate>Tue, 28 Nov 2017 00:51:15 +0800</pubDate><description><![CDATA[在Windows时代，大家肯定对SendMessage，PostMessage，GetMessage有所了解，这些都是windows中的消息处理函数，那对应在ios中是什么呢，其实就是NSRunloop这个东西。在ios中，所有消息都会被添加到NSRunloop中，分为‘input source’跟'timer source'种，并在循环中检查是不是有事件需要发生，如果需要那么就调用相应的函数处理]]></description><category></category></item><item><title><![CDATA[Method Swizzling]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78650850</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78650850</guid><author>lin_transform</author><pubDate>Tue, 28 Nov 2017 00:46:20 +0800</pubDate><description><![CDATA[看到nshipster 的Method Swizzling这篇不错的文章还没翻译，就补充一下，没有逐字翻译，关于associated
 objects已经有翻译了，大家也可以去了解一下。


  method swizzling也许是runtime中最有争议的技术，它的作用就是改变已经存在selector的实现，之所以可以这样是因为方法调用可以在运行时改变：通过改变类的分发表( dispa]]></description><category></category></item><item><title><![CDATA[IOS开发中 retain 和 strong 区别]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78650791</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78650791</guid><author>lin_transform</author><pubDate>Tue, 28 Nov 2017 00:23:45 +0800</pubDate><description><![CDATA[在 ARC 机制下, retain 和 strong 基本相同,在 MRC 下,我们可以看到一些不一样:结论: MRC 下, strong 修饰 block 内部进行了 copy]]></description><category></category></item><item><title><![CDATA[IOS开发中ARC下的assign和weak区别]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78650582</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78650582</guid><author>lin_transform</author><pubDate>Mon, 27 Nov 2017 23:42:46 +0800</pubDate><description><![CDATA[assign是指针赋值，不对引用计数操作，使用之后如果没有置为nil，可能就会产生野指针；而weak一旦不进行使用后，永远不会使用了，就不会产生野指针！ 


接下来用简单的代码说明一下:]]></description><category></category></item><item><title><![CDATA[iOS编译过程的原理和应用]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78645794</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78645794</guid><author>lin_transform</author><pubDate>Mon, 27 Nov 2017 15:48:28 +0800</pubDate><description><![CDATA[前言

一般可以将编程语言分为两种，编译语言和直译式语言。

像C++,Objective C都是编译语言。编译语言在执行的时候，必须先通过编译器生成机器码，机器码可以直接在CPU上执行，所以执行效率较高。

像JavaScript,Python都是直译式语言。直译式语言不需要经过编译的过程，而是在执行的时候通过一个中间的解释器将代码解释为CPU可以执行的代码。所以，较编译语言来说，直]]></description><category></category></item><item><title><![CDATA[iOS 如何调试第三方统计到的崩溃报告]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78645629</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78645629</guid><author>lin_transform</author><pubDate>Mon, 27 Nov 2017 15:38:39 +0800</pubDate><description><![CDATA[有一点要记住，不要指望着复现bug靠断点调试，有些bug，例如多线程引起的，很难复现


核心命令
dwarfdump --lookup 0x0007434d  -arch arm7 uau1.3.0.app.dSYM1


dSYM文件

XCode中 
Window->Organizer->选择提交到App Store的Archies->右键，showin finder ]]></description><category></category></item><item><title><![CDATA[[译]关于iOS和OS X废弃的API你需要知道的一切]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78643031</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78643031</guid><author>lin_transform</author><pubDate>Mon, 27 Nov 2017 11:13:05 +0800</pubDate><description><![CDATA[原文: Everything You Need to Know about iOS and OS X Deprecated APIs

如你所知，已废弃(Deprecated)的API指的是那些已经过时的并且在将来某个时间最终会被移除掉的方法或类。通常，苹果在引入一个更优秀的API后就会把原来的API给废弃掉。因为，新引入的API通常意味着可以更好的发挥新硬件或操作系统的性能，或者可以使用一些]]></description><category></category></item><item><title><![CDATA[clang -rewrite-objc的使用点滴]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78621682</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78621682</guid><author>lin_transform</author><pubDate>Fri, 24 Nov 2017 10:10:39 +0800</pubDate><description><![CDATA[原文出自【听云技术博客】：http://blog.tingyun.com/web/article/detail/845

clang -rewrite-objc的作用是把oc代码转写成c/c++代码，我们常用它来窥探OC的一些秘密。

1、最简单的例子

main.m的代码如下：
int main(int argc, char * argv[]) { 
int i=1 ;
__blo]]></description><category></category></item><item><title><![CDATA[NSOprationQueue 与 GCD 的区别与选用]]></title><link>https://blog.youkuaiyun.com/lin_transform/article/details/78598505</link><guid>https://blog.youkuaiyun.com/lin_transform/article/details/78598505</guid><author>lin_transform</author><pubDate>Wed, 22 Nov 2017 00:22:18 +0800</pubDate><description><![CDATA[GCD
技术是一个轻量的，底层实现隐藏的神奇技术，我们能够通过GCD和block轻松实现多线程编程，有时候，GCD相比其他系统提供的多线程方法更加有效，当然，有时候GCD不是最佳选择，另一个多线程编程的技术

NSOprationQueue 让我们能够将后台线程以队列方式依序执行，并提供更多操作的入口，这和 GCD
的实现有些类似。
这种类似不是一个巧合，在早期，MacOX 与 iOS]]></description><category></category></item></channel></rss>