自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yao1500的专栏

一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉

原创 iOS包重签名工具,ipa文件重签名,快速签名,SignTool签名工具,好用的签名工具,App重签名

SignTool V1.0.00 [官网下载]有时候由于某些原因我们需要换证书提审,特别是游戏行业(经常需要换证书)。当我们需要换证书时,如果重新制作证书然后再发给CP打包,这个流程是很费时间的(因为CP不仅仅对接你们这一个渠道,重新打包可能需要排期)。其实我们只要使用新证书对ipa文件重新签名就可以了,无须再让CP重新打包。只是手动去签名有些繁琐,我自己就开发个签名工具(SignTool)去...

2020-05-07 09:30:20 5383

原创 iOS开发:判断iPhone是否是刘海屏iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等

Objective-C// iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等// 判断刘海屏,返回YES表示是刘海屏// UIView中的safeAreaInsets如果是刘海屏就会发生变化,普通屏幕safeAreaInsets恒等于UIEdgeInsetsZero- (BOOL)isNotchScreen { if (@available(...

2018-11-07 17:16:42 10005

原创 Swift4.1 新特性compactMap函数

关于compactMap函数苹果在Swift 4.1中新增compactMap函数,用来代替flatMap函数。在Swift标准库中compactMap定义如下public func compactMap<ElementOfResult>(_ transform: (Element) throws -> ElementOfResult?) rethrows -&g...

2018-05-22 16:17:28 4574

原创 CCMixer/CodeMixer工具,完美替代ChaosTool,iOS添加垃圾代码工具,代码混淆工具,代码生成器,史上最好用的垃圾代码添加工具,自己开发的小工具

ChaosTool [官网下载]最近在H5游戏项目中需要添加垃圾代码作混淆,提高过审机率。手动添加太费时费力,在网上并没有找到合适的比较好的工具,就自己动手写了一个垃圾代码添加工具,命名为ChaosTool。 ChaosTool特点 - 自动定义变量/函数/属性 - 自动实现函数体 - 自动识别插入位置 - 自动创建/并编写类文件(.h/.m) - 自动创建文件夹 - 无须手动反...

2018-05-03 15:57:20 15060 11

原创 Swift 4.0中JSON与模型原生互转(JSONEncoder/JSONDecoder的使用)

在Objective-C中,苹果并没有提供JSON转模型(模型转JSON)的接口,往往在开中需要添加第三库来处理JSON数据,比如:JsonModel、MJExtension、Mantle、JsonKit等,想了解更多这些库,可以去看一下这篇文章iOS中JSON解析三方库的比较。在Swfit中从 4.0版本开始,苹果提供JSONEncoder/JSONDecoder两个类处理JSON数据,其中J...

2017-10-16 12:01:22 4831

原创 Python 日期、时间处理、时间戳转换、获取年份、月份、日、星期几、小时、分钟、秒

引入 time 模块import time获取当前时间戳unix_timestamp_current = time.time()print(unix_timestamp_current) # 1596594152.331776格式化时间fmt = '%Y-%m-%d %H:%M:%S' # 自定义格式unix_timestamp = None # 这是你要转换的时间戳,当值为 None 时,函数 localtime 自动获取当前戳,localtime(None) 等价于 localtim

2020-08-05 10:32:59 24

原创 2020年8月 PYPL 全球编程语言流行度排行榜火热出炉:Dart 连续三期进入前20,前三甲仍为 Python、Java、Javascript

Dart 连续三期进行前20,Ada 连续2期进入前20。以下为前20名排行榜

2020-08-03 14:07:48 85

原创 2020年8月TIOBE 全球编程语言热度排行榜火热出炉:Swift 本期未能保持第十名, Objective-C 再次进入前20,前三甲仍为 C、Java、Python

上期 Swift 排名第10, 本期未能保持,下降至第12名;Objective-C 再次进入前20,排名第19。以下为前20名排行榜

2020-08-03 14:04:13 88

原创 Ubuntu 软件包管理常用命令

命令描述apt-get update更新软件包列表apt-get install xxx安装软件包apt-get remove xxx卸载软件包apt-get purge xxx卸载软件包并移除配置文件apt-get purge --auto-remove xxx卸载软件包和依赖并移除配置文件apt-get autoremove移除没有使用的依赖...

2020-07-31 10:06:22 38

原创 不可不知的潮流文化、新词汇, 00后聊天词汇

SSMY=盛世美颜ZQSG=真情实感NSDD=你说得对CDX=处对象ZFWB=转发微博TCL=太惨了U1S1=有一说一ZZR=制作人HSBD=胡说八道

