- 博客(66)
- 收藏
- 关注

原创 iOS Fork 第三方框架【修改、提交、使用】
苹果更新了审核规则,要求第三方框架要加上 PrivacyInfo.xcprivacy 文件,然而有些框架作者已经没有维护了,这个时候就只能自己加了呗!自己加还是用pods 管理,那么就Fork 这个库,把PrivacyInfo.xcprivacy 文件 加上,然后在项目中替换成 fork 的这个库就可以了。
2024-12-06 13:38:21
907

原创 iOS 审核 5月1日开始 Privacy manifest files 【隐私清单】
按照上面的步骤处理后,我上传appStore 提审,现在没有收到苹果关于隐私清单的提醒邮件了,暂时就先这样配置,不知道大家是怎么填写 Privacy Tracking Enabled 和 Privacy Tracking Domains 这两个类型的呢?
2024-04-05 10:51:19
10957
7

原创 Mac 酷*.kgma(免费解密)+.flac转换.mp3
这不要回老家过年啦嘛!回老家就想搞点动静,热热闹闹地过新年。家里有一对老古董音响,以前是DVD连着放歌的,光盘上都是一些老歌,我觉得不好听,想放点自己喜欢的歌。于是在网上淘啦一个蓝牙音频接收器-给音响加个蓝牙和插U盘的功能。其实主要是用U盘功能,因为老家没有宽带,手机信号也不好😅。那么就需要下载歌曲到U盘啦!我有酷 *会员,下载歌曲到本地,发现是.kgma格式,只能在酷 *上才能播放,为了回老家能够听到爱歌,还是下了一番苦功夫。
2024-02-05 22:57:17
13505
1
原创 Flutter 实现 iOS 小组件与主 App 的通信
在 Flutter 项目中实现 iOS 小组件与主 App 的通信,主要依赖于 App Groups 技术,以下是具体实现步骤和注意事项。通过 App Group 和 home_widget 插件 我们就轻松实现了 Flutter 项目中的 iOS 小组件与主 App 的通信。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!
2025-02-14 10:00:21
568
原创 Flutter 添加 iOS widget 小组件
本篇文章主要记录,在Flutter 项目中如何正确地添加iOS 小组件,iOS 小组件 相关的知识在另一篇文章有记录。通过上面的步骤,我们就可以实现在Flutter 项目中添加 iOS widget 小组件啦!如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!
2025-02-13 15:34:36
892
原创 iOS 老项目适配 #Preview 预览功能
老项目也想使用 #Preview 功能,最好新建 一个 Targets 来支持 #Preview,只需要将主 Targets 的布局框架和资源同步到 PreviewTarget 就可以在老项目中无缝支持 #Preview 宏预览功能,大大提高界面开发效率。
2025-02-05 11:45:56
1210
7
原创 iOS 审核被拒记录
AppStore审核是每个iOS开发者都绕不开的环节,而审核被拒绝也几乎是开发过程中的常态之一。无论是功能设计、内容规范,还是技术细节,都可能成为被拒的原因。为了更好地总结经验、提升效率,我决定将每次审核被拒的原因和解决过程记录下来,希望这些长期的积累不仅能帮助我自己,也能为其他开发者提供一些参考和借鉴。NextSteps附件:解决:用户性别不可以强制收集。
2025-01-20 11:23:21
295
原创 Flutter-插件 scroll-to-index 实现 listView 滚动到指定索引位置
scroll_to_index 是一个 Flutter 插件,用于通过索引滚动到 ListView 中的某个特定项。这个库对复杂滚动需求(如动态高度的列表项)非常实用,因为它会自动计算需要滚动的目标位置。绑定关系:• 通过 tagMap 确定目标索引和对应的渲染对象。偏移计算:• 借助 RenderAbstractViewport.getOffsetToReveal,计算目标项相对于视图的偏移量。
2024-12-30 17:25:57
1498
1
原创 Network Link Conditioner Mac 上模拟网络环境工具的安装和使用
Xcode 的模拟器本身是不支持模拟网络环境的,在开发界面的时候,设计会出无网、弱网这种情况的设计图,为了方便在开发过程中实现这些情况的代码逻辑,Network Link Conditioner 就是模拟网络环境的好帮手。安装 Network Link Conditioner 需要先下载 Additional Tools for Xcode,下面就详细讲解如何安装和使用 Network Link Conditioner。一、下载 Additional Tools for Xcode。
2024-11-28 21:47:20
908
原创 Flutter 插件 sliding_up_panel 实现从底部滑出的面板
sliding_up_panel 是一个 Flutter 插件,用于实现从底部滑出的面板。它在设计上非常灵活,能够适应多种 UI 场景,比如从底部滑出的菜单、可拖动的弹出面板等。以下是 sliding_up_panel 的详细用法,包括常用的参数说明和示例代码。sliding_up_panel 是一个功能丰富、设计灵活的插件,非常适合用于需要从底部滑出的面板场景。如果您喜欢这篇文章,不妨留下您宝贵的赞!
2024-11-06 18:22:21
657
原创 iOS SmartCodable 替换 HandyJSON 适配记录
SmartCodable 替换 HandyJSON中遇到的值得记录的问题和解决方法
2024-11-05 17:34:31
1142
原创 iOS AVAudioSession 详解【音乐播放器的配置】
在 iOS 音频开发中,AVAudioSession 是至关重要的工具,它控制着应用的音频行为,包括播放、录音、后台支持和音频中断处理等。对于音乐播放器等音频需求强烈的应用,设计一个合理的 AVAudioSession 管理体系不仅能保证音频播放的流畅体验,也能确保应用在多种使用场景下的稳定性。本文将基于苹果官方文档,详细介绍如何使用 AVAudioSession,并探讨在音乐播放器设计中如何合理管理 AVAudioSession。
2024-10-25 16:10:23
1446
原创 iOS MPNowPlayingInfoCenter 通知栏、锁屏 显示当前播放的媒体信息
MPNowPlayingInfoCenter 是 iOS 框架 MediaPlayer 中的一个类,主要用于管理锁屏界面、控制中心、通知中心中显示的“当前播放”媒体信息。它允许开发者向用户展示正在播放的音乐或媒体信息,并控制媒体播放。通过 MPNowPlayingInfoCenter,你可以在锁屏上显示诸如歌曲标题、艺术家、专辑封面、播放进度等信息,同时还可以提供播放、暂停、快进等媒体控制。本篇文章简单介绍一下 MPNowPlayingInfoCenter 以及用法。
2024-10-24 23:07:35
1771
原创 iOS ColleCtionView 如何让cell 不重复创建并且只在展示的时候才创建
使用 collectionView 一屏只展示一个 cell ,一次只加载当前 cell,还要能够缓存已加载过的 cell ,使 cell 不重复加载,听着好像就是将 collectionView 的复用机制禁用掉。用collectionView 实现这个需求,就出现了两个冲突点,一个是collectionView 会预加载后面的 cell ,另一个是会释放掉没在屏幕中显示的 cell。示例思路将加载过的视图用一个字典存起来。
2024-08-17 14:02:04
725
原创 iOS-Swift 数据库 WCDB 二次封装使用/自定义字段映射类型
WCDB 是一个易用、高效、完整的移动数据库框架,它基于 SQLite 和 SQLCipher 开发,在微信中应用广泛,且支持在 C++、Java、Kotlin、Swift、Objc 五种语言环境中使用。对于WCDB详细的介绍和使用请移步官方文档,本篇文章主要是对WCDB 常用的功能进行二次封装,使数据库的操作更方便一些。还有就是对于自定义映射类型的详细使用,作为官方文档在这块的一个补充。安装其它方式安装通过 Cocoapods 安装自定义字段映射类型文档示例case idcase name。
2024-08-02 00:37:47
1262
原创 iOS 自定义 仿苹果地图 半屏滑动效果控件
在前一篇文章AI编程探索- iOS 实现类似苹果地图 App 中的半屏拉起效果我们通过三方库实现了这个功能。可是我发现这个三方不能加阴影效果。也许是我不知道怎么加吧!于是只有自己搞咯!这功能用到的技术点不难,难就难在计算滑动位置,滑到一半,应该往上回弹还是往下回弹。所以自定义这个控件还是必要,一次写好,后面就根据具体需求调整下样式就行。将这个控件当作模板,可以快速的定制实现类似需求的功能。这个控件不做任何样式的限制,想怎么改都可以。如果您喜欢这篇文章,不妨留下您宝贵的赞!
2024-07-27 23:00:11
479
原创 探讨 iOS 时间格式化:大写 YYYY-MM-dd 还是小写 yyyy-MM-dd
在 iOS 开发中,正确地格式化日期对于显示用户友好的信息至关重要。使用 DateFormatter 进行时间格式化时,格式字符串中的大小写字母会影响输出的结果。本文将探讨 YYYY-MM-dd 和 yyyy-MM-dd 这两种常见格式的区别,并解释为什么应该优先选择小写格式。在 iOS 开发中,理解并正确选择日期格式是至关重要的。大写 YYYY-MM-DD 和小写 yyyy-MM-dd 虽然看起来相似,但其应用场景和意义却大不相同。
2024-07-25 21:35:45
1738
原创 iOS 将富文本内容保存为 .docx 文件
既然我们最终是要保存为 .docx 文件,那么我们就先来了解一下什么是 .docx 文件吧!.docx 文件是一种基于 Open XML 标准的文档文件格式,由 Microsoft Word 使用。它是 Microsoft Word 2007 及其之后版本的默认文件格式。相比于之前的 .doc 格式,.docx 文件具有更高的兼容性、更小的文件体积和更好的数据恢复能力。
2024-07-18 23:10:52
1180
原创 iOS 开发技巧 - 使用本地 json 文件
使用本地 json 文件的场景,在我们开发功能的阶段,服务端接口字段定义好了后,有些接口响应很慢,请求到响应可能要 几十秒甚至一分钟,我们需要频繁调用接口来调试功能;还有就是调用一些我们需要付费的三方接口,比如做 AI 相关的功能,在开发阶段可以先建一个本地json 将逻辑和功能实现。当然适用于使用本地json 文件的情况,不止我提到的上面两种。还有当你需要模拟调试多种情况的时候,修改 json 文件可比让后端兄弟配合改数据方便得多。
2024-07-09 23:32:30
756
原创 AI编程探索- iOS 实现类似苹果地图 App 中的半屏拉起效果
本篇文章,记录了我好奇苹果地图 App 的半屏效果是怎么实现的,想搜但是描述不出来这种效果是什么,通过将截图发给 AI 用自己的语言描述了一下,AI 理解了我的需求,并给了解决办法。我再通过 AI 的提点,拿着关键信息去 github 找到了需要的三方库。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!
2024-07-07 14:57:40
483
原创 收获法则-春耕秋收
在这样的回望中,或许能邂逅那份“山穷水尽疑无路,柳暗花明又一村”的绝妙转机,体验到心灵与视野的双重豁然开朗,发现新的成长路径与无限可能。这种浮躁的心态不只是在学习新技能上,看书也是如此,细细想来自己好久都没认真看完一本书了,总觉得看了别人的总结,这本书的内容我也就看完了似的。如果学生不肯发问,不肯暴露自己的无知,不肯让老师知道他的真正水平,那么绝对学不到东西,也就不能有长进。以10分为标准,假如我在各个方面都只能得2分,那么要达到5分,必须先向3分迈进,正所谓“千里之行,始于足下”,而且要一步一个脚印。
2024-07-02 09:51:22
170
原创 AI 编程探索- iOS动态标签控件
到这里我们通过AI快速实现了动态标签控件的核心部分,只需再稍微调整一下label的样式就能完美实现我们的需求。AI帮我们写了大部分的可用的代码,虽然不能完全采用,但是确实提升了我们的开发效率,代码质量也是很不错的,我们要做的就是根据自己的需求进行修改一下。后面继续在实战中探索如何高效使用AI来帮助我们开发和学习。
2024-06-25 10:13:28
519
原创 Flutter-使用MethodChannel 实现与iOS交互
使用 MethodChannel 在 Flutter 与原生 Android 和 iOS 之间进行通信,可以让你在 Flutter 应用中调用设备的原生功能。通过以上步骤,你已经掌握了如何在 Flutter 应用中使用 MethodChannel 与 iOS 代码进行通信。这种方法不仅能帮助你充分利用设备的原生功能,还能提升应用的性能和用户体验。无论是调用相机、获取位置信息,还是其他复杂的原生操作,MethodChannel 都能为你提供一个简洁高效的解决方案。
2024-06-12 18:23:18
1281
2
原创 Flutter- AutomaticKeepAliveClientMixin 实现Widget保持活跃状态
在 Flutter 中,AutomaticKeepAliveClientMixin 是一个 mixin,用于给 State 类添加能力,使得当它的内容滚动出屏幕时仍能保持其状态,这对于 TabBarView 或者滚动列表中使用 PageView 时非常有用,因为这些情况下你通常希望保留用户的滚动位置或者输入状态等。// ...你需要重写 wantKeepAlive 并返回 true 来告诉框架这个 Widget 需要保留状态。这通常是根据当前的业务逻辑来决定的。@override。
2024-06-12 11:49:19
914
原创 Flutter 常见报错记录
这个错误信息表明Flutter应用因为尝试通过FlutterStandardCodec编解码不支持的值类型而崩溃。FlutterStandardCodec被用于Flutter与原生代码之间的消息传递。当你试图发送一个不被支持的数据类型时(例如,自定义对象而不是基本类型或提供支持的复合类型),就会发生这样的错误。检查 Flutter与原生代码之间的消息传递时,排查两端发送和接收的数据类型是否一致。
2024-06-09 14:11:47
662
原创 iOS Universal Links 配置
Universal Links 通用链接,我的理解就是通过点击这个链接,能够打开应用,还可以根据配置的路径和参数跳转到App内指定页面和传递参数。我们做微信QQ登录分享时会要求配置这个链接。网上有很多文章介绍了如何配置,但是每次随便搜一篇来照着操作,总是会遇到问题,算了还是自己花点时间记录一下吧!这里记录一下参考的文档,大家也可以直接移步过去,记录的原因主要是万一以后我文章的步骤过时啦,就可以去这几个官方的地方瞅瞅!工具域名:假设我们的域名是 example.com。
2024-06-09 13:38:43
2783
原创 Baidu Comate For Xcode 你的AI编程助手
基于文心大模型,结合百度编程大数据,为你生成优质编程代码你的AI编程助手,你的编码效率提升好帮手Baidu Comate 释放“十倍”软件生产力我相信当你熟练地将 Baidu Comate 应用在平时的开发工作中,会极大地提升你的效率。目前还可以免费体验以上所有功能,道友们还在等什么呢?
2024-05-19 23:25:34
1945
3
原创 iOS Xcode Debug View Hierarchy 查看视图层级结构
我们难免会遇到接手别人项目的情况,让你去改他遗留的问题,想想都头大,😂可是也不得不面对。最为开发者只要让我们找到出问题的代码文件,我们就总有方法去解决它,那么如何快速定位问题对应的代码文件呢?今天分享一个Xcode的超实用工具 Xcode Debug View Hierarchy 通过这个工具,我们可以很方便地查看视图的层级结构,从而找到视图所对应的类文件。
2024-05-11 13:53:45
1910
原创 高效休息法
不论忙或不忙,睡得多或少,你是否总是感到很疲倦?注意力一直无法集中,脑中杂念丛生?如果你有以上状态,也许你累的不是身体,而是大脑。休息不仅仅是放松身体,大脑的疲劳也不容忽视。本书介绍了消除大脑疲劳的七种休息法,帮助人们舒缓心情、释放压力、排除杂念、调节身心状态,并塑造不易疲惫的大脑。
2024-04-30 09:47:50
697
原创 Flutter - iOS 开发者速成篇
作为有iOS经验的兄弟们,学习Dart最快的方式,就是和自己掌握的swift 和 OC 对比着学。嗯,说着轻松,具体怎么比较呢?
2024-04-14 23:22:26
1309
3
原创 Flutter - flutter_gen 资源管理
推荐使用flutter_gen 管理使用资源,这种方式避免了直接使用字符串路径,有助于减少拼写错误,并且资源的任何更改都将在编译时检测到。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!
2024-04-11 16:37:18
2130
3
原创 M1 Flutter SDK的安装和环境配置
作为iOS 开发,观望了许久的Flutter ,还是对它下手了,不是故意要卷,没办法工作需要!既然要学Flutter,首先就得配置Flutter的相关环境,由于我的是M1 芯片的电脑,记录下来配置过程,希望能够帮到跟我一样是iOS 开发学FLutter 的兄弟。M1安装Flutter前 先安装Xcode 和 CocosPadsXcode 15安装FLutter 分三步安装 VS Code使用VS Code安装Flutter SDK更新环境变量。
2024-04-11 00:04:03
1499
原创 英语学习笔记-音节划分和字母发音对照表
当我们熟练掌握啦,音节划分和字母发音对照表后,我们就会习得两个技能,技能一看见单词就会读,技能二听到单词就会写。学而时习之,不亦说乎。
2024-04-08 22:18:23
1099
2
原创 iOS:如何安全且优雅地操控数组元素
在 iOS 开发的世界里,数组(Array)的操作频率高得令人咋舌。数组贯穿于我们每一个功能的实现和每一行代码的编写之中,一手托起了数据结构的半边天。但这位工具之王,有时候也会变身为导致程序崩溃的罪魁祸首。当访问越界,当插入失误,不经意间,崩溃就在不经意的一瞬发生了。作为开发者,我们的日志文件不断地提醒我们,不能对数组的操作盲目自信。经历过一两次刻骨铭心的崩溃后,我们意识到,必须有所行动。我想,我们很多人都有过这样的体验——为了避免冗长的 if-else 判断逻辑,而逐渐忽视了程序的健壮性。
2024-04-08 14:07:38
1127
原创 英语学习笔记-元音
除了标红部分,需要单独学一下发音,黑色部分完全按照我们熟悉的拼音来发音。通过分类、找规律的方法,我们就轻松地掌握啦元音是如何发音的。探讨努力,而非完美。
2024-04-05 22:53:08
382
原创 iOS Widget Custom Intent 去除邮件警告
Although delivery was successful, you may want to correct the following issues in your next delivery. Once you've corrected the issues, upload a new binary to App Store Connect.
2024-04-02 11:52:58
1641
原创 iOS 利用URL解析技术,实现域名、路径、文件名和文件类型的获取
在iOS开发中,我们经常需要处理URL,例如从网络下载数据、处理网页跳转等。为了更好地理解和操作URL,我们需要解析URL的各个组成部分,包括域名、路径、文件名和文件类型。本文将教你如何利用Swift的URL解析技术,轻松获取这些信息。
2024-03-31 15:33:49
1292
原创 iOS UIFont-真香警告之字体管理类
不知道友们是否有过这种经历,项目已经迭代了很多版本,项目中的文件已经上千个了,诶 恰巧这个时候,产品大大给你来啦这么一个需求,要新增一个全局切换字体的功能,另外字号大小也要跟随屏幕按照一定规则实现自适应。要实现这个需求,首先写一个设置字体的扩展方法,然后将之前项目中设置字体的地方全部替换成新增的方法,这一步替换工作不能全局替换,干这种简单的重复的毫无技术含量的体力工作,哎 一言难尽!!!我们首先参考了系统方法将我们的自定义方法的结构搭建好,然后逐一将结构中的枚举实现,最后再将方法内部的实现逻辑完善。
2024-03-29 13:47:34
1084
原创 iOS UIFont-实现三方字体的下载和使用
在上一章我们完成啦如何加载使用本地的字体。如果我们有很多的字体可供用户选择,我们当然可以全部使用本地字体加载方式,可是这样就增加了我们的包体积,我们当然还是希望自己的App包小一点,所以一般这种有很多种字体供选择切换的功能,是先让用户自己选择字体下载,下载完成后再设置字体。到这里字体的下载和使用就完成了,需要特别注意调用注册字体的时机,这里有点坑,已经注册过的字体重复调用的话,postScriptName会获取失败。
2024-03-25 13:49:56
832
iOS ColleCtionView 如何让cell 不重复创建并且只在展示的时候才创建
2024-08-17
UIImageTool + CVPixelBufferRef 转换为 UIImage + gradientImage 渐变
2024-03-31
iOS 判断触摸位置是否在图片的透明区域
2024-03-10
iOS 使用ScrollerView 实现装扮功能(基础)博客配套Demo
2024-02-01
libarclite-arc
2024-01-02
iOS- swift 制作来电铃声 + 裁剪音频+音频格式转换
2023-08-11
swift-livePhoto-实况图制作demo
2023-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人