排序
iOS:零碎整理iOS音视频开发API
在ios开发过程中,音频经常会用到,而音频根据使用场合分为音效和音乐,音效一般只播放1~2秒 ios音效支持的格式 ios 支持的音频格式有:aac、alac、he-aac、iLBc、IMA4、Linea PCM、MP3...
iOS中将UIView事件跨层传递给VC
在iOS工程中,通常我们的详情页面UI都是比较复杂的,这就导致往往视图层级较深,这种情况下,如果要将内部的UIView识别到事件时,抛出到VC来执行具体处理,需要一层一层中转,很麻烦。 本文是介...
组件化之CocoaPods私有库的创建和管理
在iOS项目开发中,我们制作自己的远程私有库或者开源库,然后用pod方式来安装或者移除比我们手动去删除或者集成更加的简单而且也不容易出错,管理起来更加方便。我们一般选择在github或者gittee...
如何在项目中使用 SFSafariViewController
SFSafariViewController 使用 SFSafariViewController 的好处是它可以让你在 App 内提供一个跟 Safari 几乎一样功能方式来展示网页,不需要定制 UI,简单几行代码即可实现,并且数据也是跟 Safa...
MVVM架构设计在iOS中的实践
在iOS开发中,MVC架构模式下,控制器会过于臃肿,所以目前比较流行的是MVVM架构模式。下面简单介绍一下iOS中MVVM的实践落地。 一、iOS的MVVM 下图是MVVM-C设计模式的结构图,其中的C指的不是控...
git代码分支操作整理
当我们的同一个项目中开发人员多时,分支也会多,这样一来一个分支操作规范就显得很有必要了。下面是自己对于项目建分支的想法和分支常用的操作整理 一、项目要创建多少分支 我们的APP项目代码...
iOS-解决定位权限卡顿问题
一、简介 在iOS系统中,定位权限获取是一个涉及进程间同步通信的方法,如果频繁访问可能会导致卡顿或者卡死。在一些打车或者地图类的APP中,定位权限的卡顿报错可能是大头,亟需解决! 下面是系...
iOS老司机的接地气算法Tips
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情 1. 前言 在iOS行业算法除了面试时的筛选作用, 还有其他作用吗? 不少一线iOS开发人员可能都会存在...
货拉拉货运iOS用户端架构优化实践
作者:Sherwin.Chen 一、背景 在移动应用发展过程中,随着团队人员的扩大、业务复杂化,代码量随之增多,从而带来了团队协作开发中各种各样的问题: 功能代码之间的依赖复杂,可维护性差。 协同...
详解最新版 React Native搭建IOS环境过程
为什么要写这个文档,给新开发IOS APP的开发人员提供一个引导,并且能在搭建过程中遇到的问题提供解决方案和思路,以至于能快速搭建好开发环境。在搭建过程中,笔者遇到了很多坑,初次搭建IOS环...
Before VisionOS: AR场景下实现手势识别交互-ARKit + RealityKit + VisionKit
我正在参加「掘金·启航计划」 引言 6月21日苹果发布了Xcode 15 beta 2,包含了VisionOS 1 beta,在正式进入VisionOS的开发前,我将通过一个简单的demo,讲解一下苹果与AR相关的几个原生框架的...
Swift实现本地化多语言,咋操作?
本地化多语言是啥? 在App项目中,通常开发者仅仅会支持一种语音。比如中国大陆区的开发者,仅支持汉语版。多语言的好处可以帮助运营适配各个国家的App名称,以及内容方便App进行出海前的准备工...
软件设计原则-iOS
最近在搞代码重构,这是一个很好的学习软件设计原则、设计模式、架构设计并实践的机会,本文是以一个iOS开发人员对软件设计原则的一个概括总结。 一、概况 软件设计原则和设计模式是紧密相关的...
Swift Macros 元编程为Codable解码提供默认值
Swift Macros 元编程为Codable解码提供默认值 前言 在WWDC2023中,Apple向我们介绍了Swift官方的元编程工具'Swift Macros',与之前社区中的Sourcery相比,具有以下几个优点: 调用便捷:使用Swi...
swiftc-Swift编译器详解
参考 the-swift-compiler-for-beginners 编译Swift源文件 创建main.swift, 输入如下代码 print('Hello world!') # 编译 main.swift, -o 设置生成的可执行程序名字 swiftc main.swift -o hello #...
iOS老司机的网络相关Tips
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情 1. 前言: 作为一个有自我修养的iOS工程师, 对网络的理解体现在开发中的方方面面 如果你是个科班毕...
ios-整理RunLoop的实际开发应用
前言 Runloop在iOS中是一个很重要的组成部分,对于任何单线程的UI模型都必须使用EvenLoop才可以连续处理不同的事件,而RunLoop就是EvenLoop模型在iOS中的实现。在前面的几篇文章中,我已经介绍...
货拉拉移动端Abort异常监控实践
引言 Hades是货拉拉自研的移动端监控平台,协同日志监控和Devops等平台,共同支撑集团内部所有移动端工程师的日程研发工作。经过近两年的建设,目前Hades平台日均处理亿级数据,为货拉拉各业务...
iOS – Carthage
Carthage 是一个适用于 iOS 和 macOS 开发的去中心化依赖管理工具。它的主要目标是提供一种简单和灵活的方式来集成第三方库到你的项目中,而不修改项目的构建设置。 1.安装 你可以使用 Homebrew...
iOS启动优化看我就够了
背景 iOS启动优化是指在iOS设备上提升应用程序的启动速度和响应性能的一系列技术和方法。随着移动设备的普及和应用程序的功能复杂化,用户对应用程序的响应速度要求也越来越高,因此启动优化成...