2020-07-07 12:46:44 1103

原创 2020年7月 PYPL 全球编程语言流行度排行榜火热出炉:PHP 下降至第6名,前三甲仍为 Python、Java、Javascript

C/C++ 上升至第五名,PHP 下降至第六名;上期 Perl 排名第20名,在本期未能保持,被 Ada 取代。以下为前20名排行榜

2020-07-06 13:38:44 167

原创 2020年7月TIOBE 全球编程语言热度排行榜火热出炉:Swift 进入前10,PHP 下降至第9名,前三甲仍为 C、Java、Python

R 语言战胜 PHP,排名第八;Swift 进入前10,排名第十以下为前20名排行榜

2020-07-06 13:31:22 216

原创 App Store 统计,截止2020年6月17日,iOS/iPadOS 各版本在所有设备中所占比例情况:iOS 13 为81%,iPadOS 为73%

iOS最近4年发布的 iPhone 设备中,92%的设备已更新至 iOS 13,7%的设备已更新至 iOS 12,仅2%的设备仍然使用 iOS 11 及更早的系统。在所有已发布的 iPhone 设备中,81%的设备已更新至 iOS 13,13%的设备已更新至 iOS 12,仅6%的设备仍然使用 iOS 11 及更早的系统。iPadOS最近4年发布的 iPad 设备中,93%的设备已更新至 iPadOS,5%的设备已更新至 iOS 12,仅1%的设备仍然使用 iOS 11 及更早的系统。在所

2020-06-20 13:35:33 275

原创 2020年6月 PYPL 全球编程语言流行度排行榜火热出炉:Go 领先 VBA,Perl 进入前20,前三甲仍为 Python、Java、Javascript

前20排名无变化以下为前20名排行榜

2020-06-02 10:13:23 253 1

原创 2020年6月TIOBE 全球编程语言热度排行榜火热出炉:R 上升至第9名,Rust 进入前20,前三甲仍为 C、Java、Python

Rust 进入前20,顶替了 Objective-C 的位置。以下为前20名排行榜

2020-06-02 10:00:05 1392

原创 Swift 基础教程:检测 API 可用性

检测 iOS API 可用性if #available(iOS 10, *) {// 在 iOS 使用 iOS 10 或之后的 API}检测 macOS API 可用性if #available(macOS 10.15, *) {// 在 macOS 使用 macOS 10.15 或之后的 API}检测 tvOS API 可用性if #available(tvOS 10, *) {// 在 tvOS 使用 tvOS 10 或之后的 API}检测 watchOS API 可用性

2020-05-21 14:52:20 66

原创 Swift 基础教程:repeat-while 循环

repeat-while 是在 Swift 中才有, Objective-C 时代没有的。repeat-while 和其他语言的 do-while 类似。var index = 10repeat { print(index)}while index < 8// 10while index < 10 { print(index)}// 无输出不管何种情况 repeat 肯定会执行一次,然后判断循环条件,这与 while 循环刚好相反,这在使用时需要注意。

2020-05-21 14:36:44 79

原创 Swift 基础教程:逻辑运算符(Logical Operators)

常用逻辑运算符(Logical Operators)逻辑运算符描述示例!逻辑非!a||逻辑或a || b&&逻辑与a && b逻辑非运算符逻辑非运算符运算符( !a )对一个布尔值取反,使得 true 变 false , false 变 true 。! 后面不能跟空格let status = trueif !status { print("it's error")}// continue逻辑或运算

2020-05-21 14:14:17 71

原创 Swift 基础教程:区间运算符

区间运算符(Range Operators)有2种闭区间运算符(n…m),n 不能大于 m,相当于数学的 [n, m]半开区间运算符(n…<m),相当于数学的 [n, m)区间运算符一般与 for-in 组合/// 闭区间运算符for index in 0...3 { print(index)}// 0// 1// 2// 3/// 半开区间运算符for index in 0..<3 { print(index)}// 0// 1// 2

2020-05-21 13:58:15 72

原创 Swift 断言调试,assert 函数

断言会在运行时判断一个逻辑条件是否为 true 。如果条件判断为 true ,代码运行会继续进 行;如果条件判断为 false ,代码执行结束,你的应用被终止。来看个触发断言示例let age = -1assert(age >= 1, "一个人的年龄必须大于0") // 因为 age < 0,所以断言会触发// assert(age > 0, "一个人的年龄必须大于0") // 因为 age <= 0,所以断言会触发如果你不需要断言信息,可以这样写let age =

