- 博客(38)
- 收藏
- 关注
原创 Swift 便捷工具库(一)
swift_iosdev在实际的App开发迭代过程中,为了提高代码的复用率和提升开发效率,我们经常会在项目中设计一些工具类、扩展和模块化组件。为了让大家进一步解放双手,今天推荐一款 Swift 便捷工具库-CXSwiftKit。预览更多内容需要你来探索。IMG_0717.gif如果觉得还行呢,就麻烦顺手给个star特色ApplePay(可选):用于苹果支...
2024-04-23 20:20:57 577
原创 谈谈如何使用Swift写出iOS断点续传下载大文件
本篇讲述实现iOS文件下载功能,包含大文件下载,后台下载,杀死进程,重新启动时继续下载,设置下载并发数,监听网络改变等。预览效果IMG_0686.gif附上Demo地址,如果觉得还行呢,就麻烦顺手给个star。下载功能的实现使用的网络连接的类为URLSession。在iOS7时推出,至此iOS系统才有了后台传输。在初始化URLSession前,需要先创建URLSessionCo...
2023-09-09 08:36:24 171
原创 在GitHub上快速搭建属于自己的个人博客
创建 GitHub 账号有一个 GitHub 账号可以跳过这步,没有的话去注册一个。1、注册的具体步骤如下:进入 GitHub 官网:https://github.com/点击注册按钮:点击右上角的 “Sign up” 或者下方的 “Sign up for Github”。输入用户名 “Username”、邮箱地址 “Email address”、密码 “Passport”,...
2020-07-12 23:37:18 71
原创 苹果 iOS14 正式发布:80多项更新、续航有亮点
苹果最新的移动操作系统,在2020年6月23日凌晨,终于和我们见面了,没有和网上说的更名为 iPhone OS,还是叫做 iOS14,但这次还是带来了不少的更新内容,包括 App 资源库、小组件、悬浮来电等80+项的新功能和新特性。废话不多说,大家直接往下看。更新内容1、UI 界面微调、动画明显更流畅、新壁纸。2、App 资源库,可以智能地对所有的 App 进行分类。...
2020-06-23 23:51:51 58
原创 iOS 多线程技术导图
iOS多线程技术导图了解更多 iOS 多线程技术,点击阅读以下文章iOS 多线程技术深度解析最浅显易懂的iOS多线程技术 - GCD的教程声明:iOS 多线程技术思维导图并非本人所创,仅整理一些开发技能知识,以作存档用于学习。...
2020-06-23 18:25:13 41
原创 Flutter 开发 Http dio 网络库的封装以及使用
配置1、打开项目中 pubspec.yaml 文件2、找到 dependencies (第三方框架管理)在 dependencies 下面添加 dio: ^1.0.0 或 dio: 1.0.0(具体格式:name:^+version),如下图所示pubspec dependencies封装http_utils - A HTTP tool to rece...
2020-06-12 08:00:27 31
原创 Flutter 开发必须知道的几个学习网站
Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android 平台。 Flutter 提供了丰富的组件、接口,开发者可以很快地为 Flutter 添加 native 扩展。同时 Flutter 还使用 Native 引擎渲染视图,这无疑能为用户提供良好的体验。在科技...
2020-06-10 14:39:06 26
原创 Swift 常见内置函数
Swift包含了74个内置函数,这里针对几个我常用的内置函数做一些总结。(内置函数是指无需引入任何Module就可以直接使用的函数)1.断言 assert,如果参数为 ture,则继续,否则抛出异常> 示例let num = 3//第一个参数为判断条件,第二各参数为条件不满足时的打印信息assert(num > 3,"num 不大于 3")//如果断言被触发(num &...
2020-06-06 23:58:28 51
原创 Swift GCD 和 DispatchQueue 使用解析
iOS 中处理多核并发的技术主要使用以下两种:Grand Central Dispatch(以下简称 GCD)NSOperationQueue在 iOS 程序开发中处理多个任务同时执行的时候,老司机们一定都会使用到这两个框架,而且 GCD 依靠它简洁的语法和对 block 的运用一直很受大家的青睐。iOS 开发中你一定明白这样一条原则:”任何用于界面 UI 刷新和用户交互的操作...
2020-06-06 22:12:02 50
原创 教你快速使用 SwiftUI 开发 App
SwiftUISwiftUI 是一种非常简单的创新方法,可以利用 Swift 的强大能力在所有苹果设备平台上构建用户界面。通过 SwiftUI,开发者仅使用一组工具和 API 就能为所有苹果设备构建用户界面。SwiftUI 使用易于阅读和编写的声明式 Swift 语法,可与新的 Xcode 设计工具无缝协作,使你的代码和设计完美同步。SwiftUI 自动支持动态类型、深色模式、本地化和...
2020-06-06 21:49:04 32
原创 Flutter 开发常用加密算法的实现
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。空间复杂度 (S...
2020-06-06 21:42:22 278
原创 编写第一个 Flutter App
在浏览本篇文章之前,首先推荐一个学习项目 grab_ethtoken_info ,使用技术:dio 网络请求以及封装、sqflite 数据库使用以及封装、Html 网页标签解析、Route 路由切换、MVC 架构模式等。这是创建第一个 Flutter 应用程序的指南。如果你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本教程,你无需要了解 Dart 或拥有移动开发的经验。第...
2020-06-06 21:40:35 38
原创 Flutter 开发 IDE 环境的详细配置
Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作。在全世界,Flutter 正在被越来越多的开发者和组织使用,并且Flutter 是完全免费、开源的。Dart 是一种针对 web 和移动设备开发进行了优化的编程语言。基于 Dart 的以下特点,您可以通过它在不同的设备上创作...
2020-06-06 21:34:26 35
原创 iOS Crash 闪退日志详细解析教程
前言查看闪退日志的步骤:(1)获取闪退日志(2)获取 symbolicatecrash 脚本(3)获取闪退日志对应的符号表(.dSYM 文件)(4)解析闪退日志苹果官网关于应用程序崩溃的介绍https://developer.apple.com/library/content/technotes/tn2151/_index.htmlUnderstanding and Analyz...
2020-06-06 21:29:36 55
原创 Swift 和 Objective-C 单例模式详解
单例模式要求一个类有一个实例,有公开接口可以访问这个实例。单例模式分为以下两种模式:严格单例模式严格单例模式,要求一个类只有一个实例。不严格单例模式不严格单例模式,可以创建多个实例。有的类只能有一个实例,例如 UIApplication 类,通过 shared 属性访问唯一的实例,属于严格单例模式。废话不多说,接下来看看 Swift 和 Objective-C 的每...
2020-06-06 21:29:25 29
原创 iOS 多线程技术深度解析
一、多线程概念1、进程一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个在系统中正在运行的应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。2、线程程序执行流的最小单元,线程是进程中的一个实体。一个进程要想执行任务,必须得有线程(每1个进程至少要有1个线程,称为主线程),一个进程(程序)的所有任务都在线程中执行。3、进程和线程的...
2020-06-06 21:27:03 34
原创 iOS13 深色模式与浅色模式适配讲解
iOS 132019年6月4日凌晨,苹果在开发者大会上推出了新一代手机操作系统 iOS 13,主要更新了照片应用、滑动输入和更多动画表情,还有就是增加了”深色模式“,优化了音量的调节方式。深色模式”终于来了“。在所有关于 iOS13 的更新项目里,“深色模式”是网友讨论最多的。该模式可以根据日出日落时间自动开启,开启后,不只有壁纸,所有的系统元素都会变成暗色,起到在夜里降低屏幕亮度...
2020-06-01 00:00:10 70
原创 如何轻松搞定 iOS 内购配置
配置流程一个开发者账号首次配置 内购(In-App Purchase) 的新项目,必须先签署 Paid Applications Agreement(《付费应用程序协议》)一、填写协议、税务和银行业务1、登录 https://appstoreconnect.apple.com,进入App Store Connect。2、进入“协议、税务和银行业务”选择进入协议、税务...
2020-05-31 23:59:37 57
原创 iOS13 快速读懂深色模式 API
Dark Mode大概一年多以前,Mac OS 系统发布了深色模式外观,看着挺刺激,时至今日用着也还挺爽的。终于,随着 iPhone11 等新手机的发售,iOS 13 系统也正式发布了,深色模式也出现在了大众视野。我们这些 iOS 程序猿也有事情做了,原有项目适配 iOS13 系统,适配深色模式 ( Dark Mode )。Apps on iOS 13 are expected...
2020-05-27 23:50:59 26
原创 手机访问网络特慢且有时无法加载内容,配置好 DNS 完美解决
DNS 是什么?DNS 简单说就是把你能看懂的域名(例如:jianshu.com)转换成对应的 ip 地址,如果没有 DNS,我们就找不到服务器,网络中连接和传输都是通过 ip+port 的方式确定一个资源的位置。所以,我们输入域名,实际上网络并不认识它,这里就需要 DNS 服务器帮忙把域名兑换成 ip。DNS 作用是什么?使用公共 DNS 解析服务后,让网上冲浪更加稳定、快速、安...
2020-05-21 23:54:23 14
原创 详解 Keychain 和 App 之间数据共享
Keychain ServicesKeychain 介绍Keychain Services 是 macOS 和 iOS 都提供一种安全地存储敏感信息的工具,比如:”网络密码:用于保存访问服务器或者网站,通用密码:用来保存应用程序或者数据库密码“。与此同时,用于认证的证书、密钥和身份信息,也可以存储在 Keychain 中。Keychain Services 的安全机制保证了存储这些敏...
2020-05-14 23:36:58 27
原创 iOS 内购:请你一定要读完,再也不怕踩坑了
什么是内购?内购(In-App Purchase),顾名思义就是在应用内购买。在了解完其含义后,我们还需知道内购(In-App Purchase) 和 苹果支付(Apple Pay)的区别。苹果支付(Apple Pay):是一种支付方式,跟支付宝、微信支付是类似的,这里就不详细介绍了。内购(In-App Purchase):只要在 iOS/iPadOS 设备上的 App 里购买非...
2020-05-14 23:19:19 118
原创 谈谈一款好用的iOS视频播放器
编写这款播放器的目的是将下载好的电影、电视剧和动漫等视频同步到这款APP里观看,节省运营商移动数据流量。特点支持M4V、WMV、MP4、MOV、AVI、MKV、FLV、RM、RMVB等主流媒体格式支持HTTP、RTMP、RTSP、HLS等流媒体播放支持WiFi传输,可以享用WiFi文件传输服务和本地观看视频支持使用ijkplayer、zfplayer播放视频支持网页动态解析...
2019-10-13 23:10:05 30
原创 iOS 如何发布自己的 CocoaPods 公开库?
前面文章已经介绍了安装 CocoaPods 及使用详解,这一篇文章主要教大家制作自己的 CocoaPods 公开库,下面以 iOS 客户端 (DYFToast) 为例,做一个详细说明。如果你是第一次发布自己的 CocoaPods 公开库,你就需要注册一个 trunk 账号。以下是 trunk 的相关内容。一、Trunk注册 Trunkpod trunk register root921...
2019-08-25 20:58:32 9
原创 git 和 pod 常用命令
在 CocoaPods 创建自己的公开库和私有库时,我们会经常使用到 git 和 pod 命令,以下是我创建公开库和私有库过程中常用到的一些命令,希望这些能够帮助到您。git 命令mkdir xx #创建一个空目录,xx指目录名pwd #显示当前目录的路径。cat xx #查看xx文件内容git --help #帮助命令# git global setupgit config -...
2019-08-25 17:56:19 77
原创 安装 CocoaPods 及使用详解
cocoapods 官网:https://guides.cocoapods.org一、什么是 CocoaPods每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。CocoaPods 项目的源码在 Github 上管理。...
2019-08-20 23:50:41 86
原创 iOS 快速自定义二维码/条码扫描组件
在 iOS 开发中,我们经常会使用到二维码/条码扫描功能,为了提高开发效率和方便各位小伙伴快速使用,我专门写一个 DYFCodeScanner 类,请先来看看效果:效果图Code Scan PreviewDYFCodeScanner 具备二维码和条码扫描功能,有一套自定义的扫描动画以及界面,支持相机缩放,还可以生成和识别二维码,使用起来很方便。安装支持通过 CocoaPods...
2019-08-12 23:49:47 197
原创 如何轻松应对大厂 iOS 面试
相信很多 iOS 程序猿都有进入 BAT、字节跳动、美团、京东、小米、网易、360、58、滴滴、Sina、携程、Qunar 等大厂的梦想,进入唯一途径就是通过面试,面试的关键就是硬实力,也就是知识储备和行业工作经验。工作经验是通过入厂和社会实践获得,知识储备就是通过各种学习慢慢积累。我从数据结构、算法、Foundation、UIKit、WebView、内存管理、消息传递的方式、消息传...
2019-08-11 23:54:53 22
原创 谈谈 iOS 中对图像的模糊处理
在 iOS 开发中,我们经常会遇到给图像添加蒙版、模糊效果或者毛玻璃处理,为了提高开发效率和方便各位小伙伴使用,我专门写一个 DYFBlurEffect 类,先来看看效果。预览Blur Effect PreviewDYFBlurEffect用一行代码就可完成对图像的模糊处理,并支持系统 UIVisualEffectView,使用起来很方便。接下来一起阅读它的使用说明:使用说明...
2019-08-08 23:12:15 75
原创 iOS 链式编程之仿真安卓 Toast
做过安卓开发的人都知道 Toast,它会在界面上显示一排黑色背景的文字,用于提示用户信息,但 iOS 并没有类似的控件,所以,今天我就来讲讲在 iOS 上如何仿安卓 Toast?原理说白了,安卓中的 Toast 可以理解成 iOS 中的一个黑色背景的 UILabel 或者 带点击事件的 UIButton,并还可以自己设置背景颜色、文本颜色、位置、边角大小,边框线条宽度和颜色等等。说了这么多,...
2019-08-08 22:24:34 186
原创 深入理解 Apple RunLoop
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,本文将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念和底层实现原理。然后,讲解一下在 iOS 中苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能。内容概述RunLoop 的概念RunLoop 与线程的关系RunLoop 对外的接口RunLoop 的 Mode...
2019-07-26 23:56:08 26
原创 Github 优秀开源项目大全
在互联网飞速发展的今天,相信很多程序开发者对 GitHub 很熟悉,我们在这里学习知识、分享自己的开源库或者开源代码、寻找良好的框架或解决方案和帮助其他开发者答疑解惑。既然我们在 GitHub 上做了这么多事情,我们就来思索一下,在 GitHub 上有哪些值得关注学习的开源项目呢?不知道的没有关系,在这里我汇总了许多 Github 优秀开源项目 和主流开发使用的网站、解决问题方案收...
2019-07-24 23:46:13 816
原创 iOS逆向学习:免越狱给微信添加新功能
最近对 iOS 逆向很感兴趣,想学习下如何通过逆向app、分析源码、注入动态库的方式来给其它 app 添加一些酷炫的功能。于是我决定先从微信开始,希望通过做笔记的方式,巩固自己学过的知识,以及分享这些知识给其他对此感兴趣的人。说干就干,逆向工程哪是那么容易的一件事。首先,我们要从一些优秀书籍和一些大神的博客中学习基础知识。有了一定的基础之后,于是我在我的学习地将学习过程写了下来。首先...
2019-07-23 21:25:06 220
原创 谈谈 iOS 应用中的 IM 开发
IM SceneIM 的实现方式使用第三方 IM 服务在国内有很多的 IM 第三方服务商,底层协议基本上都是基于 TCP 的,例如:"网易云信、环信、融云、极光 IM、LeanCloud、云通信(腾讯)、云旺(阿里)、容联云、小能、美洽等等",技术也相对比较成熟,提供后台管理和定制化的 UI,半小时可集成。缺点也很明显:定制化程度太高,需要二次开发,很多东西我们不可控,关键是...
2019-06-26 21:34:09 55
原创 怎么在 Mac 上将视频文件转成 gif 文件?
在 Github 上,我发现很多开源库的 README 里都有 gif 文件,平时聊天我也发现经常有些小伙伴发一些自制的 gif 文件。怎么将 mov,mp4 等其他格式的文件转为 gif 文件呢?网上有很多介绍各种软件的,大家可以去搜索一下。我今天给大家讲讲怎么用 终端+命令行 的方式实现 mov/mp4 等其他视频格式转成 gif 文件。安装在执行转换命令之前,我们得先安装几个软件包。...
2019-06-25 08:09:06 53
原创 iOS 运行时 Runtime 运用解析
在 iOS 开发中,我们可能会使用 Runtime 来解决问题,当然我们可能都接触过 Runtime,有的小伙伴已经很熟悉了,有的小伙伴也可能不是特别清楚,为了让小伙伴们更好地使用 Runtime,我对 Runtime 做了一个小小的封装,先看一下效果吧。Runtime 运用使用说明导入头文件#import "DYFRuntimeWrapper.h"Runtime 应用介...
2019-06-24 23:57:42 68
原创 消除 iOS 代码中的警告
在 iOS 开发过程中,我们可能会碰到一些警告,例如:系统弃用方法,没有实现的 selector 等一些警告。对于有强迫症的程序猿来说,十分不能忍受,那么我们今天就来解决它吧!基本语法#pragma clang diagnostic push#pragma clang diagnostic ignored "-相关命令"// 要消除警告的代码#pragma clang diagno...
2019-06-24 13:34:32 407
原创 手把手教会你用 Markdown 写作
Markdown 是一种「电子邮件」风格的「标记语言」,我强烈推荐所有写作者学习和掌握该语言。为什么?可以参考:「为什么作家应该用 Markdown 保存自己的文稿」「Markdown写作浅谈」在此,我总结 Markdown 的优点如下:纯文本,所以兼容性极强,可以用所有文本编辑器打开。让你专注于文字而不是排版。格式转换方便,Markdown 的文本你可以轻松转换为 html、电...
2019-06-09 17:58:38 12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人