<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangxinxu521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangxinxu521]]></copyright><item><title><![CDATA[Flutter之线程]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/119358923</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/119358923</guid><author>wangxinxu521</author><pubDate>Tue, 03 Aug 2021 20:59:15 +0800</pubDate><description><![CDATA[Flutter默认是单线程任务处理的，如果不开启新的线程，任务默认在主线程中处理。

支持并发执行线程的高级语言（比如，C++、Java、Objective-C），大都以抢占式的方式切换线程，即：每个线程都会被分配一个固定的时间片来执行，超过了时间片后线程上下文将被抢占后切换。如果这时正在更新线程间的共享资源，抢占后就可能导致数据不同步的问题。
解决这一问题的典型方法是，使用锁来保护共享资源，但锁本身又可能会带来性能损耗，甚至出现死锁等更严重的问题。
这时，Dart 是单线程模型的优势就体现出来了，因为它天]]></description><category></category></item><item><title><![CDATA[Flutter学习路线总结]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/119344100</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/119344100</guid><author>wangxinxu521</author><pubDate>Tue, 03 Aug 2021 17:35:42 +0800</pubDate><description><![CDATA[之前使用过Hybrid和RN混编技术在原生中开发，现使用Flutter开发也有一年多了，项目一直在持续迭代中，并做过架构封装过多个组件和插件。在这里做个总结，希望能给感兴趣的同学一些帮助，之后会陆续更新Flutter使用中遇到的问题的解决方案和架构方面的文档。



第一步 环境的搭建

工欲善其事，必先利其器，任何一门新技术或语言的学习，首先都需要从基础的环境搭建开始，直接看官网安装即可https://flutterchina.club，选择并下载最新的稳定版本，根据流程安装SDK和模拟器，官网已经介绍的]]></description><category></category></item><item><title><![CDATA[《图解密码技术》读后的总结]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103767344</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103767344</guid><author>wangxinxu521</author><pubDate>Mon, 30 Dec 2019 16:02:37 +0800</pubDate><description><![CDATA[《图解密码技术》我认为是一本密码学入门的易读书，身边的几个做密码相关工具的朋友都推荐我看看，这次有时间就看了下。

本书是我11月份开始阅读的，一共用了25天，每天读完后都会把一些我认为是重点的章节和内容做个总结并写在印象笔记中，这样做的目的是之后在使用的时候可以快速的查找到不用在去翻书，并可以让我随时可以查看。如果各位有时间并对密码学感兴趣建议还是去买本书读下。在读书之前我以为我会读不懂，但读后...]]></description><category></category></item><item><title><![CDATA[IOS-UI调试工具Reveal(iOS开发者应该会用的工具)]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103729145</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103729145</guid><author>wangxinxu521</author><pubDate>Mon, 30 Dec 2019 15:34:23 +0800</pubDate><description><![CDATA[Reveal我认为是一个iOS开发者必须了解的一个工具。无论是接手一个老项目后对UI的分析，还是在自己写项目后对UI问题的查找，都可以给予很大的帮助。之前写过一篇介绍Reveal工具的文章，但但是基于越狱手机的前提下。现在介绍下在自己的程序中该如何使用。

Reveal介绍

Reveal是一款调试iOS程序UI界面的工具。可以在官网上面下载。建议下载至少Reveal4版本，支持USB连接调试，速...]]></description><category></category></item><item><title><![CDATA[iOS-动态调试LLDB]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103766985</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103766985</guid><author>wangxinxu521</author><pubDate>Mon, 30 Dec 2019 15:33:25 +0800</pubDate><description><![CDATA[最近在研究iOS的逆向，学到了动态调试LLDB这块，之前在开发的时候只是进行正常的打断点和打印参数，没有去具体的了解整个调试流程。这次做个相关知识的学习并进行个总结。

什么是LLDB？

LLDB是Low Level Debugger的简称，在iOS开发的调试中LLDB是经常使用的，LLDB是Xcode内置的动态调试工具。

LLVM是一个模块化和可重用的编译器和工具链技术的集合，创始人是 C...]]></description><category></category></item><item><title><![CDATA[IOS安全、逆向、反编译5-Mach-O]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728695</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728695</guid><author>wangxinxu521</author><pubDate>Fri, 27 Dec 2019 11:05:51 +0800</pubDate><description><![CDATA[逆向App的基本步骤


	界面分析

	Cycript、Reveal
	
	
	代码分析

	对Mach-O文件的静态分析

	MachOView、class-dump、Hopper Disassembler、ida等
	
	
	动态调试

	对运行中的APP进行代码调试

	debugserver、LLDB

	4.代码编写

	注入代码到APP中

	必要时还可能需要重新签名、打包ip
	
...]]></description><category></category></item><item><title><![CDATA[IOS安全、逆向、反编译4-Reveal(iOS开发者应该会用的工具)]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728469</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728469</guid><author>wangxinxu521</author><pubDate>Fri, 27 Dec 2019 11:03:45 +0800</pubDate><description><![CDATA[Reveal我认为是一个iOS开发者必须了解的一个工具。无论是接手一个老项目后对UI的分析，还是在自己写项目后对UI问题的查找，都可以给予很大的帮助。

Reveal介绍

Reveal是一款调试iOS程序UI界面的工具。可以在官网上面下载。建议下载至少Reveal4版本，支持USB连接调试，速度快。低版本的只能WiFi连接调试。下边也提供破解的Reveal下载地址。

首先来看下Reveal出来...]]></description><category></category></item><item><title><![CDATA[IOS安全、逆向、反编译3-Cycript]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728433</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103728433</guid><author>wangxinxu521</author><pubDate>Fri, 27 Dec 2019 10:54:35 +0800</pubDate><description><![CDATA[Cycript是Objective-C++、ES6（JavaScript）、Java等语法的混合物, 可以用来探索、修改、调试正在运行的Mac\iOS APP。我们可以通过官网和文档来学习 。

Cycript使用步骤


	在iPhone上通过Cydia安装Cycript，即可在iPhone上调试运行中的APP
	
	
	在Mac终端使用SSH连上iPhone
	
	
	开启cycript
	
...]]></description><category></category></item><item><title><![CDATA[iOS-真机调试包(不断的更新中...)]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103695048</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103695048</guid><author>wangxinxu521</author><pubDate>Wed, 25 Dec 2019 10:49:01 +0800</pubDate><description><![CDATA[今天手机自动升级到了iOS13，然后真机调试就用不了了，还不想升级XCode，就只能新增真机调试包了。（会不断的更新）

xcode 版本回退地址：https://developer.apple.com/download/more/

把我包里的文件 13.3放到 下边目录中

打开路径：
/Applications/Xcode.app/Contents/Developer/Platfor...]]></description><category></category></item><item><title><![CDATA[IOS安全、逆向、反编译2-SSH协议的详解]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103678526</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103678526</guid><author>wangxinxu521</author><pubDate>Tue, 24 Dec 2019 10:23:55 +0800</pubDate><description><![CDATA[在逆向工程中，我们经常需要通过Mac来操作iPhone。在Mac上，我们经常在终端通过敲一些命令行来完成一些操作，而由于iOS和Mac OS X都是基于Darwin（苹果的一个基于Unix的开源系统内核），所以iOS中同样支持终端的命令行操作，因此，我们可以在Mac上使用终端来操作iPhone。

为了实现上述的功能，我们得让Mac和iPhone建立连接，一般可以通过Mac远程登录到iPhone的...]]></description><category></category></item><item><title><![CDATA[IOS安全、逆向、反编译1-越狱知识讲解]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103491885</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103491885</guid><author>wangxinxu521</author><pubDate>Wed, 11 Dec 2019 14:37:41 +0800</pubDate><description><![CDATA[之前开发了一个对安全性要求比较高的APP，所以对安全、逆向和反编译有了一些认识，最近有时间就想系统的把这些知识做一个整理。今天就开始把我的学习过程记录下来。

iOS越狱环境搭建

在学习iOS越狱之前，我们当然需要一台iOS设备，由于现在基本上都是64位系统为主，所以最好是使用ARM64架构的设备，因此首先我们的手机至少需要iPhone5S或者之后的iPhone设备，平板至少是iPad Air、...]]></description><category></category></item><item><title><![CDATA[iOS-理解SSL证书]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/81477411</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/81477411</guid><author>wangxinxu521</author><pubDate>Mon, 02 Dec 2019 11:39:30 +0800</pubDate><description><![CDATA[为什么要用HTTPS

简单地说，HTTP是明文协议，通过该协议传输的数据处在被窃听、篡改、冒充这三大风险中，已经是非常不安全的传输协议。HTTPS是加密协议，就是在HTTP的基础上开启一条SSL加密通道，让原本明文“裸奔”的数据，从加密通道中密文传输，保证了数据传输的安全性。

目前，全球互联网正在进行从HTTP到HTTPS的大迁移，苹果一向非常关注用户隐私安全，在执行安全策略方面，态度也是非...]]></description><category></category></item><item><title><![CDATA[iOS-多线程的详细理解]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103345462</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103345462</guid><author>wangxinxu521</author><pubDate>Mon, 02 Dec 2019 11:32:13 +0800</pubDate><description><![CDATA[多线程一直是近年来最常问的面试题之一，在工作中也会经常用到(如果你说你重来没用到，那至少你也得知道哪些底层用到过吧，如果你说你不知道，那你牛)。

先从一些面试题入手，了解下哪些是重点，有些问题是我去面试被问到的，也是面试其他人我愿意问的。

1、你理解的多线程？

2、iOS的多线程方案有哪几种？你更倾向于哪一种？

3、你在项目中用过 GCD 吗？

4、GCD 的队列类型

5、说一下 Op...]]></description><category></category></item><item><title><![CDATA[iOS-Tagged Pointer的理解]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/103345172</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/103345172</guid><author>wangxinxu521</author><pubDate>Mon, 02 Dec 2019 11:12:13 +0800</pubDate><description><![CDATA[关于Tagged Pointer

在2013年9月，苹果推出了iPhone5s，与此同时，iPhone5s配备了首 个采用64位架构的A7双核处理器，为了节省内存和提高执行效率，苹果提出了Tagged Pointer的概念。先看看原有的对象为什么会浪费内存。假设要存储一个NSNumber对象，其值是一个整数。正常情况下，如果这个整数只是一个NSInteger的普通变量，那么它所占用的内存是与CP...]]></description><category></category></item><item><title><![CDATA[iOS 13适配的一些问题总结]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/102465343</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/102465343</guid><author>wangxinxu521</author><pubDate>Wed, 09 Oct 2019 16:48:53 +0800</pubDate><description><![CDATA[因为需要测试iPhone 11，然后就手残的把XCode给升级了，然后就各种问题，如果不是有特别的需求建议千万现别升级、千万现别升级、千万现别升级。

1.模态弹出默认交互改变

模态的效果完全改变了，从跳转到下个页面变成了弹出的效果。

iOS 13 的 presentViewController 默认有视差效果，模态出来的界面现在默认都下滑返回。 一些页面必须要点确认才能消失的，需要适配。如果...]]></description><category></category></item><item><title><![CDATA[This xxx is running iOS 13 (17A860), which may not be supported by this version of Xcode.-已更新14.5]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/102375927</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/102375927</guid><author>wangxinxu521</author><pubDate>Tue, 08 Oct 2019 12:25:57 +0800</pubDate><description><![CDATA[今天手机自动升级到了iOS13，然后真机调试就用不了了，还不想升级XCode，就只能新增真机调试包了。（会不断的更新）

xcode 版本回退地址：https://developer.apple.com/download/more/

把我包里的文件 13.3放到 下边目录中

打开路径：
/Applications/Xcode.app/Contents/Developer/Platfor...]]></description><category></category></item><item><title><![CDATA[iOS 防止录屏和截屏的监听]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/82379594</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/82379594</guid><author>wangxinxu521</author><pubDate>Tue, 04 Sep 2018 10:47:28 +0800</pubDate><description><![CDATA[iOS实现不了不让截屏或者录屏，但是提供的截屏或者录屏的监听方法，我们也可以通过监听方法来拿到截屏的图片，为此参考了支付宝和微信支付时，截屏的处理方式。





 通过上图发现，其实图片都已经保存到本地相册中，程序监听到了截图的事件，然后给予友好的提示，接下来说下实现的方法。

截屏状态获取

编辑相册中最新照片的方法iOS8之后就已经失效，框架“Photos”也在iOS10之后失效。

搜索发...]]></description><category></category></item><item><title><![CDATA[iOS-捕获崩溃的异常和友好的处理]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/81910806</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/81910806</guid><author>wangxinxu521</author><pubDate>Tue, 21 Aug 2018 17:01:35 +0800</pubDate><description><![CDATA[1.前言

开发iOS应用，解决Crash问题始终是一个难题。Crash分为两种，一种是由EXC_BAD_ACCESS引起的，原因是访问了不属于本进程的内存地址，有可能是访问已被释放的内存；另一种是未被捕获的Objective-C异常（NSException），导致程序向自身发送了SIGABRT信号而崩溃。其实对于未捕获的Objective-C异常，我们是有办法将它记录下来的，如果日志记录得当，能...]]></description><category></category></item><item><title><![CDATA[iOS-实现支付宝的进入后台模糊效果]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/81477028</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/81477028</guid><author>wangxinxu521</author><pubDate>Tue, 07 Aug 2018 10:47:57 +0800</pubDate><description><![CDATA[实现支付宝进行后台，页面模糊的效果，很多金融类的app都实现这样效果来增加安全，代码很简单，在AppDelegate中实现。



代码实现：

@property (strong, nonatomic)UIVisualEffectView *visualEffectView; 

#pragma mark 后台模糊效果

- (UIVisualEffectView *)visualEffectV...]]></description><category></category></item><item><title><![CDATA[iOS-操作系统的理解和回答面试问题的小技巧]]></title><link>https://blog.youkuaiyun.com/wangxinxu521/article/details/81384961</link><guid>https://blog.youkuaiyun.com/wangxinxu521/article/details/81384961</guid><author>wangxinxu521</author><pubDate>Fri, 03 Aug 2018 12:24:41 +0800</pubDate><description><![CDATA[写这篇文章是因为昨天一个朋友去面试回来，和我说面试官问他什么是iOS，他很是无语不知道怎么回答。

今天想了下，其实这种问题是很基础的，可能对方只是想听一些你对操作系统的理解，所以类似的问题都可以往苹果移动操作系统的原理方面回答，下边是我想到的一些回答思路。

这里说下自己总结的回答面试问题的小技巧，之前面试其他人，有的人知道问题，但是回答的方式很乱，让人感觉他自己都不熟悉，这样的人在开发也是一样...]]></description><category></category></item></channel></rss>