2020-05-20 16:58:17 40

原创 Swift 元组(tuples)学习

元组(tuples)元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。在 Objetive-C 时代,并没有元组概念,在某些场景传递数据是很麻烦的,只能用数组/字典代替。在 Swift 时代,我们可以使用元组来描述一个网络请求错误let requetError = (404, "Not Found")print(requetError.0)print(requetError.1)一个元组里可以有多个元素,可以通过下标方式来访问元素,下标是从零开始的

2020-05-20 11:51:40 103

原创 Swift 学习,类型别名(type aliases),给现在有类型起别名, typealias 关键字

给 Int 起 别名typealias MyInt = Intlet num: MyInt = MyInt.maxprint(num)给 block 起 别名typealias MyBlock = () -> ()let myBlock: MyBlock = { print("this is block")}myBlock() // this is blocktypealias 关键字可以对所有类型起别名,比如 Float、Double、String 、Cocoa

2020-05-20 11:12:29 68

原创 Swift 学习,进制表示,十进制、二进制、八进制、十六进制

十进制,没有前辍let num1 = 16print(num1) // 16二进制,前辍 0blet num2 = 0b00010000print(num2) // 16八进制,前辍 0olet num3 = 0o00000020print(num3) // 16十六进制,前辍 0xlet num4 = 0x00000010print(num4) // 16

2020-05-20 10:45:12 75

原创 经典电影 IP,狄仁杰系列拍了多少网剧,院线又几何?盲目蹭 IP?

不完全统计(从2010年开始)电影名称上线年份备注狄仁杰之通天帝国2010院线狄仁杰之神都龙王2013院线狄仁杰之四大天王2018院线狄仁杰之无头神将2018网剧狄仁杰之夺命天眼2018网剧狄仁杰之西域妖姬2018网剧狄仁杰之蚩尤血藤2018网剧狄仁杰之异虫谜案2018网剧狄仁杰之轮回图2018网剧狄仁杰之幽冥道2018网剧狄仁杰之天神下凡2018网剧狄仁杰探案2020网

2020-05-19 11:59:39 144

原创 陈情令 经典台词、优美台词之一

我想带一人回云深不知处,带回去,藏起来

2020-05-19 11:12:03 38

原创 湖南卫视 我家那 系列猜想,未来系列

闲着无聊啥想我家那闺女我家那小子我家那闺女两口子我家那小子两口子我家那闺女的闺女我家那小子的小子。。。

2020-05-17 13:01:07 122

原创 macOS 升级到10.15后,macOS 10.15 定时任务 cron 失效,不执行问题解决方法

这是由于 macOS 10.15 采用新的磁盘访问控制方式,导致 cron 无磁盘访问权限,无法执行脚本,给 cron 添加磁盘访问权限就好了。系统偏好设置 > 安装性与隐私 > 完全磁盘访问权限 > 把 /usr/sbin/cron 拖进去就好不明白的看下面动画...

2020-05-16 19:01:08 272

原创 App Store 统计,截止2020年1月27日,iOS/iPadOS 各版本在所有设备中所占比例情况:iOS 13 为70%,iPadOS 为57%

在所有设备中,iOS 13 占70%,iOS 12 占23%,iOS 11 及之前版本占7%。在所有设备中,iPadOS 占57%,最近4年推出的设备中占 79%,iPadOS 是苹果于2019年6月4日推出。开发中适配到 iOS 11 基本上也够了,狠一点的话,iOS 11 也可以放弃了...

2020-05-15 11:44:23 477

原创 2020年5月 PYPL 全球编程语言流行度排行榜火热出炉:Python 语言夺冠,前三甲为 Python、Java、Javascript

与2019年同期相比,前9名排行无变动,TypeScript 进入前10名,Dart 进入前20名也是上升最快的语言以下为前20榜单

2020-05-15 11:10:11 233

原创 2020年5月TIOBE 全球编程语言热度排行榜火热出炉:C语言夺冠,前三甲为 C、Java、Python

与2019年同期相比,Swift/Go 上升最快,都提升了7个名次;Objective-C 下降最快,由11下降到了20。以下为前20榜单

2020-05-15 10:56:19 512

原创 土味情话,提升情商,几句话秀恩爱,如何聊天不枯燥,套路美眉

