摘要:
iOS提供了多种方式来实现应用之间的相互跳转。其中,URL Schemes和Universal Links是两种主要的方法。下面详细介绍这两种方法,并提供相应的示例代码,同时对它们的优缺点进行分析。 一、URL Schemes 1. 什么是URL Schemes URL Schemes是一种基于UR
阅读全文
posted @ 2024-07-16 16:33
Mr.陳
阅读(416)
推荐(0)
摘要:
iOS 生物识别与手势识别:从 FaceID/TouchID 到 UIGestureRecognizer FaceID/TouchID 为 App 提供了安全便捷的身份验证,手势识别则丰富了用户交互。本文从底层原理讲起,深入解析 LocalAuthentication 框架的安全机制、错误码处理、两
阅读全文
posted @ 2024-07-16 16:17
Mr.陳
阅读(404)
推荐(0)
摘要:
程序员可以从以下一些论坛和社区中获益,这些平台提供了丰富的资源、交流机会以及解决技术问题的场所: Stack Overflow:这是全球最著名的程序员问答社区,你可以在这里找到各种编程语言和技术的解决方案。 GitHub Discussions:很多开源项目会在GitHub Discussions里
阅读全文
posted @ 2024-07-16 13:51
Mr.陳
阅读(990)
推荐(0)
摘要:
微信小程序是一种运行在微信生态系统内的轻量级应用程序。它们无需安装、即用即走,为用户提供了便捷的使用体验。对于开发者而言,小程序开发是一种更简洁、高效的方式来触达用户。 小程序开发简介 编程语言:小程序使用的主要语言是JavaScript,以及配套的WXML(微信的HTML)和WXSS(微信的CSS
阅读全文
posted @ 2024-07-16 11:19
Mr.陳
阅读(482)
推荐(0)
摘要:
一、软件执行过程 二、寄存器与内存 通常,CPU会先将内存中的数据存储到寄存器中,然后再对寄存器中的数据进行运算 三、汇编语言的发展 汇编语言的种类 8086 、x86(32bit)、 x64(64bit) 、 ARM(嵌入式 移动设备)、...... 作为iOS开发工程师,主要的汇编语言是 AT&
阅读全文
posted @ 2024-07-16 10:13
Mr.陳
阅读(69)
推荐(0)
摘要:
了解Swift的内存布局和底层原理对于编写高性能和内存高效的应用非常重要。接下来,我将更详细地介绍Swift的内存管理机制和一些底层实现细节,包括内存布局、ARC(自动引用计数)、引用类型和值类型的区别,及其在底层的实现。 内存布局(Memory Layout) 栈(Stack) 栈内存用于存储函数
阅读全文
posted @ 2024-07-16 10:11
Mr.陳
阅读(333)
推荐(0)
摘要:
Swift的闭包(Closures)是一种将功能块和上下文整合并演示在代码中的一种手段。闭包可以捕获并存储其上下文中的变量和常量。与普遍存在于其他语言的匿名函数(如Python的lambda、JavaScript的函数表达式)类似,Swift的闭包提供了强大的功能,并在很多场景中替代了函数。 闭包有
阅读全文
posted @ 2024-07-16 10:03
Mr.陳
阅读(345)
推荐(0)
摘要:
SwiftUI 是苹果推出的一种现代化方式,用于创建跨所有 Apple 平台的用户界面。它通过声明性语法简化了 UI 的开发流程。下面是一个基本的 SwiftUI 示例,展示了如何使用 SwiftUI 构建一个简单的 "Hello World" 应用。 示例步骤 1. 创建一个新的 SwiftUI
阅读全文
posted @ 2024-07-12 17:28
Mr.陳
阅读(292)
推荐(0)
摘要:
可选项定义 可选项,一般也叫可选类型,它允许将值设置为nil 在类型名称后面加个问号? 来定义一个可选项 var name: String? = "Jack" name = nil var age: Int? // 默认就是nil age = 10 age = nil var array = [1,
阅读全文
posted @ 2024-03-01 16:47
Mr.陳
阅读(112)
推荐(0)
摘要:
iOS MDM Vendor 申请与证书生成 MDM(Mobile Device Management,移动设备管理)是企业管理 iOS 设备的核心技术。成为 MDM Vendor 并正确生成证书是搭建 MDM 系统的第一步。本文从 MDM 基本原理讲起,完整梳理从申请 MDM Vendor 到生成
阅读全文
posted @ 2022-03-28 19:03
Mr.陳
阅读(2695)
推荐(0)
摘要:
一、开发工具 Visual Studio Microsoft Visual Studio(简称VS)是微软公司提供的IDE,可以在VS上编写C、C++、C#等多种语言的项目,所写的代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Phone、Windows CE、
阅读全文
posted @ 2021-09-29 17:35
Mr.陳
阅读(5438)
推荐(0)
摘要:
iOS 内购问题与防范:越狱欺诈、重复订单、丢单与退款 内购(IAP)是 App 变现的核心,但实际开发中会遇到越狱欺诈、重复发放、丢单、退款等问题。本文从内购基本流程出发,深入解析四大核心问题(越狱欺诈、重复订单、丢单、退款)的底层原理和防范手段,补充订单状态机设计、服务器校验流程、客户端补偿机制
阅读全文
posted @ 2021-09-28 14:24
Mr.陳
阅读(5222)
推荐(2)
摘要:
苹果手机使用charles抓包无法下载charles证书的问题记录: 使用:chls.pro/ssl 无效😢 使用:http://chls.pro/ssl 无效😿 使用:https://www.charlesproxy.com/assets/legacy-ssl/charles.crt 😺😺
阅读全文
posted @ 2021-09-10 11:39
Mr.陳
阅读(4103)
推荐(0)
摘要:
在进入职场尤其作为程序员、运维人员或其他计算机相关岗位时,面试中经常被问到的基础问题之一就是进程和线程的区别。尽管这是一个相对基础的概念,但其背后牵涉的操作系统、并发编程、线程同步和进程间通信等知识都可以让这个问题变得复杂且深入。本文将通过详细的类比和直观的解释,来帮助大家更好地理解进程和线程的概念
阅读全文
posted @ 2019-12-01 13:52
Mr.陳
阅读(997)
推荐(0)
摘要:
问题 今天升级 CocoaPods 到 1.8.4 版本但是随即问题就来了, 执行 pod install 下载库时,出现错误 解决 在 Podfile 加上 source ‘https://github.com/CocoaPods/Specs.git’, 就是不用新版本的 CDN 原本的 Podf
阅读全文
posted @ 2019-11-05 17:52
Mr.陳
阅读(2066)
推荐(0)
摘要:
基本用法 enum Direction { case north case south case east case west } enum Direction { case north, south, east, west } var dir = Direction.west dir = Dire
阅读全文
posted @ 2019-06-24 13:55
Mr.陳
阅读(40)
推荐(0)
摘要:
定义 形参默认是let,也只能是let func sum(v1: Int, v2: Int) -> Int { return v1 + v2 } sum(v1: 10, v2: 20) // 无返回值 func sayHello() -> Void { print("Hello") } func s
阅读全文
posted @ 2019-06-21 16:26
Mr.陳
阅读(53)
推荐(0)
摘要:
if-slse let age = 4 if age >= 22 { print("Get married") } else if age >= 18 { print("Being a adult") } else if age >= 7 { print("Go to school") } else
阅读全文
posted @ 2019-06-21 15:39
Mr.陳
阅读(58)
推荐(0)
摘要:
Hello World print("Hello World") 不用编写main函数,Swift将全局范围内的首句可执行代码作为程序入口一句代码尾部可以省略分号(;),多句代码写到同一行时必须用分号(;)隔开 用var定义变量,let定义常量,编译器能自动推断出变量\常量的类型 Playgroun
阅读全文
posted @ 2019-06-21 11:04
Mr.陳
阅读(75)
推荐(0)
摘要:
iOS WebView 拦截 URL Scheme 完全指南:以淘宝跳转为例 在 App 内用 WebView 加载网页时,经常需要跳转到第三方 App(如淘宝、京东、微信)。本文以"WebView 加载淘宝商品页,点击评论跳转淘宝客户端"为例,从 URL Scheme 原理讲起,详细讲解 Info
阅读全文
posted @ 2019-06-20 15:54
Mr.陳
阅读(21357)
推荐(0)
摘要:
iOS 内购(IAP):从支付流程到收据验证与安全防护 应用内购(In-App Purchase, IAP)是 iOS 应用变现的核心方式,而支付安全是内购的生命线。本文从 StoreKit 完整支付流程讲起,深入解析收据验证的两种方式、苹果验证接口、status 码含义,详细分析 6 种常见攻击手
阅读全文
posted @ 2019-06-06 16:23
Mr.陳
阅读(4388)
推荐(0)
posted @ 2019-03-19 10:55
Mr.陳
阅读(340)
推荐(0)
摘要:
在iOS 10.3出现之前,App实现评价方式一般有两种: (一)deep link调用。在app 链接地址后面拼上action=write-review这种方式可以实现程序内评价; (二)App跳转。 NSURL*url=[NSURLURLWithString: @"itms-apps://itu
阅读全文
posted @ 2019-01-07 15:33
Mr.陳
阅读(1323)
推荐(0)
摘要:
前言 这里主要介绍一下Xcode10 版本主要更新的内容。随着iOS12的发布,Xcode10已经可以从Mac App Store下载。Xcode10包含了iOS12、watchOS 5、macOS10.14以及tvOS 12的SDK。另外,开发者可以从Xcode中看到当前Deployment Ta
阅读全文
posted @ 2018-09-25 08:49
Mr.陳
阅读(3412)
推荐(0)
摘要:
iOS 经典死锁:主线程 sync 主队列 题目 - (void)interview01 { // 以下代码是在主线程执行的 NSLog(@"执行任务1"); dispatch_queue_t queue = dispatch_get_main_queue(); dispatch_sync(queu
阅读全文
posted @ 2018-09-04 18:00
Mr.陳
阅读(1470)
推荐(0)
摘要:
iOS 线程保活完全指南:从 RunLoop 原理到常驻线程封装 线程保活是 iOS 开发中一个进阶但实用的技术。当有任务需要随时在子线程执行时,反复创建销毁线程会消耗性能,这时就需要让一个子线程一直存活。本文从线程与 RunLoop 的关系讲起,深入解析线程保活的核心原理,给出完整的 OC 封装实
阅读全文
posted @ 2018-09-04 16:08
Mr.陳
阅读(1603)
推荐(0)
摘要:
iOS 线程同步:从锁到信号量、从读写锁到死锁排查 多线程编程中,多个线程同时访问同一块共享资源(对象、变量、文件)会引发数据错乱和安全问题。线程同步的目标就是让多个线程按一定顺序安全地访问共享资源。本文从 10 种常见同步技术讲起,深入每种锁的原理与适用场景,补充 atomic/nonatomic
阅读全文
posted @ 2018-09-04 14:12
Mr.陳
阅读(2653)
推荐(1)
摘要:
iOS 加密算法完全指南:从 RSA/AES/MD5 到 HMAC 与钥匙串 数据安全是 iOS 开发中不可忽视的重要话题。本文从三大加密算法(非对称、对称、哈希)讲起,深入解析 RSA、AES、MD5/SHA 的原理与使用场景,重点讲解 iOS 开发的两条安全原则(网络传输不允许明文、本地存储不允
阅读全文
posted @ 2018-08-03 11:32
Mr.陳
阅读(1021)
推荐(0)
摘要:
一、什么是runLoop 1、说白了,runloop就是运行循环 2、runloop,他是多线程的法宝 通常来讲,一个线程一次只能执行一个任务,执行完之后就退出线程。但是,对于主线程是不能退出的,因此我们需要让主线程即使任务执行完毕,也可以继续等待接收事件而不退出,那么runloop就可以做到。 但
阅读全文
posted @ 2018-08-02 13:45
Mr.陳
阅读(722)
推荐(0)
摘要:
一个简单的绘图应用,模仿苹果自带软件备忘录里的涂鸦功能 核心代码 #import "DrawView.h" #import "DrawPath.h" @interface DrawView () @property (nonatomic, strong) NSMutableArray *paths;
阅读全文
posted @ 2018-06-04 17:21
Mr.陳
阅读(4429)
推荐(0)
摘要:
实现一个简单的抽屉效果: 核心思想:KVO实现监听mainV的frame值的变化 核心代码: #import "ViewController.h" // @"frame" #define XMGkeyPath(objc, keyPath) @(((void)objc.keyPath, #keyPat
阅读全文
posted @ 2018-06-04 14:42
Mr.陳
阅读(2216)
推荐(0)
摘要:
FMDB 完全指南:从基础 CRUD 到线程安全与事务优化 FMDB 是 iOS 开发中最常用的 SQLite 数据库封装库,它以 Objective-C 的方式封装了 SQLite 的 C 语言 API,让数据库操作变得简单直观。本文从 FMDB 的核心概念讲起,覆盖完整的 CRUD 操作、进阶查
阅读全文
posted @ 2018-05-30 15:30
Mr.陳
阅读(542)
推荐(0)
摘要:
GCD 并发遍历完全指南:dispatch_group 与 dispatch_apply 原理与实战 遍历数组是开发中最常见的操作之一。普通的 for 循环是串行的,只能利用一个 CPU 核心,当遍历中包含耗时操作(图片处理、数据计算、网络请求)时,效率很低。GCD 提供了两种并发遍历方式——dis
阅读全文
posted @ 2017-07-12 16:06
Mr.陳
阅读(1199)
推荐(0)
摘要:
HTTP 方法完全指南:GET/POST/PUT/DELETE HTTP 方法(HTTP Method,也叫 HTTP 动词)定义了客户端对服务器资源要执行的操作类型。最常用的四种是 GET、POST、PUT、DELETE,对应数据的增删改查(CRUD)。本文从安全性和幂等性两个核心概念讲起,深入解
阅读全文
posted @ 2017-05-12 11:30
Mr.陳
阅读(996)
推荐(0)
摘要:
GCD 信号量与网络请求同步:多请求并发与依赖的完整解决方案 在实际开发中,我们经常遇到这样的场景:一个页面有多个网络请求,需要等所有请求都完成后再刷新 UI;或者几个请求有先后依赖关系,必须 A 完成后再执行 B。本文从这两个经典问题出发,深入解析 dispatch_group、dispatch_
阅读全文
posted @ 2017-04-28 17:06
Mr.陳
阅读(660)
推荐(0)
摘要:
iOS 项目目录结构完全指南:从 MVC 到组件化的工程实践 一、为什么目录结构是面试高频考点 一句话原理 目录结构是项目的"骨架",面试官问目录结构,本质是在考察你的工程经验、架构思维和团队协作能力——一个有经验的开发者,能通过清晰的目录结构让新人快速定位代码,让团队协作效率最大化。 目录结构的三
阅读全文
posted @ 2017-04-19 08:51
Mr.陳
阅读(1202)
推荐(0)
摘要:
Runtime 实战:iOS 开发中 Runtime 的五大高频使用场景 Runtime(运行时)是 Objective-C 的核心机制,前面我们已经专门讲过 Runtime 的底层原理(isa 指针、类结构、方法缓存、消息转发等)。本篇不再重复原理,而是聚焦实际开发中 Runtime 的高频使用场
阅读全文
posted @ 2017-04-17 08:36
Mr.陳
阅读(560)
推荐(0)
摘要:
iOS 10 / Xcode 8 Xcode 8 和 iOS 10 带来了不少变化,其中有些是临时升级坑(如 Xcode 插件屏蔽、日志混乱、Xib 格式兼容) 一、隐私权限设置(Info.plist) iOS 10 起,访问隐私敏感数据(相机、相册、定位、麦克风等)必须在 Info.plist 中
阅读全文
posted @ 2016-11-15 10:49
Mr.陳
阅读(549)
推荐(0)
摘要:
iOS 应用退出方式完全解析:从 exit/abort/assert 到底层原理与崩溃处理 在 iOS 开发中,"退出应用"是一个看似简单实则有很多门道的话题。iOS 没有提供官方的退出应用 API,这是有意为之的设计。本文从进程退出的三种方式(自然死亡、自杀、他杀)讲起,深入解析 exit()、a
阅读全文
posted @ 2016-10-20 10:18
Mr.陳
阅读(20215)
推荐(0)
摘要:
iOS 国际化完全指南:从文本到 App 名称、手动切换语言与 RTL 适配 国际化(Internationalization,简称 i18n)是让 App 支持多种语言和地区的技术。本地化(Localization,简称 L10n)是把 App 翻译成具体语言的过程。本文从最基础的 Localiz
阅读全文
posted @ 2016-03-26 14:54
Mr.陳
阅读(2546)
推荐(0)