问渠那得清如许?为有源头活水来

详解 Keychain 和 App 之间数据共享

Keychain 介绍 Keychain Services 是 macOS 和 iOS 都提供一种安全地存储敏感信息的工具,比如:“网络密码:用于保存访问服务器或者网站,通用密码:用来保存应用程序或者数据库密码”。与此同时,用于认证的证书、密钥和身份信息,也可以存储在 Keychain 中。Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。简单说来,Key...

iOS 如何发布自己的 CocoaPods 公开库?

前面文章已经介绍了安装 CocoaPods 及使用详解,这一篇文章主要教大家制作自己的 CocoaPods 公开库,下面以 iOS 客户端 (DYFToast) 为例,做一个详细说明。 如果你是第一次发布自己的 CocoaPods 公开库,你就需要注册一个 trunk 账号。以下是 trunk 的相关内容。 一、Trunk 1、注册 Trunk pod trunk register ...

git 和 pod 常用命令

在 CocoaPods 创建自己的公开库和私有库时,我们会经常使用到 git 和 pod 命令,以下是我创建公开库和私有库过程中常用到的一些命令,希望这些能够帮助到您。 git 命令 mkdir xx #创建一个空目录,xx指目录名 pwd #显示当前目录的路径。 cat xx #查看xx文件内容 git --help #帮助命令 # git global setup git con...

安装 CocoaPods 及使用详解

cocoapods 官网:https://guides.cocoapods.org 一、什么是 CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。CocoaPods 项目的源码在 Gith...

iOS Crash 闪退日志详细解析教程

前言 查看闪退日志的步骤: (1)获取闪退日志 (2)获取 symbolicatecrash 脚本 (3)获取闪退日志对应的符号表(.dSYM 文件) (4)解析闪退日志 苹果官网关于应用程序崩溃的介绍 https://developer.apple.com/library/content/technotes/tn2151/_index.html Understanding a...

iOS 多线程技术导图

了解更多 iOS 多线程技术,点击阅读以下文章 iOS 多线程技术深度解析 声明:iOS 多线程技术导图并非本人所创,仅整理一些开发技能知识,以作存档用于学习。

iOS 多线程技术深度解析

一、多线程概念 1、进程 一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个在系统中正在运行的应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。 2、线程 程序执行流的最小单元,线程是进程中的一个实体。一个进程要想执行任务,必须得有线程(每1个进程至少要有1个线程,称为主线程),一个进程(程序)的所有...

Swift 和 Objective-C 单例模式详解

单例模式要求一个类有一个实例,有公开接口可以访问这个实例。单例模式分为以下两种模式: 严格单例模式 严格单例模式,要求一个类只有一个实例。 不严格单例模式 不严格单例模式,可以创建多个实例。 有的类只能有一个实例,例如 UIApplication 类,通过 shared 属性访问唯一的实例,属于严格单例模式。废话不多说,...

谈谈一款好用的iOS视频播放器QPlayer

编写这款播放器的目的是将下载好的电影、电视剧和动漫等视频同步到这款APP里观看,节省移动数据流量和避开其他限制。重构了此项目,采用MVP设计模式,提高APP性能,适配APP深浅模式等,使浏览体验更好。 特点 支持M4V、WMV、MP4、MOV、AVI、MKV、FLV、RM、RMVB等主流媒体格式 支持HTTP、RTMP、RTSP、HLS等流媒体播放 支持WiFi传输,可以享...

iOS逆向学习:免越狱给微信添加新功能

最近对 iOS 逆向很感兴趣,想学习下如何通过逆向app、分析源码、注入动态库的方式来给其它 app 添加一些酷炫的功能。于是我决定先从微信开始,希望通过做笔记的方式,巩固自己学过的知识,以及分享这些知识给其他对此感兴趣的人。 说干就干,逆向工程哪是那么容易的一件事。首先,我们要从一些优秀书籍和一些大神的博客中学习基础知识,文章后面会提到。有了一定的基础之后,于是我将学习过程写了下来。 ...