排序
如何从链接原理的角度理解 fishhook 的设计思路?
我正在参加「掘金·启航计划」 最近在三刷《程序员的自我修养:链接、装载与库》,为了加深对于相关知识的理解,我又阅读了 fishhook 的源码。本文希望从程序的链接原理出发,详细介绍 fishhook...
iOS多语言解决方案全面指南
本文以及相关工具和代码旨在为已上线的iOS项目提供一种快速支持多语言的解决方案。由于文案显示是通过hook实现的,因此对App的性能有一定影响;除了特殊场景的文案显示需要手动支持外,其他任务...
iOS – 浅谈Core Animation
我正在参加「掘金·启航计划」 前言 Core Animation 是苹果提供的一套动画框架,用于在 iOS 和 macOS 应用程序中创建动画效果。它基于图层(CALayer)的概念,可以对图层进行各种动画和转换操作...
iOS 各个系统版本的定位权限设置
系统对定位权限的设置会随着时间发生变化,而我们只能拥抱变化!本文是对定位权限设置做个记录,方便以后做系统适配。本篇也会持续更新~。 在iOS 7及以前: 系统设置里面有永不、始终选项。 iOS ...
爆款观察丨羊了个羊?箭头消消消!更适合中国宝宝体质的益智游戏
比羊了个羊更难的益智小游戏出现了。 由杭州非羊科技有限公司研发的箭头消除游戏——消了个消【箭头消消消】,凭借魔性洗脑的“挖呀挖呀挖”以及超越【羊了个羊】的游戏难度,不仅一举拿下抖音2...
Swift 周报 第三十一期
前言 本期是 Swift 编辑组自主整理周报的第二十二期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加...
SceneDelegate 在 Swift Storyboard 项目中的使用
在 Xcode 11以后,新建采用Storyboard 的Swift项目,会自动生成一个 SceneDelegate 文件。 如果使用这个默认生成文件,iOS版本就需要保持在13以上。当然,也可以删除这个文件,重新只使用AppDel...
iOS – 上手AR
我正在参加「掘金·启航计划」 前言 随着 Apple Vision Pro 的发布,势必掀起新一波的Ar潮,简单了解一下来个小Demo 开始 要在iOS中创建一个的AR物体,你可以使用 ARKit 和 SceneKit 来实现 首...
【译】了解 mergeable libraries(可合并库)
这是一篇来自 Pol Piella Abadia 的文章,主要介绍了今年 WWDC 中一个非常低调却蛮重要的新特性 mergeable libraries(可合并库)。建议阅读。 在阅读之前,首先需要了解几个关键词和它们之间的...
WWDC23 Meet SwiftUI for spatial computing
视频通过solar system 这个项目讲解SwiftUI 在visionOS的入门操作。 构建空间app需要使用swiftUI,苹果扩展了swiftUi功能,并能和RealityKit深度配合。 从Windows、Volumes、Full Spaces三个方...
Swift编译特性和条件编译
预处理和预编译 Swift与C、C++、Objective-C不同,它没有预处理过程。使用的是预编译来解析和处理源代码-即在编译时处理代码。 预编译包含如下几个功能 编译特性(attribute) 编译标志(条件编译...
git代码分支操作整理
当我们的同一个项目中开发人员多时,分支也会多,这样一来一个分支操作规范就显得很有必要了。下面是自己对于项目建分支的想法和分支常用的操作整理 一、项目要创建多少分支 我们的APP项目代码...
MVVM架构设计在iOS中的实践
在iOS开发中,MVC架构模式下,控制器会过于臃肿,所以目前比较流行的是MVVM架构模式。下面简单介绍一下iOS中MVVM的实践落地。 一、iOS的MVVM 下图是MVVM-C设计模式的结构图,其中的C指的不是控...
iOS-解决定位权限卡顿问题
一、简介 在iOS系统中,定位权限获取是一个涉及进程间同步通信的方法,如果频繁访问可能会导致卡顿或者卡死。在一些打车或者地图类的APP中,定位权限的卡顿报错可能是大头,亟需解决! 下面是系...
如何在项目中使用 SFSafariViewController
SFSafariViewController 使用 SFSafariViewController 的好处是它可以让你在 App 内提供一个跟 Safari 几乎一样功能方式来展示网页,不需要定制 UI,简单几行代码即可实现,并且数据也是跟 Safa...
组件化之CocoaPods私有库的创建和管理
在iOS项目开发中,我们制作自己的远程私有库或者开源库,然后用pod方式来安装或者移除比我们手动去删除或者集成更加的简单而且也不容易出错,管理起来更加方便。我们一般选择在github或者gittee...
iOS中将UIView事件跨层传递给VC
在iOS工程中,通常我们的详情页面UI都是比较复杂的,这就导致往往视图层级较深,这种情况下,如果要将内部的UIView识别到事件时,抛出到VC来执行具体处理,需要一层一层中转,很麻烦。 本文是介...
Before VisionOS: AR场景下实现手势识别交互-ARKit + RealityKit + VisionKit
我正在参加「掘金·启航计划」 引言 6月21日苹果发布了Xcode 15 beta 2,包含了VisionOS 1 beta,在正式进入VisionOS的开发前,我将通过一个简单的demo,讲解一下苹果与AR相关的几个原生框架的...
软件设计原则-iOS
最近在搞代码重构,这是一个很好的学习软件设计原则、设计模式、架构设计并实践的机会,本文是以一个iOS开发人员对软件设计原则的一个概括总结。 一、概况 软件设计原则和设计模式是紧密相关的...
swiftc-Swift编译器详解
参考 the-swift-compiler-for-beginners 编译Swift源文件 创建main.swift, 输入如下代码 print('Hello world!') # 编译 main.swift, -o 设置生成的可执行程序名字 swiftc main.swift -o hello #...