SwiftUI入门 - 1. 创建项目,xcode界面

概述 Swift UI 已经出了很久了,都说 Swift UI 好用,但一直没有具体上过手,简直浪费我手里的Apple全家桶,于是决定从即日起做一个SwiftUI入门学习的合集,从0开始学习这一门好久之前就该学习的技术,主要以 iOS 开发的实际操作为主,计划进行以下几个步骤: 一切以实操为主,前期可以忽略大部分细节以及理论知识,首先保住我的新鲜感以及兴趣,万不能半途而废😂完成第一个小项目 todolist,并搞几个小细节功能体验。开始积累细节处理与理论知识等,与其他已经熟练的技术做一些入门阶段的对照学习...

SwiftUI入门 - 3. 提示弹窗,TextField自动聚焦

发布时间:2022-11-18 SWIFTUI SWIFTUI开发 SWIFT IOS
置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行 “不积跬步,无以至千里;不积小流,无以成江海” 继续 续接上篇文章,我们实现了一个简单的登陆界面,但是我们的表单提示,例如用户名等,是用的文字在按钮上方提示的 那我们如何去实现一个提示框用于提示呢?然后再自动聚焦到输入框中呢? 提示框的实现 // 是否显示弹窗的标识@State private var showAlert:Bool = false;// 在登陆按钮之后放置弹窗Button(登陆){ // 切换要显示...

SwiftUI入门 - 4. 跳转页面、导航栏

发布时间:2022-11-18 思维的火花 SWIFTUI SWIFTUI开发 SWIFT IOS
置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行 “不积跬步,无以至千里;不积小流,无以成江海” 继续 续接上篇文章,我们在一个简单的登陆界面中实现了表单提示,然后再自动聚焦到输入框中。 那么按照正常的登陆流程,接下来我们应该是进行跳转,然后展示一个带有底部导航栏的的页面 最终的结果如下: 重新整理逻辑 按照原定计划,我现在要做的是一个todolist的小app 那么我们重新整理一下初次进入的交互逻辑 打开是首页发现没有登陆弹出提示框请登录,这个框只有一个按钮,...

swift-类属性

