iOS 开发
iOS开发
Harvey66
默默耕耘:iOS、Swift、OC、Flutter、Python
展开
-
基于截止至 2024 年 06 月 09 日,在 App Store 上进行交易的设备数据统计,iOS/iPadOS 各版本更新情况
苹果设备中iOS/iPadOS 各版本更新情况原创 2023-10-07 14:11:44 · 876 阅读 · 0 评论 -
CacherKit:纯 Swift 的 iOS 简单数据缓存管理库,支持内存、磁盘、keychain钥匙串,接口统一,使用方便
CacherKitiOS 简单数据缓存管理库,支持内存、磁盘、keychain钥匙串,接口统一,使用方便WarningVerstion 2.0.0 not downward compatible.Requirements / 使用条件iOS 11.0+Xcode 10.2+Swift 5.0+Installation / 安装CocoaPodspod 'CacherKit'Manually / 手动安装If you prefer not to use either of the原创 2021-06-18 13:31:12 · 512 阅读 · 0 评论 -
ElegantSnap:纯Swift库,基于SnapKit, 用法简洁优雅,可运行在iOS、tvOS、macOS上自动布局库
ElegantSnap基于SnapKit, 用法简洁优雅,可运行在iOS、tvOS、macOS上自动布局库ElegantSnap(Base on SnapKit) to make Auto Layout easy and elegant on both iOS and OS X.Requirements / 使用条件iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+Xcode 10.2+Swift 5.0+Installation / 安装CocoaPods原创 2021-06-18 13:41:58 · 382 阅读 · 1 评论 -
BasicAnimation:纯Swift的基础动画库,支持 iOS 属性动画:缩放、旋转、平移、背景颜色、透明度、阴影等和弹性动画
BasicAnimationiOS 属性动画:缩放、旋转、平移、背景颜色、透明度、阴影等,一句代码的事支持以下 KeyPath:public enum BAKeyPath: String { /// x、y轴缩放 case scale = "transform.scale" /// x轴缩放 case scaleX = "transform.scale.x" /// y轴缩放 case scaleY = "transform.scale.y"原创 2021-06-18 13:53:12 · 1038 阅读 · 0 评论 -
更新Xcode 版本后运行项目出现错误 Unable to boot the Simulator 解决方法
出现 Unable to boot the Simulator 错误原因很多,以下方法不一定都适用,我是通过以下方法解决的。原创 2023-10-06 11:49:01 · 4331 阅读 · 0 评论 -
Swift 开发:优雅处理转义字符必定用到小技巧,OC 可没有此福利
一般是通过加斜杠(\)来处理转义字符,比如下面示例:let string = "\"Swift 5.2\": Hello world"print(string) /// "Swift 5.2": Hello world在 Swift 5.2 开始,我们可以使用两个 # 包起来处理转义字符,上面的示例可以这样写:let string2 = #""Swift 5.2": Hello world"#print(string2) /// "Swift 5.2": Hello world再来看一个拼接原创 2021-08-03 10:56:41 · 2703 阅读 · 0 评论 -
由 App Store 在 2021 年 6 月 3 日实测而来,iOS/iPadOS 各版本在所有设备中所占比例详情
iOS 和 iPadOS 的使用情况由 App Store 在 2021 年 6 月 3 日实测而来。iPhone在过去四年推出的设备中,iOS 14 的普及率达 90%。90% iOS 148% iOS 132% 较早版本所有的设备中,iOS 14 的普及率达 85%。85% iOS 148% iOS 137% 较早版本iPad在过去四年推出的设备中,iPadOS 的普及率达 91%。91% iPadOS 148% iPadOS 131% 较早版本所有的设备中,原创 2021-06-20 15:32:33 · 2152 阅读 · 0 评论 -
App Store 统计,截止2020年6月17日,iOS/iPadOS 各版本在所有设备中所占比例情况:iOS 13 为81%,iPadOS 为73%
iOS最近4年发布的 iPhone 设备中,92%的设备已更新至 iOS 13,7%的设备已更新至 iOS 12,仅2%的设备仍然使用 iOS 11 及更早的系统。在所有已发布的 iPhone 设备中,81%的设备已更新至 iOS 13,13%的设备已更新至 iOS 12,仅6%的设备仍然使用 iOS 11 及更早的系统。iPadOS最近4年发布的 iPad 设备中,93%的设备已更新至 iPadOS,5%的设备已更新至 iOS 12,仅1%的设备仍然使用 iOS 11 及更早的系统。在所原创 2020-06-20 13:35:33 · 2072 阅读 · 0 评论 -
App Store 统计,截止2020年1月27日,iOS/iPadOS 各版本在所有设备中所占比例情况:iOS 13 为70%,iPadOS 为57%
在所有设备中,iOS 13 占70%,iOS 12 占23%,iOS 11 及之前版本占7%。在所有设备中,iPadOS 占57%,最近4年推出的设备中占 79%,iPadOS 是苹果于2019年6月4日推出。开发中适配到 iOS 11 基本上也够了,狠一点的话,iOS 11 也可以放弃了...原创 2020-05-15 11:44:23 · 2737 阅读 · 1 评论 -
iOS 原生实现生成二维码(CoreImage)工具类,不依赖第三方库,可自定义背景颜色,添加logo(Swift 4.0)
import Foundationimport CoreImageimport UIKitextension UIColor { var coreImageColor: CIColor { return CIColor(color: self) } var components: (red: CGFloat, green: CGFloat, bl...原创 2018-04-17 12:18:33 · 616 阅读 · 1 评论 -
iOS/macOS/iPadOS/tvOS开发:如果不使用 AFNetworking、Alamofire 等第三方网络请求框架,你可还会写一个简单的网络请求呢?
Swift 很原始的一个简单的网络请求let url = "https://api.example.com/path"let request = URLRequest(url: URL(string: url)!)let session = URLSession.sharedlet task = session.dataTask(with: request) { (data, resp...原创 2020-05-07 23:37:35 · 468 阅读 · 0 评论 -
iOS/iPadOS/macOS/tvOS 开发:Swift/Objective-C高效生成随机字符串
原文连接Objective-C版// 随机生成字符串(由大小写字母、数字组成)+ (NSString *)random: (int)len { char ch[len]; for (int index=0; index<len; index++) { int num = arc4random_uniform(75)+48; ...原创 2018-11-15 17:18:28 · 1255 阅读 · 1 评论 -
iOS/macOS/iPadOS/tvOS 开发:中文转拼音,中文转带声调拼音,中文提取首字母
Swift中文转拼音(带声调)比如:中国 -> zhōng guólet base = "中国"let mutableString = NSMutableString(string: base)CFStringTransform(mutableString, nil, kCFStringTransformToLatin, false)print(mutableString) // zhōng guó中文转拼音(无声调)比如:中国 -> zhong guolet base =原创 2020-05-10 10:45:56 · 542 阅读 · 0 评论 -
ElegantSnap 一个优雅的,易用的iOS/tvOS/macOS自动布局框架, 超级详细的使用教程,多视图水平等宽/垂直等高排列
ElegantSnapElegantSnap(Base on SnapKit) to make Auto Layout easy and elegant on both iOS and OS X.基于SnapKit, 用法简洁优雅,可运行在iOS、tvOS、macOS上自动布局库Requirements / 使用条件iOS 10.0+ / Mac OS X 10.12+ / tvOS ...原创 2020-01-02 23:39:10 · 552 阅读 · 1 评论 -
Peek和Pop功能开发(3D Touch开发之一)
1、哪些设备支持3D TouchiPhone 6s/Plus、iPhone 7s/Plus、iPhone 8s/Plus、iPhone X(系统必须是iOS9或者更新的版本)2、怎么实现Peek和Pop功能要实现Peek和Pop,必须实现UIViewControllerPreviewingDelegate,此协议只有两个接口1)Peek接口public func p...原创 2017-10-16 18:17:47 · 903 阅读 · 1 评论 -
iOS开发技术 - 二维码扫描、生成
更多更详细教程请访问个人站点: [**码出一个长城**](https://www.yaozuopan.top)由于本人已经把二维码类库(包含第三方库)打包成framework(即 DimensionalCode.framework),只要简单2步就可以实现二扫的扫描与生成,并且提供了完全自定义接口,可按照自己的爱好进行UI设计。下面教你怎么使用 DimensionalCode.framework。...原创 2013-10-20 00:21:24 · 2892 阅读 · 4 评论 -
Swift 4.0中JSON与模型原生互转(JSONEncoder/JSONDecoder的使用)
在Objective-C中,苹果并没有提供JSON转模型(模型转JSON)的接口,往往在开中需要添加第三库来处理JSON数据,比如:JsonModel、MJExtension、Mantle、JsonKit等,想了解更多这些库,可以去看一下这篇文章iOS中JSON解析三方库的比较。在Swfit中从 4.0版本开始,苹果提供JSONEncoder/JSONDecoder两个类处理JSON数据,其中J...原创 2017-10-16 12:01:22 · 6943 阅读 · 0 评论 -
iOS 原生库(AVFoundation)实现二维码扫描,封装的工具类,不依赖第三方库,可高度自定义扫描动画及界面(Swift 4.0)
Create QRScanner.swift file//// QRScanner.swift// NativeQR//// Created by Harvey on 2017/10/24.// Copyright © 2017年 Harvey. All rights reserved.//import Foundationimport AVFoundation...原创 2018-04-18 11:49:04 · 1391 阅读 · 1 评论 -
iOS开发:十六进制颜色转UIColor
Objective-CUIColor * __nullable UIColorFromHexValue(NSUInteger hexValue) { CGFloat red = (hexValue & 0xFF0000) >> 16; CGFloat green = (hexValue & 0x00FF00) >> 8; ...原创 2018-10-22 21:54:09 · 340 阅读 · 0 评论 -
iOS开发:UIColor转成纯色图片(UIImage)
Objective-c 版本- (nullable UIImage *)imageFromColor: (nonnull UIColor *)color withSize:(CGSize)size { CGRect rect = CGRectMake(0, 0, size.width, size.height); UIGraphicsBeginImageCon...原创 2018-10-22 22:19:01 · 2557 阅读 · 0 评论 -
iOS开发:判断iPhone是否是刘海屏iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等
Objective-C// iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等// 判断刘海屏,返回YES表示是刘海屏// UIView中的safeAreaInsets如果是刘海屏就会发生变化,普通屏幕safeAreaInsets恒等于UIEdgeInsetsZero- (BOOL)isNotchScreen { if (@available(...原创 2018-11-07 17:16:42 · 15317 阅读 · 1 评论 -
iOS 指纹认证登陆开发(TouchID)
设计思路TouchID 关联账号 用户登陆成功 -> 开启TouchID登陆 -> TouchID验证 -> 记录用户信息(验证通过) -> 关联完成TouchID 登陆 用户使用TouchID登陆 -> TouchID验证 -> 从本地读取用户信息(验证通过) -> 与服务器通讯 -> 完成登陆注意事项...原创 2017-10-20 16:59:02 · 1123 阅读 · 0 评论