一、静态库和动态库依赖问题 1.1、两个库相关的区别 在构建的过程中: 动态库需要经过静态链接。这里你没有看错,动态库的生成需要静态链接。而静态库的生成,不需要经过静态链接,...
一、静态库和动态库依赖问题 1.1、两个库相关的区别 在构建的过程中: 动态库需要经过静态链接。这里你没有看错,动态库的生成需要静态链接。而静态库的生成,不需要经过静态链接,...
一、动态库与静态库简介 1.1、什么是库 库(Library)是一个可供使用的各种标准程序、子程序、文件以及它们的目录等信息的有序集合。 所谓程序库,一般来说就是软件作者为了...
一、ECC椭圆曲线加密算法原理 1.1、椭圆曲线介绍 ECC(Elliptic Curves Cryptography,椭圆曲线加密)是一种公开密钥算法。1985年,Neal...
一、Kiwi相关简介 1.1、测试驱动开发和行为驱动开发 测试驱动开发(Test Driven Development,以下简称TDD),TDD是敏捷开发中的一项核心实践和技...
一、OCMock简介 1.1、Mock介绍 作为一个动词,mock是模拟、模仿的意思;作为一个名词,mock是能够模仿真实对象行为的模拟对象。在软件测试中,mock所模拟的对...
一、UI测试简介 1.1、什么是UITesting 2015 年,Apple 发布了 UI 自动化测试框架 XCUITest 并集成在 Xcode7 中,而 iOS/macO...
一、单元测试简介 1.1、简介 单元测试(Unit Testing),又称为模块测试,是指对软件中的最小可测试单元进行检查和验证,通过开发者编写代码去验证被测代码是否正确的一...
前言 视频效果:https://zjhdreamteam.coding.net/p/OTADemo/d/OTADemo/git/raw/master/HomeKit_vide...
只要遥控器也能实现相同的协议,建立连接后,就能收发控制数据
使用usbmuxd服务,通过USB连接与PC端、Mac端实现通信,Peertalk的使用一、usbmuxd 介绍 usbmuxd 是苹果的一个服务,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes、Xcode,都...
一、二进制重排介绍 1、App启动 进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。苹果在这个基础上还有 ASLR(Address...
前言 在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等)。修改完成以后,如果想要让APP可以正常使用,该APP一定要重新签名然后压缩成IPA文件...
前言 密码技术是网络安全的基础,也是核心。现在对隐私保护、敏感信息尤其重视,所以不论是系统开发还是App开发,只要有网络通信,很多信息都需要进行加密,以防止被截取篡改。 1、...
一、前言 动态调试就是在我们的程序运行之时,通过下断点、打印等一系列方式查看参数、返回值、函数调用流程等等。不仅是在iOS开放中需要动态调试,在任何语言的开发过程中都需要用到...
一、前言 1、简介 LLDB是新一代高性能调试器。它构建为一组可重用的组件,可以高度利用较大的LLVM项目中的现有库,例如Clang表达式解析器和LLVM反汇编程序。LLDB...
一、theos 安装 1、安装签名工具ldid 首先先确保安装了Homebrew[https://brew.sh] 。如未安装,可通过下面指令安装 使用Homebrew安装l...
一、加壳和脱壳 1、加壳 利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加密),以达到保护程序代码的目的。iOS端App在上线之前会有苹果商店进行FairPlayDR...
一、Reveal 1、Reveal简介和下载 Reveal是一款调试iOS程序UI界面的神器。官网:https://revealapp.com[https://reveala...
一、Cycript简介 Cycript允许开发者在iOS或Mac OS X上使用objective - c++和JavaScript语法的混合,通过具有语法高亮和tab补全功...