GG: 我怎么觉得你有点怪MM: 哪儿怪呀GG: 怪可爱的GG: 我觉得你是太阳,而我是冰淇淋MM: 为什么呢GG: 你把我融化了GG: 你属什么的MM: 我属牛的,你属什么的呀GG: 我属于你GG: 你喜欢小猫还是小狗MM: 小狗GG: 汪汪汪!!!GG: 我不想喝这个MM: 那你想喝什么呀GG: 我想呵护你...

2020-05-15 10:21:19 541

原创 Xcode 模拟器(Simulator)进行录屏,保存成mp4格式

打开模拟器后,在命令端输入以下命令xcrun simctl io booted recordVideo --type=mp4 myRecord.mp4按Enter后即对模拟器录屏,录屏文件(视频文件)保存在当前目录下.如果想结束录屏,在命令端按CONTROL+CmyRecord为自定义保存文件名称....

2020-05-14 16:57:49 134

原创 Xcode 跑模拟器(Simulator)出现Pseudo Terminal Setup Error错误的解决方法

今天在做项目,运行到模拟器上突然出现如下错误,做iOS那么多年,第一次遇过此错误,最初想重置Simulator应该能解决该问题,结果发现是我想多了,还是乖乖去百度一下,还是找到解决方法了。在终端执行以下命令sudo sysctl -w kern.tty.ptmx_max=999按Enter后输入电脑密码再按Enter...

2020-05-14 16:55:45 54

原创 _OBJC_CLASS_$_XXX,referenced from: objc-class-ref in xxxxx.o 解决方案

先上个错误截图上面的意思是找不RSAEncryption的实现文件(.m文件)解决方案点击+号添加相应的.m文件就行了,上面错误应该添加的是RSAEncryption.m文件

2020-05-14 16:52:25 122

原创 解决Xcode simulator不显示具体版本号问题

在电脑上安装多个版本Xcode时,有时会导致simulator不显示具体版本号,而是显示一串长长字符串解决方案如下1.彻底关闭Xcode跟模拟器2.打开终端输入以下命令sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService按Enter后需要输入电脑登录密码3.接着输入以下命令rm -rf ~/Library/Developer/CoreSimulator/Devices4.重启Xcode。...

2020-05-14 16:50:09 93

原创 PCH was compiled with module cache path XXXX, but the path is currently XXXX 解决方法

解决步骤:关闭你的项目,关闭Xcode打开终端执行下面命令 rm -rf ~/Library/Developer/Xcode/DerivedData/打开你的项目,清理(Clean)一下项目,然后Build

2020-05-14 16:47:12 59

原创 git 使用教程,如何将本地仓库关联到远程仓库

前提描述远程仓库初始化好本地已有一个项目本地项目不是 git clone下来的如何将本地项目与远程仓库关联进入项目根目录,依次执行以下命令git init // 为项目初始化一个git本地仓库git remote add origin remoteURl// 为本地仓库添加远程仓库地址(remoteURl)git checkout -b master// 创建并切换到master分支git add *// 添加所有新文件/目录到暂存区git commit -m "一

2020-05-14 16:35:11 72

原创 macOS中SSH公钥配置(github、Coding)

目录生成公钥使用GithubCoding生成公钥打开命令行终端输入下面命令(以 my_email@icloud.com 邮箱为例)ssh-keygen -t rsa -b 4096 -C "my_email@icloud.com"按Enter后提示输入公钥/私钥保存的名称(如下图)输入 my_rsa 按Enter(可直接按Enter,终端提供默认名称),提示输入公钥/私钥密码(如下图)按Enter后提示再次输入公钥/私钥密码(如下图),按Enter后,生成公钥/私钥成功(如下图)使

2020-05-14 16:28:48 111

原创 Shell 基本运算,数字加减乘除,数字大于小于等于判断

加减乘除运算符描述+加法-减法*乘法/除法%求余代码示例#!/bin/bashnum1=10num2=9num=$(($num1 + $num2 - 10)) echo $num # 9num=$(($num1 - $num2 * 9 + 100))echo $num # 29num=$(($num1 / $num2 + 9))echo $num # 10num=$(($num1 * $num2 / 45 + 2))

2020-05-14 16:14:24 138

原创 Shell 遍历目录下的文件,文件读取方式,2种简单的读取方式

遍历某个目录下所有文件#!/bin/bashfor file in $folder/*do echo $filedone遍历某个目录下所有 txt 文件#!/bin/bashfor file in $folder/*.txtdo echo $filedone文件读取#!/bin/bash# 方式1cat "$filepath" | while read linedo echo $linedone# 方式2while read lined

2020-05-14 09:53:58 243

提示
确定要删除当前文章?
取消 删除