- 博客(118)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 程序重构的必要性
重构是提高软件质量、可维护性和可扩展性的有效手段。它可以帮助开发人员更好地理解和修改代码,提高团队协作效率,降低维护成本,并使软件更加稳定和可靠。
2023-06-28 17:45:26
1363
原创 android Studio flutter doctor Unable to find bundled Java version
flutter doctor 报错Unable to find bundled Java version。
2023-04-04 11:45:50
672
原创 iOS内购哦
ios内购——因缺少“恢复购买”功能被拒解决方案_专治各种审核难题的博客-优快云博客_ios 内购恢复购买iOS项目技术还债之路《二》IAP掉单优化 - 掘金苹果应用内购买(IAP)—从入门到放弃iOS 内购(In-App Purchase)总结 | 笑忘书店...
2022-05-27 17:11:07
182
原创 iOS 蓝牙扫描设备注意 2021-10-12
iOS 蓝牙扫描设备注意⚠️项目中蓝牙打印用到了多款蓝牙设备,最开始想着是我自己本地写一个扫描设备管理,后来发现CBCentralManager不是一个单例,所以自己创建的CBCentralManager和SDK的CBCentralManager扫描到的设备是不能共享对象的(只能共享属性数据),原因就是iOS CBCentralManager扫描到的设备会将Mac地址加密为UUID,所以同一个设备用两个CBCentralManager扫描就会有两个不同的UUID。奉上资料 官方回答、Stackoverf
2021-10-12 11:11:50
349
原创 iOS 集成 Firebase Crashlytics
iOS 集成 Firebase Crashlytics公司现有App项目的Crash用的是Flurry但是收集到的的Crash信息不完善,随决定迁移到 Firebase Crashlytics上;并且Firebase还推荐了Google Analytics一同使用以获得更佳的使用体验;Firebase Crashlytics 是一个轻量级的实时崩溃报告解决方案,可帮助您对影响应用质量的稳定性问题进行跟踪、确定优先解决顺序并加以修复。 Crashlytics 会对崩溃进行智能分组并突出显示导致这些崩溃的环
2020-12-10 21:14:16
2711
2
原创 iOS 用UIPanGestureRecognizer实现单手指点击拖动缩放
iOS 用UIPanGestureRecognizer实现单手指点击拖动缩放图1-2UIPinchGestureRecognizer捏合手势用来缩放有一定的局限性,为此添加了用UIPanGestureRecognizer拖拽手势来实现缩放,代码的主要部分就是进行scale值的计算,不同象限的操作不同,这里的象限指的数学的象限1-1图示:图1-2iOS 手机中的坐标系如图1-3:图1-3当我们触发拖动事件时需要以began(sender.state)的点为原点(即屏幕刚刚接收到点击事件
2020-11-13 15:20:50
1876
1
原创 SwiftUI_Widget 小组件使用
1. SwiftUI_Widget 小组件使用1.1. 为项目添加Widget1.2. TimelineProvider 时间线提供者1.3. IntentTimelineProvider 意图时间线提供者1.4. TimelineEntry 时间线条目项1.5. TimelineEntryRelevance 时间线输入相关性小组件入口1. SwiftUI_Widget 小组件使用1.1. 为项目添加WidgetProject -> Targets -> + ->.
2020-11-10 11:48:18
1023
原创 iOS WKUserContentController
WKUserContentController文章目录WKUserContentController一、WKUserContentController是什么?二、详解1.属性方法1.1 WKUserScript1.2 WKContentRuleList、WKContentRuleListStore2.Demo总结一、WKUserContentController是什么?WKUserContentController对象为JavaScript提供了一种发布消息并将用户脚本注入webView的方法。
2020-10-14 11:41:39
2578
原创 iOS WKWebsiteDataStore
iOS WKWebsiteDataStore文章目录iOS WKWebsiteDataStore一、WKWebsiteDataStore是什么?二、属性方法1.库2.详解3.WKHTTPCookieStore总结一、WKWebsiteDataStore是什么?iOS 9.0+ WKWebsiteDataStore表示选中网站的各种类型的数据,数据类型包括cookies, disk and memory caches, and persistent data such as WebSQL, Ind
2020-10-12 21:38:34
3029
原创 iOS WKWebsiteDataRecord
WKWebsiteDataRecord文章目录WKWebsiteDataRecord二、使用步骤1.引入库2.对象属性# 一、WKWebsiteDataRecord是什么?WKWebsiteDataRecord对象代表按原始URL的域名和后缀分组的网站数据。二、使用步骤1.引入库import WebKit2.对象属性// 该数据记录存在的网站数据类型var dataTypes: Set<String>//可能的值 Constantslet WKWebsiteData
2020-10-12 17:37:20
492
原创 iOS WKFrameInfo
WKFrameInfo文章目录WKFrameInfo一、WKFrameInfo是什么?二、对象的属性三、WKSecurityOrigin总结一、WKFrameInfo是什么?WKFrameInfo包含网页的frame信息,该类的实例是一个临时的,仅作为数据的对象。 它不能跨多个委托方法调用唯一地标识框架。二、对象的属性// 当前frame是网站的mainFrame还是subFramevar isMainFrame: Bool// frame当前的请求var request: UR
2020-10-12 16:51:13
658
原创 iOS WKBackForwardList WKBackForwardListItem
iOS WKBackForwardList WKBackForwardListItem文章目录iOS WKBackForwardList WKBackForwardListItem前言一、WKBackForwardList二、使用步骤总结前言 WKBackForwardList对象维护用于回溯到最近页面的已访问页面的列表,WKBackForwardListItem对象表示Web视图的后退列表中的网页。提示:以下是本篇文章正文内容,下面案例可供参考一、WKBackForwardListWK
2020-09-30 18:00:54
1546
原创 iOS WebKit Navigation
iOS WebKit Navigation文章目录iOS WebKit Navigation前言一、WKNavigation是什么?二、WKNavigationAction是什么?三、WKNavigationResponse是什么?总结前言WebKit 导航相关class,WKNavigation,WKNavigationAction,WKNavigationResponse提示:以下是本篇文章正文内容,下面案例可供参考一、WKNavigation是什么?WKNavigation对象包含
2020-09-30 17:08:09
566
原创 iOS WKUIDelegate
iOS WKUIDelegateWKUIDelegate提供的方法代表网页显示本机用户界面元素。文章目录iOS WKUIDelegate前言一、WKUIDelegate是什么?二、方法详解1.方法总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、WKUIDelegate是什么?Web view user interface delegates implement this protocol to control the opening of new windows, augme
2020-09-29 14:19:46
1199
原创 iOS WKWebView
iOS WKWebView参考官方文档的学习使用文章目录iOS WKWebView前言一、WKWebView是什么?二、详细介绍1.使用2.属性、方法详解总结前言提示:从iOS8.0和OS X 10.10开始,需使用WKWebView添加web内容,不要使用UIWebView或者WebView。提示:以下是本篇文章正文内容,下面案例可供参考一、WKWebView是什么?显示交互式Web内容的对象,就像App内的浏览器。Note: 您可以在WKWebView中使用httpBody内容
2020-09-27 21:43:57
709
原创 iOS WKProcessPool
iOS WKProcessPool文章目录iOS WKProcessPool前言一、WKProcessPool是什么?二、使用1.使用了多个WKWebView,共享资源总结前言WKProcessPool用来配置进程池,与网页视图的资源共享有关提示: WKProcessPool类中没有暴露任何属性和方法,配置为同一个进程池的WebView会共享数据,例如Cookie、用户凭证等,开发者可以通过编写管理类来分配不同维度的WebView在不同进程池中。一、WKProcessPool是什么?
2020-09-27 15:50:50
1971
原创 iOS WKWebView WKPreferences
iOS WKWebView WKUIDelegateA WKPreferences object encapsulates the preference settings for a web view. The preferences object associated with a web view is specified by its web view configuration.WKPreferences对象封装了WebView的首选项设置。与WebView关联的首选项对象由指定其WebView
2020-09-22 21:13:33
1010
原创 iOS WebKit WKNavigationDelegate 文档
WKNavigationDelegateWKNavigationDelegate协议的方法可帮助您实现在Web视图接受,加载和完成导航请求的过程中触发的自定义行为。一:Initiating the Navigation1、 optional func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!)当WebView开始接受web内容时触发;2、optional func webView(_ webView: WKW
2020-09-22 20:06:53
2480
原创 iOS tableViewCell嵌套UICollectionView 自适应高度
iOS tableViewCell嵌套UICollectionView 自适应高度在对UICollectionView reload 后item的个数变化导致collectionViewContentSize发生变化。导致tableViewCell的高度不正确。解决办法重写systemLayoutSizeFitting方法override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority
2020-06-12 18:38:31
2196
原创 阿里云code.aliyun一个账号对应两个SSH
阿里云code.aliyun一个账号对应两个SSH今天遇到个git的问题,就是公司的team在他账号下把我的SSH密钥加了进去,在公司team下的项目都可以无限制访问,唯独自己的创建的账号不能拉取到本地,一只=直无权限。原因是阿里云自己的账号下的SSH公钥是空的,所以要自己创建一个加进去(原来的SSH不要修改或者覆盖掉),要创建一个新的。Mac下配置多个SSH-Key git一台mac上可能...
2020-04-28 15:59:37
810
原创 Git代码版本回退
1 简介最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客。2 问题如果提交了一个错误的版本,怎么回退版本?如果提交了一个错误的版本到远程分支,怎么回退远程分支版本?如果提交了一个错误的版本到公共远程分支,又该怎么回退版本?3 本地分支版本回退的方法如果你在本地做了错误提交,那么回退版本的方法很简单先用下面命令找到要回退的版本的commit i...
2020-04-22 18:43:34
489
原创 iOS UIWebview调用reload导致JSContext失效
UIWebview调用reload导致JSContext失效UIWebViewDelegate1、webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool2、webViewDidStartLoad3、we...
2019-12-26 20:18:55
532
原创 Swift 判断两个日期是否是同一个星期
Swift 判断两个日期是否是同一个星期方法一: func isSameWeek() { let dateformatter = DateFormatter.init() dateformatter.dateFormat = "yyy-MM-dd" let fromDate = dateformatter.date(from: "...
2019-03-05 21:05:34
801
转载 Windowns form DataGridView 闪烁问题
Windowns form DataGridView 闪烁问题 DataGridView当条目比较多的时候,滑动滚动条就会出现条目闪烁的问题体验很不好,解决问题就是使用双缓存,Form,panel之类的可以使用双缓存,不知道DataGridView也可以使用双缓冲。当然DataGridView双缓冲的接口是没有对外开放的,只能通过反射获取。Public Form {//设置窗...
2019-01-11 16:30:37
1286
原创 象限
象限以原点为中心,x,y轴为分界线。右上的称为第一象限,左上的称为第二象限,左下的称为第三象限,右下的称为第四象限。坐标轴上的点不属于任何象限。象限(Quadrant)是平面直角坐标系(笛卡尔坐标系)中里的横轴和纵轴所划分的四个区域,每一个区域叫做一个象限。性质:1.第一象限中的点的横坐标(x)大于0,纵坐标(y)大于0。2.第二象限中的点的横坐标(x)小于0,纵坐标(y)大于0。3.第...
2018-12-11 15:29:48
2924
原创 iOS自动化打包发布之fastlane 实现 发布AppStore 蒲公英
iOS自动化打包发布之fastlane 实现fastlane官方文档前提插件配置首先要安装xcode-select然后安装fastlanesudo gem install fastlane -NV1、打开项目设置scheme为shared状态,选择你的项目,勾选shared,否则fastlane init容易失败2、打开终端 先cd 到你的项目目录 fastlane init...
2018-11-16 21:10:26
1552
1
原创 Swift Delegate 协议的使用
Swift Delegate 协议的使用 协议规定了用来实现某一特定功能所必需的方法和属性。任意能够满足协议要求的类型被称为遵循(conform)这个协议。类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能 第一个界面的代码import UIKit//遵循代理class ViewController: UIViewController, ...
2018-09-28 15:49:42
2113
原创 Flutter main future mirotask 的执行顺序
下面这段代码的输出是什么?import 'dart:async';main() { print('main #1 of 2'); scheduleMicrotask(() => print('microtask #1 of 2')); new Future.delayed(new Duration(seconds:1), () ...
2018-08-17 10:27:44
801
原创 Flutter 初尝试 的坑 (本人IOS降落到Flutter)
Flutter 初尝试 的坑 在Mac环境下按照官网的安装配置方法 一路下来卡在了Android Studio 上面一直flutter doctor出错说找不到Flutter 和Dart,自己下载的安卓都搜不出来这两个插件,最后换了个版本的Android Studio 让做安卓开发的同事将这两个插件到给我安上了,(Visual Studio Code我使用的主要编译器),Android St...
2018-07-31 18:11:01
6889
4
原创 Visual Studio Code 插件 Power Mode 炫酷的来敲代码
Visual Studio Code 插件 Power Mode 炫酷的来敲代码 在Visual Studio Code的顶部的菜单栏里点击Code -> 首选项 -> 设置 "powermode.enabled": true, "powermode.presets": "fireworks",//注意大小写啊 "powermode.en...
2018-07-27 18:00:55
4294
转载 iOS 设置View从屏幕顶部开始(与状态栏持平)
将状态栏隐藏掉之后,页面上的tableView会自动向上滚20个像素 这是因为在iOS7.0之后,系统会自动调整scrollView的layout 和 contentInsets 。从而使其自动地适应iOS7之后那种整个屏幕都可以放入自定义控件的方法。而我们大多数在开发过程中并不希望收到系统自动的影响而是完全掌握开发过程中的每一个细节。还有一个愿意是因为目前我们大多数的应用都是要向下适配到iOS6...
2018-06-08 10:15:46
15310
原创 iOS 中Swift的方法介绍
方法是与某些特定类型相关联的函数。类、结构体、枚举都可以定义实例方法;实例方法为给定类型的实例封装了具体的任务与功能。类、结构体、枚举也可以定义类型方法;类型方法与类型本身相关联。类型方法与 Objective-C 中的类方法(class methods)相似。结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要区别之一。在 Objective-C 中,类是唯一能定义方法...
2018-04-26 14:20:18
272
原创 iOS Swift结构体和类
类和结构体对比Swift 中类和结构体有很多共同点。共同处在于:定义属性用于存储值定义方法用于提供功能定义下标操作使得可以通过下标语法来访问实例所包含的值定义构造器用于生成初始化值通过扩展以增加默认实现的功能实现协议以提供某种标准功能与结构体相比,类还有如下的附加功能:继承允许一个类继承另一个类的特征类型转换允许在运行时检查和解释一个类实例的类型析构器允许一个类实例释放任何其所被分配的资源引用计数...
2018-04-24 15:25:52
313
原创 iOS Swift中枚举 及用枚举实现递归
递归枚举是一种枚举类型,它有一个或多个枚举成员使用该枚举类型的实例作为关联值。使用递归枚举时,编译器会插入一个间接层。你可以在枚举成员前加上indirect来表示该成员可递归。enum DiGui {//定义枚举 case number(Int)//枚举添加关联值(可以为元组) indirect case addition(DiGui,DiGui) indirect cas...
2018-04-24 13:11:07
514
原创 iOS 自定义View时多出一条灰色或黑色的横线 或 竖线
iOS 自定义View时多出一条灰色或黑色的横线 或 竖线对于所有的view 来说,如果frame.size是高精度小数,显示的时候,边界都会有黑线。所以在设置frame时使用了一个ceil 用来取整 就可以了_tagsView.frame = CGRectMake(0, 0, TOPScreenWidth, ceilf((TOPScreenWidth-40-40)/4+70));...
2018-03-29 10:53:04
1429
iOS 录音后怎样实现音频剪辑(如:剪掉后面的,留下前面部分,求教)
2016-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人