发布时间:2022-11-21 开发语言 IOS底层原理 SWIFT IOS
了解属性之前,需要先了解前面的swift-类结构内容 - swift-类结构源码探寻 FieldDescriptor TargetClassDescriptor { var Flags: ContextDescriptorFlags // uint32 var Parent: TargetRelativeContextPointer // Int32 var Name: TargetRelativeDirectPointer // Int32 var AccessFunction...

Sequences | lazy

发布时间:2022-11-17 开发语言 IOS SWIFT 开发
序列 Sequence 序列协议是集合类型结构中的基础。 序列代表一系列类型相同的元素,你可以对这些元素进行迭代 Sequence协议 Sequence协议是集合类型的基础,Swift中Sequence协议为序列提供了迭代的能力。Sequence 协议只要求实现makeIterator()方法,该方法返回一个迭代器Iterator; public protocol Sequence { // 元素类型 associatedtype Element // 迭代器类型 == 元素类型 associ...

反射 Mirror | Swift 动态性

发布时间:2022-11-17 开发语言 SWIFT IOS
Mirror是Swift中的反射机制,反射就是可以动态的获取类型以及成员信息,同时也可以在运行时动态的调用方法和属性等。 1. Mirror 简介 Mirror是Swift中的反射机制的实现,它的本质是一个结构体。 创建 Mirror 最简单的方式就是使用 reflecting 构造器: public init(reflecting subject: Any) 正如你所见,对象的类型是 Any。这是 Swift 中最通用的类型。Swift 中的任何东西至少都是 Any类型的。这样一来 mirror 就可以...

swift 函数类型+高阶函数

发布时间:2022-11-17 开发语言 SWIFT IOS
Swift 函数用来完成特定任务的独立的代码块。 Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的Objective-C语言风格的方法。函数声明: 告诉编译器函数的名字,返回类型及参数。函数定义: 提供了函数的实体。 函数 Swift 函数包含了参数类型及返回值类型: 函数定义 函数的参数传递的顺序必须与参数列表相同。 函数的实参传递的顺序必须与形参列表相同,-> 后定义函数的返回值类型。 //语法func funcname(形参) -> returntype{ Stat...

Swift 禁止某个控制器的侧滑pop手势

发布时间:2022-11-17 IOS开发TIPS SWIFT SWIFT TIPS IOS
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) /// 这个方法不要放在 viewWillAppear 否则下个界面侧滑返回 UI会卡住 navigationController?.interactivePopGestureRecognizer?.isEnabled = false} override func viewWillDisappear(_ animated: Bo...

Swift 元类型、self、Self、AnyObject、Any和AnyClass

发布时间:2022-11-17 开发语言 SWIFT IOS
1.元类型 元类型是指所有类型的类型,包括类、结构体、枚举和协议。 类、结构体或枚举类型的元类型是相应的类型名紧跟.Type。 协议类型的元类型——并不是运行时适配该协议的具体类型——是该协议名字紧跟.Protocol。 比如,类SomeClass的元类型就是SomeClass.Type,协议SomeProtocol的元类型就是SomeProtocal.Protocol。 你可以使用后缀self表达式来获取类型。比如,SomeClass.self返回SomeClass本身,而不是SomeClass的一个实...

在 Swift 图表中使用 Foudation 库中的测量类型

发布时间:2022-11-18 开发语言 # SWIFT 集 SWIFT IOS
前言 在这篇文章中,我们将建立一个条形图,比较基督城地区自然散步的持续时间。我们将使用今年推出的新的Swift Charts 框架,并将看到如何绘制默认不符合 Plottable 协议的类型的数据,如 Measurement<UnitDuration>。 定义图表的数据 让我们先定义一下要在图表中展现的数据。 我们声明了一个包含标题和步行时间(小时)的 Walk 结构体。我们使用 Foundation 框架中的测量类型Measurement和单位类型UnitDuration来表示每次步行的时间...

【Swift 60秒】50 - Returning values from a closure

发布时间:2022-11-18 开发语言 SWIFT IOS
0x00 Lesson Closures can also return values, and they are written similarly to parameters: you write them inside your closure, directly before the in keyword. To demonstrate this, we’re going to take our driving() closure and make it return its value rath...

SwiftUI入门 - 5.本地缓存-@AppStorage

发布时间:2022-11-18 缓存 前端入门 SWIFTUI SWIFTUI开发 SWIFT
置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行 “不积跬步,无以至千里;不积小流,无以成江海” 继续 上文中已经实现了登陆成功过后进行跳转,然后主页有一个底部tabbar,并且有todo和setting两个页面 接下来我们将实现登陆后将登陆信息 ( 名称、是否已经登陆 )的缓存,在todo页面中显示用户名 并且使这个登陆状态在退出APP后再打开可以保持 最终效果如下 app缓存的基本使用 我们期望可以有一个缓存可以全局持久化保存我们的数据,如token等 这个...

「MacOS」Swift 第一章:基础部分

发布时间:2022-11-20 MACOS SWIFT 开发语言 IOS
本来给swift单开了一个专栏,21年学的时候还是英文教程,现在22年都有中文教程啦,索性把之前的专栏都删了,新开一篇文章作为学习swift的个人笔记 参考链接 Swift官方中文教程页面 1 基础部分 下面是基础部分知识点概述 数据类型: IntDoubleFloatBool:true 和 falseString 集合类型: ArraySetDictionaryTuple 变量类型: swift中的变量分为两类,变量与常量。变量在使用过程中可以对其进行修改;常量在使用过程中不会变化。两种类型的变量声明方...

iOS 中 UIControllerView 加载之后,将其中的 UITableView 滑到最底部以及遇到的问题

发布时间:2022-11-19 IOS SWIFT 开发 SWIFT IOS
项目中,需要在进入 UIViewController 后对它里面的 UITableView 滑动到最底部,那么需要把代码写在 viewDidLoad 中。 下面这一行代码要使得 previewTable 这个UITableView 滑动到最底部的位置。(home.tickTasks 是我对代码中这个 tableView 的数据源,可根据实际需要设置) self.previewTable.scrollToRow(at: IndexPath.init(row: (Home.tickTasks.count - ...

RxSwift实战经验

发布时间:2022-11-19 SWIFT RXSWIFT IOS
1. combineLatest combineLatest 当多个 Observables 中任何一个发出一个元素,就发出一个元素。这个元素是由这些 Observables 中最新的元素,通过一个函数组合起来的 2.flatMapLatest 将 Observable 的元素转换成其他的 Observable,然后取这些 Observables 中最新的一个 3.flatMap 将 Observable 的元素转换成其他的 Observable,然后将这些 Observables 合并 4.fi...

「Swift」TextField限制输入数字类型和位数

发布时间:2022-11-19 开发语言 SWIFT IOS
前言:限制textField输入的类型和位数 限制textField只能输入0-99范围内的数字 /// textField输入位数超过2位回调toast var textFieldMoreRangeToastAction: (() -> Void)? func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -&gt...

SwiftUI入门 - 2. 状态变量定义,数据绑定

发布时间:2022-11-18 SWIFTUI SWIFTUI开发 思维的火花 SWIFT
置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行 “不积跬步,无以至千里;不积小流,无以成江海” 状态变量的定义 如果我们把一个视图结构体类比为vue中的一个组件 那么类比vue中的data属性,定义一个变量,它被引用时,它的变化会直接反应到视图上 struct ContentView: View { // 定义一个私有的状态变量 test 它的初始值是字符串123 // 如果使用 let 那么这个变量不能被更改,会报错 @State p...

swift枚举(二)

发布时间:2022-11-23 开发语言 IOS底层原理 SWIFT IOS
swift枚举(一) No-payload enums 布局比较简单,也好理解,接下来看看 Single-payload enums Single-payload enums enum IFLEnum { case test_one(Bool) case test_two case test_three case test_four } print(MemoryLayout<IFLEnum>.size) print(MemoryLayout<IFLEnu...

【Swift 60秒】51 - Closures as parameters

发布时间:2022-11-21 开发语言 SWIFT IOS
0x00 Lesson Because closures can be used just like strings and integers, you can pass them into functions. The syntax for this can hurt your brain at first, so we’re going to take it slow. First, here’s our basic driving() closure again let driving = { pr...

swift-类属性-MachO读取

发布时间:2022-11-21 开发语言 IOS底层原理 SWIFT IOS
上一篇 swift-类属性 为源码层面类属性结构剖析,接下来从MachO层面验证读取类属性内容 极简类结构 class IFLPerson2 { var age: Int = 20 var heigh: Double = 180 } MachO-__swift5_types读取 var size: UInt = 0 //__swift5_types section 的pFile var ptr = getsectdata(__TEXT, __swift5_types, &...

swift枚举(一)

发布时间:2022-11-23 开发语言 IOS底层原理 SWIFT IOS
OC中的枚举 typedef NS_ENUM(NSUInteger, IFLEnum) { A, B, C } A,B, C分别默认代表0, 1, 2 关键字enum 声明枚举 而swift中的枚举则更加灵活,并且不需要给枚举中的每一个成员都提供值 enum IFLEnum { case one case two case three } let mEnum: IFLEnum = .two print(MemoryLayou...

「Swift」跳转至第三方App|淘宝、天猫、京东

发布时间:2022-11-19 SWIFT IOS
前言:如何从自己的App跳转到相应的淘宝、天猫、京东等第三方App中相应的商品或店铺 1.配置环境 需要在Info.plist 里面建立一个叫 LSApplicationQueriesSchemes 的 Array类型,将相应的app Scheme添加进LSApplicationQueriesSchemes字段 该字段并不是所谓的白名单,而是在iOS9后,如果想要使用canOpenURL方法检查是否可以打这个URL或可以处理该URL的的App 需要在info.plist里添LSApplicationQue...

swift枚举(三)-Optional

发布时间:2022-11-23 开发语言 IOS底层原理 SWIFT IOS
swift枚举(一) swift枚举(二) 认识可选值 之前我们在写代码过程中早就接触过可选值,比如我们在代码中这样定义: class IFLPerson { var name: String? } 当前的name,我们就称之为可选值 var name: String? == var name: Optional 这两种写法是等同的 nameOptional的本质是什么,我们直接跳转到 源码 打开 Optional.swift 文件 既然Optional本质是枚举,那么我们也可以实现一个自定义的Op...

【iOS开发】-UIPickerView

发布时间:2022-11-21 OBJECTIVE-C SWIFT IOS
写在开头 昨天学习了iOS一个简单的控件。 UIPickerView; UIPickerView组件类似HTML都Select组件效果,提供数据供用户选择。可以通过plist文件提供数据。UIPickerView是一个选择器控件,可以生成单列的选择器,也可以生成多列的选择器,而且开发者完全可以自定义选择项的外观,用法十分灵活。UIPickerView直接继承了UIView,没有继承UIControl,因此,它不能像UIControl那样绑定事件处理方法,UIPickerView的事件处理由其委托对象完成类...

【Swift 60秒】52 - Trailing closure syntax

发布时间:2022-11-22 开发语言 SWIFT IOS
0x00 Lesson If the last parameter to a function is a closure, Swift lets you use special syntax called trailing closure syntax. Rather than pass in your closure as a parameter, you pass it directly after the function inside braces. To demonstrate this, he...

iOS16 中的 3 种新字体宽度样式

发布时间:2022-11-22 开发语言 IOS集 SWIFT IOS
前言 在 iOS 16 中,Apple 引入了三种新的宽度样式字体到 SF 字体库。 Compressed Condensed Expend UIFont.Width Apple 引入了新的结构体 UIFont.Width,这代表了一种新的宽度样式。 目前已有的四种样式。 standard:我们总是使用的默认宽度。 compressed:最窄的宽度样式。 condensed:介于压缩和标准之间的宽度样式。 expanded:最宽的宽度样式。 SF 字体和新的宽度样式 如何将 SF 字...

「MacOS」Swift 第二章:基本运算符

发布时间:2022-11-22 MACOS SWIFT IOS
额发现还是要写很多章,因为内容太多导致快速笔记也很多… 2 基本运算符 除了在不同语言中通用的运算符代表的功能,swift还对运算符进行了改进,例如使用运算符后的结果会被自动检测并禁止溢出,以此来避免保存变量时由于变量大于或小于其类型所能承载的范围时导致的异常结果。当然,swift允许溢出运算符实现溢出。 swift还提供区间运算符,例如 a..<b 或 a...b。 本章节只描述基础运算功能实现,高级运算符、自定义运算符、自定义类型的运算符重载等有专门章节说明。 2.1 术语 一元运算符:操作对象...

从Mach-O中导出swift对象定义的小工具:SwiftDump

发布时间:2022-11-21 IOS SWIFT XCODE
项目地址 SwiftDump是从Mach-O文件中获取swift对象定义的命令行工具,类似大家都用过的OC类dump工具class-dump,SwiftDump专注于处理swift对象(当前只支持swift 5)。对于采用OC/Swift混编的Mach-O文件,你可以将 class-dump 和 SwiftDump结合起来使用。 同时,我在Frida中实现了一个简单版本 FridaSwiftDump。 你可以根据需要选择使用, SwiftDump 可以解析处理Mach-O文件,而 FridaSwiftDu...

How to change LocalizedStringKey to String in SwiftUI

发布时间:2022-11-23 SWIFTUI SWIFT IOS
ios - How to change LocalizedStringKey to String in SwiftUI - Stack Overflow Asked 2 years, 8 months ago Modified today Viewed 13k times 25 I am trying to localize markers shown in my AppleMapView using SwiftUI. However, MKAnnotation's marker title's ty...

Swift 中的 async await

发布时间:2022-11-21 开发语言 SWIFT IOS
async await async-await 是在Swift 5.5 中的结构化并发变化的一部分,在swift中它主要用于允许多段代码同时运行。 async async明确表明了一个方法执行异步操作,如下: //定义了一个异步方法并且可以抛出异常func fetchResult(_ value1: Int, _ value2: Int) async throws -> Int { }//async方法取代了以往我们使用的完成回调方法func fetchResult(_ value1: I...

动态库实现极速编译

发布时间:2022-11-21 IOS开发高手课笔记 SWIFT FLUTTER IOS
        这篇讲的是动态库链接器的实际应用,也就是编译调试的提速问题。 前言 编译中遇到的问题         iOS 原生代码的编译调试,都是通过一遍又一遍地编译重启 App 来进行的。所以,项目代码量越大,编译时间就越长。 解决编译问题的办法 将部分代码先编译成二进制集成到工程里,来避免每次都全量编译来加快编译速度(但每次编译都还是需要重启 App,需要再走一遍调试流程) 极速调试工具 Swift Playground         Xcode 里集成的一个能够快速、实时调试程序的工具,可以...

RxSwift

发布时间:2022-11-23 IOS SWIFT RXSWIFT
throttle: 让一个函数无法在短时间内连续调用,只有当上一次函数执行后过了指定的时间间隔,才能进行下一次该函数的调用。常用于连续点击按钮只让第一次生效 debounce:触发事件后函数不会立即执行,而是在 n 秒后执行,如果在 n 秒内又触发了事件,则会重新计算函数执行时间(n 秒内连续点击只会在n秒后执行一次) 常用于搜索时文本不断变化导致调用多次接口 或 页面有多少个接口,每个接口获取数据后需要刷新UI,用 debounce 操作符即可 PublishSubject 将对观察者发送订阅后产生的...

【无标题】西门子S7-200SMART四种密码解密软件

发布时间:2022-11-22 SWIFT C语言
通过百度网盘分享的文件:主流plc解密软… 链接:https://pan.baidu.com/s/1lgax0TkWvlcSobRfvIQQEw?pwd=xxoo  提取码:xxoo 复制这段内容打开「百度网盘APP 即可获取」 通过百度网盘分享的文件:3000套PLC… 链接:https://pan.baidu.com/s/14h_Rv_vXNbmepo_NQdKi5g?pwd=xxoo  提取码:xxoo 复制这段内容打开「百度网盘APP 即可获取」...

swift指针&内存管理-内存绑定

发布时间:2022-11-23 开发语言 IOS底层原理 SWIFT IOS
swift提供了3种不同的API来绑定/重新绑定指针 assumingMemoryBound(to:)bindMemory(to: capacity:)withMemoryRebound(to: capacity: body:) 绕过编译器检查 - assumingMemoryBound 就是假定内存绑定 func testPointer(_ p: UnsafePointer<Int>) { print(p)}let tuple = (30, 40)withUnsafePointer(t...

「MacOS」Swift 第三章:字符串和字符

发布时间:2022-11-24 MACOS SWIFT IOS
3 字符串和字符 字符串和字符分别使用 String 类和 Character 类表示,字符串是一系列字符的集合。 字符串之间的拼接使用+号完成;也可向可变字符串中插入常量、变量、字面量,这一过程称为字符串插值。 3.1 字符串字面量 字符串字面量是由一对双引号包裹着的具有固定顺序的字符集。字符串字面量允许为单行或多行。多行字符串字面量可以跨多行书写。单行使用一对双引号指明,多行使用一对三引号指明。例如: // 单行字符串let someString = Some string literal value...

swift指针&内存管理-指针类型使用

发布时间:2022-11-23 开发语言 IOS底层原理 SWIFT IOS
为什么说指针不安全 我们在创建一个对象的时候,是需要在堆上开辟内存空间的 但是这个内存空间的声明周期是有限的 也就意味着如果使用指针指向这块内存空间,当这块内存空间的生命周期结束(引用计数为0),那么当前的指针就变成未定义的了 创建的内存空间是有边界的,通过指针访问的内存空间超过已开辟内存空间的边界,也就是访问了一个未知的内存空间 指针类型与内存的值类型不一致,也不安全,这一点参考 swift指针&内存管理-内存绑定 指针类型 Swift中的指针分为两类 typed pointer(指定指...

cocoapods安装,帮你少走弯路

发布时间:2022-11-23 MACOS RUBY COCOAPODS SWIFT
cocoapods安装 1.卸载brew安装的ruby或更新(安装)ruby 为什么要更新或安装呢 --旧的版本出现无法兼容的情况导致更新出很多问题;如果通过brew方式安装了ruby一直有问题,可以卸载重装下。 卸载命令: brew uninstall ruby 安装命令: brew install ruby 安装完成后输入 ruby -v,发现版本还是mac自带的版本,这时需要修改,输入以下两行命令: echo 'export PATH=/usr/local/opt/ruby/bin:$PATH' &...

Xcode弃用Bitcode,导致应用体积大幅增加

发布时间:2022-11-22 XCODE MACOS IDE SWIFT IOS
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 出品 | OSC开源社区(ID:oschina2013) Emerge 是一个监测和减少应用程序大小的平台,可以持续监测并分析应用程序二进制大小,帮助开发者编写更小、更好的代码。近日 Emerge 发布了一份报告,显示最新版本的 Xcode 存在会无意中增加应用程序体积的问题。 Xcode 14 于今年 9 月份正式发布,新版本添加了对 Swift 5.7 的支持,并针对 macOS Ventura、iOS/iPadOS 16 等最新系统添加了 SDK...

SwiftUI入门 - 9.List分组-NavigationView基本使用

发布时间:2022-11-24 前端入门 SWIFTUI SWIFTUI开发 SWIFT IOS
置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行 “不积跬步,无以至千里;不积小流,无以成江海” 继续 上文中已经实现了数据每一个 TODO 项的完成状态切换、创建时间以及滑动删除功能。 同时完成一个数据的抽象,即将数据处理的部分抽象到一个对象内,页面中只管调用即可。 那么本文中将实现将 TODO 项分组,已完成的 todo 和未完成的 todo 理应分开展示。 并且在 todo 项为空的时候进行提示。 根据这个分组,那么我们可以将设置页面做出来,类似于iOS原生...

SwiftUI——如何使用新的NavigationStack和NavigationSplitView(如何页面跳转2.0以及如何制作侧栏)

发布时间:2022-11-24 SWIFTUI IOS SWIFT SWIFT/SWIFTUI
从 iOS 16 开始,苹果开始弃用原先的NavigationView,以后会逐渐完全淘汰掉。现在开始使用NavigationStack和NavigationSplitView。NavigationStack的效果和原本的NavigationView一样,而NavigationSplitView则和现在 iPadOS 上的NavigationView效果一样。 最近在 iPadOS 上面使用NavigationView,内容会放在侧栏,而不是像 iOS 或者以前一样。如下: 苹果这次改名的目的应该是为了区...

swift指针&内存管理-闭包的循环引用

发布时间:2022-11-24 开发语言 IOS底层原理 SWIFT IOS
swift指针&内存管理-引用 无主引用 和弱引用类似,无主引用不会牢牢保持引用的实例。但是不像弱应用,无主引用假定是永远有值的 当我们去访问一个无主引用的时候,总是假定有值的,所以就可能会发生程序的崩溃 如果两个对象的生命周期并不相关,使用weak 如果非强引用对象 拥有与强引用对象相同或更长的声明周期的话,则应使用 无主引用 unowned (也就是说 两个对象拥有关联 — unowned) 结果 IFLObj1 deinit IFLObj2 deinit obj1 先销毁,obj2后销毁,...

swift指针&内存管理-引用

发布时间:2022-11-24 开发语言 IOS底层原理 SWIFT IOS
引用探究 首先看一个例子 那么这个 0x0000000000000003 是什么意思呢 回到swift源码 找到关键核心类型 HeapObject 就是 swift 分配内存获取到的结构类型 HeapObject 第一个8字节为 metadata, 接下来是宏 InlineRefCounts 其实 就是泛型真正类型 InlineRefCountBits 至此,通过源码,最终找到了 uint64 64位的位信息, 这64位位信息里,存储了当前运行声明周期相关的引用计数 alloc - 引用计...

【Swift 60秒】55 - Shorthand parameter names

发布时间:2022-11-25 开发语言 SWIFT IOS
0x00 Lesson We just made a travel() function. It accepts one parameter, which is a closure that itself accepts one parameter and returns a string. That closure is then run between two calls to print(). Here’s that in code: func travel(action: (String) -&g...

OC/IOS 基础 获取屏幕信息

发布时间:2022-11-25 OC基础 XCODE SWIFT IOS
一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。 浅红色文字: 代码如下(示例): 提示:这里对文章进行总结: 前言 正题 OC 下面的方法貌似是过iPhone12mini检测不出来. //如果有新出的机型打开模拟器 截图查看尺寸(就知道新机型的分辨率),填上去就可以了。#define isIphone5 ([UIScr...

Xcode弃用Bitcode,导致应用体积大幅增加

发布时间:2022-11-18 XCODE MACOS IDE SWIFT IOS
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 出品 | OSC开源社区(ID:oschina2013) Emerge 是一个监测和减少应用程序大小的平台,可以持续监测并分析应用程序二进制大小,帮助开发者编写更小、更好的代码。近日 Emerge 发布了一份报告,显示最新版本的 Xcode 存在会无意中增加应用程序体积的问题。 Xcode 14 于今年 9 月份正式发布,新版本添加了对 Swift 5.7 的支持,并针对 macOS Ventura、iOS/iPadOS 16 等最新系统添加了 SDK...