自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏天然后的技术专栏

如有问题需要帮助 请微博联系@夏天是个大人了

  • 博客(200)
  • 资源 (6)
  • 收藏
  • 关注

原创 Mac source tree 重新输入密码验证

打开应用程序》实用工具 》钥匙串访问在右侧栏目找到对应的key 然后清楚重新去拉取或者推送代码即可重新登陆

2023-04-19 14:17:02 234

原创 iOS 动画 swift 实现直播中状态动画

前言: 这是一个直播中状态动画的一个简单实现使用 swift, 老规矩 Demo 放在最后。

2023-02-08 14:13:00 363

原创 macOS 配置flutter 环境

flutter 中文网 https://book.flutterchina.club官方 :https://docs.flutter.dev/get-started/install/macos (本文基于此)

2023-01-31 14:43:23 846

原创 ruby 给钉钉群发消息

其中 Curl 是一个常用的命令行数据传输工具,可以方便的从命令行创建网络请求。它支持众多协议,支持如 HTTP, HTTPS, FTP, FTPS, SFTP, IMAP, SMTP, POP3 等等协议。Curl 提供了很多强大的功能,我们可以利用它来进行 HTTP 请求、上传/下载文件等,且支持 Cookie、用户密码验证、代理隧道、限速等。上篇说到我用一个 ruby 程序, 自动导出了一个表, 之后我发一条消息到钉钉群, 告诉大家, 表已经导出成功, 请查看桌面。这里我用来发一个HTTPS 请求。

2023-01-31 14:39:50 401

原创 flutter 作为模块引入 iOS 项目

前言: 上篇我讲了下 flutter 环境在 MacOs 下搭建, 今天写下如何在一个成熟的 iOS 项目内引用 flutter, Demo 会放到文章最后哈。之后重新安装 pod, 就会在项目里面成功引用了 flutter 相关的包, 如下图所示。新建一个 Podfile, 然后进行编写, 之后安装。问题 Specs satisfying the。在项目内创建一个 flutter 模块。修改 Xcode 配置, 再次安装。书写, 测试 flutter页面。创建一个 flutter 模块。

2023-01-28 19:12:24 1185 3

原创 ruby 教程之网络请求数据后导出 excel

此脚本的目的, 就是为了导出一个用户下所有库(repo)详细信息的一个excel表。此脚本运行需要申请一个 github api token, 请参照前面几篇文章。此脚本的使用也很简单如下图。

2023-01-17 22:54:40 141

原创 iOS 使用信号量实现多层循环的网络请求

信号量, 同步执行

2023-01-13 20:44:25 765

原创 iOS ReplayKit 屏幕共享,屏幕直播实现

使用replayKit iOS12 之后相关 api 完成系统/app 内 屏幕采集直播视频数据, 采用 socket进行进程间Broadcast Unload Extension 向 宿主 app 传输数据, 后台保活持续采集屏幕数据, 摄像头采集, 数据编码解码编译环境 Xcode14.2, iOS12。

2023-01-09 17:57:15 857

原创 gitlab 配置 ssh key [备忘]

gitlab 添加 ssh key

2023-01-06 10:54:45 200

原创 Swift UIStackView 的使用简单示例

使用 UIStackView布局如图中红框内所示样式的一个布局技巧。

2022-07-27 16:58:42 997

原创 Swift Codable: 服务端新增枚举类型解析失败?

前言: 服务端新增枚举类型, 客户端数据解析失败如何解决?首先定义一个枚举类型, 准备在 model 中使用/// 交易类型enum TradeType: Int, CaseIterable { /// 普通商品交易进账 case generalIncome = 1 /// 提现成功 case withdrawSuccess = 2 /// 提现中 case withdrawing = 5 /// 提现失败 case with

2022-05-06 13:59:24 557

原创 Swift 5.6 特性

