最近阅读 Swift 结构体何时使用 mutating 函数 2020 年疫情之下 iOS 面试题总结篇 UML类图几种关系的总结 前言 最近我们部门重新定义了一下应用更新的接口,使用到的主要加密方式主要有 HMAC SHA1 加密和 MD5 加密。 HMAC SHA1 加密 HMAC SHA1 加密的方法是在 Stack Overflo…
最近阅读 通过枚举在 Swift 中实现 UIAlertController 的复用性 一文看破Swift枚举本质 十大经典排序算法(动图演示) 为什么人会变成「工作狂」?这算不算一种上瘾行为? 一、计算蓝牙设备距离 被问到如何计算蓝牙设备距离的,之前有做过大概是通过设备信号量强弱通过计算,得出距离。这里总结一下。 基于上述逻辑,我们只要…
一、背景 迭代项目的时候碰到一个问题, 原因是负责的内容有一项是封装各大 AI 开放平台的 SDK 集成到一个 SDK 里,然后输出统一的接口,目的是为了可以在不同的 AI 中快速切换并使用。但由于之前输出给了兄弟公司使用,他们在一个音乐 SDK 中用语音 SDK 实现语音点歌的功能。然后当我的主应用同时使用两个 SDK 时,由于音乐 S…
在调试一个项目中包含库工程的工程时发现,平常在代码视图左侧点击添加断点调试,忽然发现不起作用了,然后尝试使用了一些不同的方法去解决,虽然最后仍然是通过开关机,重启 Xcode 的方式解决问题的,但那些尝试也在过程中期起到了排除问题的作用,记录一下其中用到的符号断点的用法。 一、介绍 Symbolic Breakpoint 为符号断点,可以…
Spec Repo(配置仓库)的概念 CocoaPods 对于一名 iOS 开发来说再熟悉不过了,它的工作原理就是在 GitHub 上面有个 Spec Repo,它里面包括成千上万的后缀名为 .podspec 的文件。我们在项目中集成第三方库(如 SDWebImage )的时候其实就是通过 CocoaPods的 Spec Repo 去找到…
First at all 首先先介绍一下 fastlane 是干嘛用的: Fastlane 是一套使用 Ruby 写的自动化工具集,旨在简化 Android 和 iOS 的部署过程,自动化你的工作流。它可以简化一些乏味、单调、重复的工作,像截图、代码签名以及发布 App。 然后这篇文章主要介绍的是 fastlane 里面其中一个工具——s…
一、前言 在维护一个项目时碰见一个问题,调用了一个方法后不起作用,这种问题一般有两个解决思路,一个是看方法有没有起作用,另一个是看是不是其他的方法打断了这个方法,比如设置 UIButton 的隐藏,但在另一个地方,又把它设置成显示了。这种问题在工程里通过调试代码一般都很好解决。 但是当它发生在我调用了一个 SDK 方法不起作用时,按照上文…
下午在测试一个语音 SDK 的时候,发现打印出来字典里的中文汉字都显示为 UTF-8 的字符,百度了一下解决办法,发现大都是用给 NSArray 和 NSDictionary 创建分类的方法解决的,但是很多文章可能是写的匆忙,或者是复制粘贴的,不够美观和一目了然。而且创建分类的方式,对比我以前用小码哥的一个类来说,多了一个 .h 文件,不…
规范文档翻译自 raywenderlich.com 的编码规范 语言 应该使用US英语. 应该: 1 UIColor *myColor = [UIColor whiteColor]; 不应该: 1 UIColor *myColour = [UIColor whiteColor]; 代码组织 在函数分组和protocol/delegate实…
* 由于公司的一个项目屡次出现 Guideline 4.3 - Design 审核被拒问题,想着能最大程度的解决这种问题出现,就去了解了一下怎么给项目增加垃圾代码以通过审核,这里给大家推荐两种。* 一、用 Python 生成垃圾文件 1.第一步:首先生成一个500位的数组 驼峰类型的元素 用作文件名 eg:AsdfdfGsd Python…