- 博客(43)
- 资源 (31)
- 问答 (1)
- 收藏
- 关注
原创 iOS App快捷指令(App Intents)在系统搜索服务中注册shortcuts
网上很多资料都是关于的,但是只能实现快捷指令的添加,无法在系统搜索服务中搜索到。这时候就得用到了。下面实现一个简单的App快捷指令,实现点击指令唤醒App并对相应的指令进行页面跳转。/// 标题static var title: LocalizedStringResource = LocalizedStringResource("扫一扫")/// 描述= IntentDescription("扫一扫intent")/// 点击运行时是否打开App@MainActor。
2024-08-29 16:05:23 587
原创 iOS 不用VOIP也可以实现微信来电邀请推送持续响铃震动及及时来电取消
写这个功能花费我了很长一段时间,简直头秃。不知道有没有相同感受的。一开始原以为使用推送服务扩展轻轻松松就可以实现,然后一顿操作,发现了很多问题。重新查看了官方文档,发现以目前的机制根本无法实现这个功能。后来又一顿资料搜索发现了VOIP这个东西,刚刚好正是我所需要的,但是问题来了,中国地区在iOS13后,已经禁用了该功能,一旦使用这个功能就面临着,上架被拒的风险,当然如果你是在国外上架的,当我没说。当撸掉头上一戳毛之后,终于看到了希望的曙光.请继续往下翻。
2024-02-22 20:42:47 1432
原创 Flutter WebView之给H5网页图片添加点击事件以实现原生图片预览
网上很多方案,都是获取html中的图片列表,再往里面添加点击事件。思路是没错的,但是由于很多H5使用的VUE或者Ajax等技术异步加载渲染,因此此处需要借助jQuery库给一步渲染的img动态绑定事件。具体怎么做,往下看。
2024-01-29 10:05:42 675
原创 iOS 不用VOIP也可以实现微信来电邀请推送持续响铃震动及及时来电取消
写这个功能花费我了很长一段时间,简直头秃。不知道有没有相同感受的。一开始原以为使用推送服务扩展轻轻松松就可以实现,然后一顿操作,发现了很多问题。重新查看了官方文档,发现以目前的机制根本无法实现这个功能。后来又一顿资料搜索发现了VOIP这个东西,刚刚好正是我所需要的,但是问题来了,中国地区在iOS13后,已经禁用了该功能,一旦使用这个功能就面临着,上架被拒的风险,当然如果你是在国外上架的,当我没说。当撸掉头上一戳毛之后,终于看到了希望的曙光.请继续往下翻。
2024-01-08 17:54:51 1088
原创 Flutter 音频转码Mp3文件插件
网上找了很多插件不是不支持录音转码mp3,要不就是不返回音量数据。没办法,之前的录音代码也不想改,于是就自己撸了个把音频转码为mp3的插件。
2022-12-20 20:39:49 871 1
原创 Flutter 界面背景添加水印
在聊天页面背景添加水印。网上很多文章要么都是在图片添加水印,要么给的例子都是全屏的水印,无法满足我先有的需求。怎么办呢,自己怼一个好了。在页面里添加一个widget作为底层背景,在这个背景绘制水印。绘制前需要先认识、、、 CustomPaint class提供了让用户自定义widget的能力,它暴露了一个canvas,可以通过这个canvas来绘制widget,CustomPaint会先调用painter绘制背景,然后再绘制child,最后调用foregroundPainter来绘制前景,CustomP
2022-06-13 14:03:03 1347
原创 iOS 组件化开发
组件化开发,就是将一个臃肿,复杂的单一工程的项目, 根据功能或者属性进行分解,拆分成为各个独立的功能模块或者组件 ; 然后根据项目和业务的需求,按照某种方式, 任意组织成一个拥有完整业务逻辑的工程。...
2022-06-13 11:43:46 236
原创 iOS App Extensions之Action Extension
iOS App Extensions之Action Extension创建Action Extension扩展无界面`No User Interface `内容配置`info.plist`分析扩展例子代码与Safari中的网页进行交互文件的分享实现有界面`Presents User Interface`内容配置`info.plist`分析ActionViewController自定义UI配置数据共享跳转到容器App不显示界面直接跳转到容器App创建Action Extension扩展在原有的项目里,添
2021-11-16 19:27:32 2947
原创 iOS App Extensions之Share Extension
iOS App Extensions之Share Extension创建Share Extension扩展配置Share Extension分析ShareViewController创建Share Extension扩展在原有的项目里,添加扩展target然后选择”iOS” -> “Application Extension” -> “Share Extension”,点击“Next”。如图:给扩展起个名字,这里填写了“ShareExtension”,确定你的目标Target,
2021-11-16 15:00:01 3718
原创 iOS App Extensions初识及工作原理
iOS App Extensions初识及工作原理概念创建和交付应用程序扩展工作原理应用扩展的生命周期应用扩展如何通信应用扩展可以与应用间接通信某些 API 对应用扩展不可用声明共享或操作扩展支持的数据类型常见场景数据共享方式一:NSUserDefaults方式二:NSFileManager方式三:CoreData提审AppStore的注意事项概念应用扩展可让您将自定义功能和内容扩展到您的应用之外,并在用户与其他应用或系统交互时提供给用户。您创建一个应用扩展来启用特定任务。例如,要让用户从 Web 浏
2021-11-11 19:52:15 2822
原创 iOS - KVC(Key-Value Coding)初识及实现机制
iOS - KVC(Key-Value Coding)初识及实现机制概念使用符合键值编码的对象KVC提供的API方法KVC 设值KVC 取值参考概念键值编码是一种由NSKeyValueCoding非正式协议启用的机制,对象采用该机制来提供对其属性的间接访问。当对象符合键值编码时,其属性可通过字符串参数通过简洁、统一的消息传递接口进行寻址。这种间接访问机制补充了实例变量及其相关访问器方法提供的直接访问。KVC在Objective-C中的定义:KVC的定义都是对NSObject的,扩展来实现的(Obj
2021-08-09 18:02:10 287
原创 iOS 核心动画(Core Animation)三:基础动画
核心动画(Core Animation)三:基础动画(CABasicAnimation) 简介CABasicAnimation与CAAnimation继承关系## CALayer 动画属性CABasicAnimation 属性列表CASpringAnimation 属性列表动画实例基础动画弹簧动画简介修改图层属性并提供基本的单关键帧动画功能的对象。CABasicAnimation与CAAnimation继承关系## CALayer 动画属性anchorPointbackgroundColor
2021-05-26 11:45:30 429 1
原创 iOS 核心动画(Core Animation)二:抽象超类
核心动画(Core Animation)二:抽象超类(CAAnimation)简介继承关系CAMediaTiming协议属性列表CAAnimation属性列表CAPropertyAnimation属性列表简介是一个抽象类, 遵循了CAMediaTiming协议和CAAction协议 我们不能直接使用CAAnimation类 而是使用其子类。继承关系CAMediaTiming协议属性列表beginTime指定接收者相对于其父对象的开始时间duration指定动画的基本持续时
2021-05-26 11:44:59 178
原创 iOS 核心动画(Core Animation)一:初识
核心动画(Core Animation)一:初识简介继承关系图层(CALayer)图层继承关系图层提供绘图和动画的基础图层(CALayer)与视图(View)之间的关系图层使用两种类型的坐标系坐标点(position)锚点(anchorPoint)在三个维度上操纵图层更改UIView使用的图层类使用图像作为图层的内容使用委托提供图层内容简介Core Animation是可在iOS和OS X上使用的图形渲染和动画基础结构,可用于为应用程序的视图和其他视觉元素制作动画。使用Core Animation,绘制
2021-05-26 11:43:54 437
原创 iOS widget小组件-Today Extension
Today Extension前言样图创建布局TodayViewControler`NCWidgetProviding`协议数据共享交互方式例子源码其他参考前言前段时间采用WidgetKit、SwiftUI写了哥支持iOS 14及以上的小组件,那么iOS 14 以下无法支持,Xcode的版本也是在12.2的版本,没办法创建Today Extension, 怎么办呢?重新下了支持Today Extension的扩展的Xcode 11。其实Today Extension在iOS 8的时候就已经出现了,在
2021-02-22 17:41:27 1381
原创 iOS 14-Widget小组件3—动态配置
Widget 动态配置认识与配置基本实现效果图创建及配置Intent Definition添加及配置Intent Handler 添加及配置例子源码其他问题参考认识与配置在这篇文章已经做了比较详细的介绍与创建配置iOS 14-Widget小组件1—初识基本实现上一篇文章已经做了比较详细的介绍与创建配置iOS 14-Widget小组件2—实现效果图创建及配置Intent Definition添加及配置如果你刚刚创建Widget。 File > New > Target在Appl
2021-01-22 20:43:50 3603 5
原创 iOS 14-Widget小组件2—实现
Widget 实现认识与配置实现效果图支持显示方式交互数据共享刷新认识与配置上一篇文章已经做了比较详细的介绍与创建配置iOS 14-Widget小组件初识(一)实现效果图支持显示方式@main 入口添加.supportedFamilies([.systemSmall,.systemMedium,.systemLarge]) 同时支持3种大小struct TestWidgetEntryView : View { @Environment(\.widgetFamily) var famil
2021-01-22 20:43:37 1956 1
原创 iOS 14-Widget小组件1—初识
Widget 初识介绍系统支持机型尺寸创建小组件配置Widget内容1、两种配置`Configuration`2、提供时间表条目`Timeline`3、视图`EntryView`Important参考介绍WidgetKit通过将小部件放在iOS主屏幕或macOS通知中心上,使用户可以随时访问您应用中的内容。您的窗口小部件保持最新状态,因此用户始终可以一目了然地获得最新信息。当他们需要更多详细信息时,您的小部件会将它们直接带到应用程序中的适当位置。小部件具有三种可用的大小(小,中和大),可以显示各种信息
2021-01-22 20:43:21 2196 1
原创 iOS 3D Touch之主屏幕快捷操作(Quick Actions)
主屏幕快捷操作(Quick Actions)简介支持效果图定义方式响应触发<1> 如果项目工程里保留了`scene(场景)`<2> 如果项目工程里只有`window(窗口)`修改快捷项数据参考资料简介在iOS 9及以上系统,支持3D Touch的手机设备中,触摸并短按任何应用程序以编辑主屏幕并获得一组快速操作。当用户选择快速操作时,您的应用程序将激活或启动,并且您的应用程序委托对象会收到快速操作消息。每个主屏幕快速操作均包括标题,左侧或右侧的图标(取决于应用程序在主屏幕上的位置
2021-01-14 17:36:36 1310
原创 数据结构之栈与队列浅谈
栈(Stack)和队列(Queue)栈和队列,也属于线性表,都用于存储逻辑关系为 “一对一” 的数据。栈也可分为顺序栈和链表,队列也分为顺序队列和链队列。栈(Stack)栈同顺序表和链表一样,栈也是用来存储逻辑关系为 “一对一” 数据的线性存储结构,且遵循"先进后出(FILO)"原则。如下图所示:有图栈只能从表的一端存取数据,另一端是封闭的。在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。从图中可看出数据的存储状态,元素 1 是最先进的栈。因此,
2020-12-14 10:43:20 1377
原创 数据结构之顺序存储与链式存储
http://www.itongji.cn/detail?type=1121https://blog.csdn.net/qq_38378384/article/details/80430396定义线性表,全名为线性存储结构。线性表是n个数据特性相同的元素的组成有限序列,是最基本且常用的一种线性结构(线性表,栈,队列,串和数组都是线性结构),同时也是其他数据结构的基础。具有“一对一”逻辑关系的数据,最佳的存储方式是使用线性表。特点是一个有限的序列可以是有序的也可以是无序的。线性表的开始元素没
2020-11-25 19:27:43 13765
原创 数据结构之入门
数据结构之入门什么是数据结构数据结构的目的存储方式1、线性表1.1 顺序表1.2 链表1.3 栈1.4 队列2、树存储结构3、图存储结构数据的逻辑结构和存储结构(物理结构)逻辑结构存储结构(物理结构)数据结构和算法的关系和区别什么是数据结构数据结构是按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。数据结构的目的数据结构,直白地理解,就是研究数据的存储方式。为了方便后期对数据的再利用,就如同
2020-11-23 18:09:48 1629
原创 iOS OpenGL ES 入门03-三角形绘制
iOS OpenGL ES 入门03-三角形绘制构建OpenGL ES View效果图渲染到核心动画层将核心动画层用于OpenGL ES渲染步骤:构建OpenGL ES View这里抛弃了GLKit框架自带的GLView,将图像内容渲染到核心动画层(Core Animation)。效果图渲染到核心动画层核心动画是iOS上图形渲染和动画的中央基础结构。托管使用不同iOS子系统(如UIKit,Quartz 2D和OpenGL ES)渲染的内容的图层来组成应用程序的用户界面或其他视觉显示。OpenGL
2020-11-16 14:41:38 1108
原创 iOS OpenGL ES 入门02-着色器
iOS OpenGL ES 入门之着色器图形管线顶点着色器图元装配光栅化片段着色器逐片段操作参考文章图形管线OpenGL ES 3.0实现了具有可编程着色功能的图形管线。下图蓝色方框表示管线中的可编程阶段。顶点着色器顶点着色器对顶点实现了一种通用的可编程方法。顶点着色器的输入数据由下面组成:顶点着色器输入(Attributes):使用顶点数组封装每个顶点的数据,一般用于每个顶点都各不相同的变量,如顶点位置、颜色等。统一变量(Uniforms):顶点着色器使用的常量数据,不能被着色器修改
2020-10-23 16:26:26 871
原创 iOS OpenGL ES 入门01-基础理论
iOS OpenGL ES 基础入门一简介版本3D渲染坐标系矢量点、线、三角形缓存帧缓存GLKit参考文章简介关于OpenGL ES的开放式图形库(OpenGL的)用于可视化的二维和三维数据。它是一个多用途的开放标准图形库,支持2D和3D数字内容创建,机械和建筑设计,虚拟原型设计,飞行模拟,视频游戏等应用程序。您可以使用OpenGL配置3D图形管线并将数据提交给它。对顶点进行变换和光照,将其组装为图元,并进行栅格化以创建2D图像。OpenGL旨在将函数调用转换为可发送到底层图形硬件的图形命令。由于此底
2020-10-22 16:25:01 1698
转载 常用六大算法
六大算法一、冒泡排序(BubbleSort)基本思想过程平均时间复杂度C代码实现优化二、二分查找(Binary Search)算法要求时间复杂度查找过程C代码示例三、快速排序(Quicksort)基本思想示例平均时间复杂度C代码实现四、希尔排序(Shell Sort)基本思想过程平均时间复杂度C代码实现五、选择排序(SelctionSort)基本思想过程平均时间复杂度C代码实现六、插入排序(Insertion Sort)基本思想过程平均时间复杂度C代码实现一、冒泡排序(BubbleSort)基本思想两
2020-10-21 14:40:06 4194
原创 iOS 长截图(tableView + Navigation)
iOS 长截图(tableView + Navigation)前言思路遇到的问题主要代码前言最近有个需求就是长截屏,内容主要是tableView 及 导航栏 或其他。去网上了解了思路都是只截取了tableView的内容,然而还出现了tableView的contentSize获取不准确的问题,导致获取到的图片内容不完整,而且给的解决办法都不管用。思路获取navigationBar的截...
2020-05-02 21:44:39 982
原创 iOS library not found for -lstdc++.6.0.9问题
iOS 13.1 library not found for -lstdc++.6.0.9废话:为什么要添加libstdc++方法废话:昨天晚上手机被偷偷升到13.1了,导致今天真机测试不了,然后又升级了Xcode 到11.1。God,又报了library not found for -lstdc++.6.0.9错误(还没升级前就遇到过一次),添加libstdc++ 6.0.9的库就好了,然而...
2019-10-11 15:47:13 627
原创 iOS 沙盒的机制及文件管理
iOS 沙盒的机制及文件管理沙盒的机制简介结构目录文件管理获取目录文件写入及读取文件管理器NSFileManager沙盒的机制简介是iOS系统为了安全考虑提供的一种安全机制,这个机制把iOS系统的封闭性展现的淋漓尽致。每个应用在安装时会创建属于自己的沙盒文件(存储空间)。每个应用都只能访问当前沙盒目录下面的文件,访问其他应用的沙盒,需要权限。所有的非代码文件都要保存在此,例如属性文件...
2019-10-11 11:39:49 493
原创 HTTP与HTTPS浅谈
http(Hyper Text Transfer Protocol)超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上。
2019-07-22 17:43:30 645
Flutter 仿iOS桌面悬浮球效果
2024-08-30
iOS 自定义相机拍照视频录制
2024-01-25
Flutter 界面背景添加水印
2022-06-13
iOS 各个技术模块大厂面试题
2022-06-09
iOS基础+进阶+案例+数据库(视频教程)
2022-06-09
网页开发+HTML基础教程.pdf
2022-06-09
Flutter 官方开发文档PDF
2022-06-09
编译的opencv2附加opencv_contrib
2021-09-10
LHQQRCodeDemo.zip
2021-09-10
LHQ3DTouchDemo.zip
2021-01-14
iBeacon.zip
2021-01-04
libstdc.zip
2019-10-11
WaterMarkDemo.zip
2019-08-24
OpenCV矩形检测及裁剪
2019-04-24
iOS 第三方app原生系统的分享到自个的应用,怎么把自己的应用显示出来。
2021-06-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人