Swift 5.6 特性不可用条件(#unavailable)#available 用于根据不同的平台、版本进行条件编译:if #available(iOS 15, *) { // 通配符 * 表示 Apple 所有平台,如果是 iOS,则要求 >= 15} else { // iOS 15 以下}Swift 5.6 引入了 #unavailable ,它和 #available 的意思正好相反,下面的示例和上面示例中的 else 分支表达的意思是一样的。if #unavai

2022-04-06 22:29:09 3156

原创 iOS 模块化 podspec 文件编写

Pod::Spec.new do |s|s.name = "DJLogin"s.version = "0.0.1"s.summary = "DJLogin"s.description = <<-DESCA longer description of DJLogin in Markdown format.* Think: Why did you write this? What is the focus? What does it d

2022-03-29 18:43:00 2040

原创 Swift高阶函数-Map、Filter、Reduce

Swift高阶函数-Map、Filter、Reducemap:对给定数组每个元素,执行闭包中的映射,将映射结果放置在数组中返回。flatMap:对给定数组的每个元素,执行闭包中的映射,对映射结果进行合并操作,然后将合并操作后的结果放置在数组中返回。compactMap:对给定数组的每个元素,执行闭包中的映射,将非空的映射结果放置在数组中返回。compactMap对给定数组的每个元素,执行闭包中的映射,将非空的映射结果-键值对放置在字典中返回。filter:对给定数组的每个元素,执行闭包中的操作,将

2022-02-28 17:04:20 374

原创 iOS15 切换上架App图标的最新方案

iOS15 切换上架App图标的最新方案前言: Xcode13以及iOS15发布之前,Apple其实已经支持在应用内切换图标了,通过将不同的ICON图标打到包内,并手动配置,然后通过业务代码修改ICON。当时的应用场景主要是提供给用户主动切换不同的图标,更换成自己喜欢的图标风格。iOS15之后,苹果支持将上线AppStore的包进行图标切换,目的是根据不同的图标判断用户转化。因此在Xcode13之后,多ICON的设置方法由之前的手动配置,改成了更加方便的配置方式。新方案: 在assets内新增图标项目

2022-01-30 13:02:46 1874

原创 canvas指纹(帆布指纹)

canvas指纹的探索文章目录**canvas指纹**的探索帆布指纹介绍1. 什么是帆布指纹2. 帆布指纹作用3. 工作原理是什么4. 为什么这个hash值能够唯一标识一个浏览器呢?5. 是百分百准确吗?6. 实现7. 总结8. 测试报告前言 : 一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Cookie技术是非常受欢迎的一种。当用户访问一个网站时,网站可以在用

2022-01-10 17:18:57 2928

原创 Swift 基础组件之像素转 Point

import Foundationpublic extension Float { /// 像素值转 point 值 var px: CGFloat { kAdapt(CGFloat(self)) }}public extension Double { /// 像素值转 point 值 var px: CGFloat { kAdapt(CGFloat(self)) }}public extension Int {

2021-11-25 14:58:24 1749

原创 iOS UITableview 在有 HeaderView的时候滚动到顶部

private lazy var tableView = UITableView().then { $0.backgroundColor = UIColor.black.withAlpha(0.6) $0.dataSource = self $0.delegate = self $0.register(AuctionCraftsRelateCell.self, forCellReuseIdentifier: "AuctionCraftsReco

2021-09-09 19:06:51 659

原创 在 Xcode 查看每行代码的作者

点击箭头区域, 点击弹出视图中的 Authors显示 summerxx 对这行代码进行了编辑修改

2021-07-13 18:04:43 2444

原创 iOS 模块化工程 swift 与 objc 混编遇到的问题

Swift 文件引用 Objc 模块Objc 模块第一次引用 创建Swift文件, pod install 之后 原 #import 引用的类, 也需要改成下面的这种形式/// 需要Swift @import @import DJHome/// 需要在 Objc@import DJHome;swift 创建的类, 在 oc 中引用swift 创建的类 要声明 public@objc(DJAuctionFullReduceCouponView)public class Auctio.

2021-06-22 17:32:57 296

原创 iOS 项目从 ReactiveSwift 迁移到 openCombine

为什么是 Combine?1. 官方支持苹果于 2019 年 6 月对外发布了 Combine 框架,至今已经过去快两年时间,做为 SwiftUI 的御用数据流管理框架,基本不太可能在未来被抛弃。网上对它的实践经验也有不少,所以使用时机已基本成熟2. UI 框架的结合无论是 Reactive 还是 Rx,它们的设计出发点都是针对 UIKit 的,而 Combine 是为了 SwiftUI 而生,在声明式 UI 开发时更有先天优势3. 性能优势虽然 Reactive 和 Rx 都被极尽优化了,但.

2021-06-15 15:07:13 693 4

原创 The sandbox is not in sync with the Podfile.lock

command+Q 退出 Xcode,重新执行pod install,之后再重新打开Xcode运行。

2021-06-01 10:09:11 369

原创 iOS UICollectionView 添加 headerView 分组后滚动到指定的section

方案 1UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:DJSection]]; CGRect rect = attributes.frame; [self.collectionView setConten

2021-05-28 16:03:30 535

原创 iOS 14 UICollectionViewCell 相关

前言: Apple 为iOS14 引入了新的API—UICollectionViewListCell 下面进行简单介绍UICollectionViewListCell需要配合iOS13中推出的UICollectionViewCompositionalLayout、DiffableDataSource等搭配使用这次的更新是使用UICollectionViewListCell,可在UICollectionView中实现UITableView样式的UI布局, 过去麻烦的自定义展开收起操作,现在只需要对数据源进

2021-05-27 16:32:50 726

原创 Xcode12.5 新特性介绍

前言随着 iOS 14.5 RC 版的发布,Xcode 12.5 RC 版也发布了。Xcode 12.5 beta 版本没有跟着 iOS 14.5 beta 版本的节奏,而是在 beta 3 后就没再发布新的 beta 版本,而 iOS 14.5 则一直发布到 beta 8。RC 版发布,正式版也不会太远,让我们一起来看看 Xcode 12.5 版本的新特性。通用可以使用新的File Provider Extension目标模板来创建 macOS File Provider 程序扩展。Produc

2021-05-26 18:07:50 923

原创 Swift Intermediate Language

Swift的中间文件:Swift Intermediate Language(简称SIL)文章目录Swift的中间文件:Swift Intermediate Language(简称SIL)前言`swiftc`命令名字重整(Name Mangling)脚本自动生成SIL文件并打开其他前言Swift语言和OC一样,也是构建在LLVM架构上的,标准的三段式设计一般都知道 在ObjC中,我们可以通过Clang命令,生成C++文件来看底层原理, 那么 Swift 呢? 是否也有相关的命令呢, 答案是肯定的

2021-04-26 18:36:39 226

原创 iOS Crash  分析模型

iOS Crash  分析模型前言分析iOS的Crash要掌握较多的知识,下面我要介绍一个分析模型,可以解决大多数常见Crash, Crash Log分析1. 查看应用终止的描述Application Specific Information:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSInvocation getArgument:atIndex:]: i

2021-04-26 18:35:06 307

原创 Swift 获取数组内任意个数随机元素的简单方法

let dataList = ["老师好", "太棒啦", "看看细节", "太好啦", "学到了"]var randomList = [String]()randomList = dataList.shuffled().suffix(3)

2021-03-24 10:35:48 1183

原创 iOS KVO 几种使用方式分析

前言KVO 是日常 iOS 开发中经常使用的技术,通过它可以很方便的对属性进行监听,本文不涉及底层原理,主要介绍以上方式在业务层的应用,并总结各自的特点,重点可以关注下 Swift KeyPath 的使用以及 ReactiveCocoa 封装的接口, 而在我们项目中一般会用到的以下四种Foundation KVOReactiveObjC KVOSwift KeyPathReactiveCocoa KVO1. Foundation KVO由 Foundation 提供的 KVO 机制是绝大多

2020-12-24 18:12:59 318 2

转载 iOS 唤起APP之Universal Link(通用链接)

https://www.cnblogs.com/guoshaobin/p/11164000.html

2020-11-09 15:30:29 421

原创 webp 图片压缩

安装brew install webp切换到图片所在的路径cd /Users/summerxx/Downloads/组\ 11_slices 压缩cwebp [email protected] -q 80 -o [email protected]

2020-10-26 17:33:59 331

原创 Jenkins 打包 objective-c com.apple.compilers.llvm.clang.1_0.compiler

Jenkins 打包错误信息CraftsmanHomeVC/DJCraftsmanStoryController.m:19:9: ‘DJUserCraftsmanStoreViewModel.h’ file not foundnormal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler(1 failure)Could not read serialized diagnostics file: Cannot Load File

2020-09-08 17:29:08 8472 1

原创 快应用介绍

文章目录1. 什么是快应用2. 快应用基本概况3. 快应用的优势4. 快应用的场景5. 快应用开发之前你需要做什么?5.1 了解接入流程5.2 需要注意的点5.3 安装 NodeJS5.4 手机安装调试器5.5 安装 toolkit6. 开发ing6.1 创建项目6.2 安装依赖6.3 编译项目6.3.1 手动编译项目6.3.2 手动编译项目6.4 安装 rpk 包7. 微信小程序转换快应用8. 其他方面8.1 可以使用 Vue 开发快应用8.2 成功案例8.3 流量资源9. 总结前言 : 自2017年1

2020-07-31 16:23:45 3128

原创 Swift 闭包

文章目录Swift 闭包1. 什么是闭包?2. 闭包能做什么?3. 闭包的三种形式4. Swift闭包的优化5. Swift闭包5.1 举个????5.2 闭包表达式5.3 单表达式闭包的隐式返回5.4 参数名称缩写5.5 尾随闭包5.6 值捕获 (重要)5.7 逃逸闭包 (重要)5.8 自动闭包Swift 闭包1. 什么是闭包?闭包是自包含的函数代码块,可以在代码中被传递和使用。2. 闭包能做什么?闭包可以捕获和存储其所在上下文中任意常量和变量的引用。被称为包裹常量和变量。 Swift 会为你

2020-07-30 09:25:47 390

原创 Swift 快速上手教程 (二)

文章目录4. 集合类型4.1 Arrays4.2 Dictionary5. 控制流5.1 switch5.1.1 区间匹配5.1.2 元组匹配5.1.3 值绑定5.1.4 Where5.1.5 复合型 Cases6 控制转移语句6.1`continue` 语句告诉一个循环体立刻停止本次循环,重新开始下次循环6.2`break` 语句会立刻结束整个控制流的执行6.3 贯穿(Fallthrough)6.4 提前退出 (guard)7. 函数7.1 多重返回值函数 使用元组即可7.2 可变参数7.3 函数类型作为

2020-07-29 15:46:32 238

原创 Swift 快速上手教程 (一)

文章目录1. 基础部分1.1 分号1.2 类型安全和类型推断1.3 类型别名1.4 元组1.5 可选类型1.6 nil1.7 if 语句以及强制解析1.7.1 强制解析 `!`1.8 可选绑定1.9 隐式解析可选类型1.10 错误处理1.11 使用断言进行调试2. 基本运算符2.1赋值符(`=`)不再有返回值2.2 Swift 还提供了 C 语言没有的区间运算符2.3 恒等运算符 (`=== `与`!==`)2.4 空合运算符(Nil Coalescing Operator) `??`3. 字符串和字符3.

2020-07-29 10:37:02 674

原创 Swift WKWebView与JS交互

https://github.com/summerxx27/JS_ObjectiveC_MessageHandlerhttps://github.com/marcuswestin/WebViewJavascriptBridge

2020-07-27 18:23:49 226

原创 iOS 深入理解SwiftUI

文章目录1. SwiftUI的优缺点2. 语法细节-声明式语法3. 实时预览4. Xcode Library5. Switch Case Support6. Data Flow 数据流6.1 数据处理的基本原则6.2 数据流工具6.2.2 @State6.2.3 @Binding6.2.4 ObservableObject6.2.5 @EnvironmentObject7. New Controls8. 复杂列表组件9. 混合UIKit10. 版本支持11. 全平台支持 - SwiftUI Apps12.

2020-07-23 00:40:50 2888

原创 iOS SwiftUI教程(2)-基础控件的使用Text,TextField,Button,List等

文章目录1. Text 的简单使用2. TextField 的简单使用3. Image 的简单使用4. 如何给Image赋值网络图片5. Button的简单使用6. List的简单使用7. ScrollView的示例代码1. Text 的简单使用private let summerxx = "summerxx.com"struct TextTest: View { var body: some View { VStack(spacing: 15) {

2020-07-22 10:49:24 872

原创 iOS SwiftUI教程(1)-创建和组合视图

文章目录1. Create a New Project and Explore the Canvas2. 新版Xcode有了更加便捷了预览3. Customize the Text View3.1 以下是通过代码对Text进行简单的设置, 更加详细的使用请看Text 相关API3.2 还可以点击command键 +然后点击要修改的Text/ command+点击文字3.3 Combine Views Using Stacks4. Create a Custom Image View5. Use UIKit

2020-07-20 14:11:45 1044

XTAnimations.zip

跑马灯动画(Swift版本, Objective-C版本), 粒子雪花动画, POP动画, 直播心形飘到空中的动画

2020-07-17

Swift版本Charts图表库的使用

Charts 图表库的使用,实现折线图(类似炒股软件), 柱状图

2016-04-26

Swift版本卡片切换效果

模仿陌陌点点,探探卡片切换效果

2016-04-26

iOS很好的卡片切换效果

很好的卡片切换效果, 类似于陌陌的新功能点点, 探探的探探

2016-04-01

AFN图片上传

使用AFN 一句话实现图片上传, 一句话实现网络请求

2016-03-31

MBProgressHUD_Demo

使用app 的时候 为了给用户很好的使用体验, 有时候我们需要很出很好的体验, 这个Demo一定能帮助你 --

2016-03-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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