首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源日报 0825 | 简化开发过程,提升Swift应用性能的扩展工具库

扩展的集合,为 iOS、macOS、tvOS、watchOS 和 Linux 提供了方便的方法、语法糖和性能改进。...兼容各种平台 (iOS、macOS 等) 以及不同版本的 Swift 语言。...它包括一组预定义的 API 资源类,可以根据 API 响应动态初始化自己,从而与各种版本的 OpenAI API 兼容。...TrionesType/zhuque[7] Stars: 1.3k License: OFL-1.1 朱雀仿宋是璇玑造字的开源仿宋字体计划,旨在提供高质量、支持多语言的正文仿宋解决方案。...其核心优势和主要功能包括: 提供高质量、支持多语言的正文仿宋解决方案 改刻自民国活字南宋,保留了其独特气质与趣味 削弱笔画对比度,规整了字形结构与版面效果 相关链接 [1] OpenZeppelin/openzeppelin-contracts

27020

老司机 iOS 周报 #98 | 2020-01-06

1.1 开始 keep-alive 默认开启,2.0 支持多路复用,大大提高了链接的可重用性和传输效率)时代影响已经比之前小很多,但 “预防 DNS 劫持” 和 “IP 做到服务器动态部署” 这两点问题依然可以用...MANAGE YOUR IOS RESOURCES TYPE-SAFELY WITH R.SWIFT @Damonwong:在开发 iOS 项目的时候,如果你想要用代码访问一些资源文件,通常情况下,...也正是因为这个设计,iOS 这边衍生出了 R.swift 这个库,借助 Swift 的特性,在编译的时候就能及时的发现类似于资源文件丢失的问题。...本次的 1.9 版本除修复了大量 Bug 外,还添加了 XCFramework 支持、Podspec 的基于配置的依赖关系以及 Swift 版本变体等一系列新特性,快来点开文章提前预习一波吧。...可以快速的给现有应用添加 Flutter 能力,全程体验顺滑如丝。

81810
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发常用之测试调试、动态更新

使用KIF,并利用iOS的辅助功能API,你将能够编写模拟用户输入,例如点击,触摸和文本输入,自动化的UI测试。...快速 - 用于Swift的单元测试(也可用于Objective-C),与Xcode整合在一起。...ViewMonitor - 能够帮助iOS开发者们精确的测量视图,可直接在调试应用查看具体的某个视图的坐标,宽高等参数。...swiftlog - 为Swift应用提供快捷添加日志信息的方法,Swift包管理支持(SPM),使用惊艳的彩虹包输出彩色日志,支持写入文件。...是不可多得地学习WatchKit的示例式教程(1.如何创建一个简单的交互式计数器; 2.如何从手表上控制iOS应用程序; 3.如何在WatchKit应用程序和iOS应用之间共享数据; 4,如何创建一个拥有不同背景色的数字时钟

3.4K20

APP生成与运行(二)

iOS 上的大部分 app 都依赖 300 到 600 个动态链接库,所以这个步骤包含了较大的工作量。...iOS 8/Xcode 6 推出之后,iOS 平台添加动态库的支持,同时 Xcode 6 也原生自带了 Framework 支持(动态和静态都可以),上面提到的的奇技淫巧也就没有必要了(新的做法参考这里...为什么 iOS 8 要添加动态库的支持?唯一的理由大概就是 Extension 的出现。...Swift 支持 跟着 iOS8 / Xcode 6 同时发布的还有 Swift。如果要在项目中使用外部的代码,可选的方式只有两种,一种是把代码拷贝到工程,另一种是用动态 Framework。...造成这个问题的原因主要是 Swift 的运行库没有被包含在 iOS 系统,而是会打包进 App (这也是造成 Swift App 体积大的原因),静态库会导致最终的目标程序包含重复的运行库(这是苹果自家的解释

1.2K10

iOS开发常用之网络

LTNavigationBar - LTNavigationBar为导航栏添加动态着色效果,可自定义其背景色.Demo包含:1。变换背景色; 2。滚动视图,导航栏和状态栏重叠。...JXT_iOS_Demos - AboutNavigationBar:一些关于navigationBar的非常规的但是较为实用的操作,包括利用毛玻璃,动态透明,动态隐藏,以及头视图的动态缩放,并同时涉及了...LxGridView-oc LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用动图。...JWAnimatedImage.swift - JWAnimatedImage.swift集中了目前主流的GIF显示库(FLAnimatedImage,Gifu等)的优点,进行重构,代码短小精悍。...更赞的是额外附了详细开发教程如何在Swift制作Tinder-Like Koloda动画网页链接 .Yalantis出品动画程序款款精品。

23.5K10

从 iPhone OS 1.0 到 iOS 14 编程语言的演变

版本的所有文件运行此脚本,以计算二进制文件的数量并获得随时间的演变: 您所见,iPhone OS 1.0 包含相当少量的二进制文件。...检测 SwiftUI 在我之前的帖子,我解释了如何通过检查二进制文件是否动态链接到/System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI...检测 Swift 检测 Swift 的使用可以使用类似的方法来完成,2016 年的一篇旧帖子所述。...文档中所述: Objective-C 运行时是一个运行时库,它为 Objective-C 语言的动态属性提供支持,因此所有 Objective-C 应用程序都链接到它。....s 阅读它的 arm64 源代码 /usr/lib/dyld: dyld 是动态链接器,是一个非常特殊的二进制文件。

2K30

了解 Swift 调度器

在本教程,我们将学习什么是调度器,以及我们如何在iOS应用开发中使用它们来管理队列和循环。之前对 Swift、Combine 框架和 iOS 开发的知识是必要的。 让我们开始吧! 什么是调度器?...一旦你把一个操作添加到队列,该操作将保持在其队列,直到它完成执行其命令。 一个 OperationQueue,可以以串行或并行的方式执行任务,这取决于任务本身。...Combine 将在我们任务执行的同一个调度器添加一个默认的调度器。...总结 在这篇文章,我们回顾了什么是调度器以及它们如何在 iOS 应用程序工作。...我们还谈到了 Combine 框架以及它是如何影响 Swift 调度器的使用。 我们学习了如何在 Swift 中使用 receive(on) 和 subscribe(on) 方法来切换调度器。

2.5K10

基于CocoaPods的组件化原理及私有库实践

我们都知道,后期iOS支持了动态库。那动态库是不是就能完美解决问题了呢? 动态动态库,大部分会被打包成.tbd文件或者.dylib文件。...不同于静态库在编译期链接到App,动态库是在运行时链接到App的,因此它有了三个好处: 按需加载,什么时候需要运行什么时候加载,提高了启动app的效率 因为存在多个app使用同一个动态库的情况,因此一旦某个动态库被加载到内存...因为动态库不需要参与编译过程,因此不会产生链接时符号冲突的问题。 不过,苹果对动态库的完全支持仅停留在系统的动态库上,例如UI.framework,对于第三方的动态库,还是需要embed到系统。...运行pre-Install hook 生成Pod Project 将该Pod对应文件添加到工程 添加对应的framework、.a库、bundle等 链接头文件(link headers),生成Target...如果pod中用到framework,AVFoundation,直接在podspec文件添加s.frameworks = ‘AVFoundation’或者s.frameworks = [‘AVFoundation

4.8K12

Swift 周报 第二十一期

该提案建议通过使依赖反射的 API 在其参数添加 Reflectable 约束来解决这种紧张关系。...然而,对于许多 API 来说,这是一个问题,特别是标准库设施,打印和相关的字符串化功能,旨在尽最大努力处理任何值。...此外,与遵循协议不同,反射元数据不能通过其定义模块之外的扩展追溯添加到类型。因此,尽管将其作为通用约束是一种很好的语言设计,但将其称为标记协议或协议似乎不太正确。...如果 Reflectable 是一个标记协议,那么它如何在完全通用的情况下工作还不清楚,因为尽管我们可能静态地将表达式 x 识别为?可反射的,不可能将 x 处理为?...58同城iOS包大小治理工具解密[13] 摘要: 本文通过58同城包大小治理的实践经验,来讲解如何解决混编环境下OC/Swift无用类、无用资源、重复资源等检测问题,同时结合业内常见的段迁移、链接时优化

2.1K20

Android开发快速入门iOS开发(概览)

开发一般使用oc或 swift来开发,需要注意的是iOS没有Android里包的概念,类的名字必须保持全局唯一,一般约定是添加特定的前缀(公司 + 项目)WXGPUImage 下面会以oc为例来说明...用于对象或指针类型的数据类型 retain 对新对象进行强引用,释放旧对象,其引用计数+1,用在MRC; assign,直接赋值,和引用计数无关,用于声明基本类型,int; copy,在实现Setter...)放到工程目录,并在buildsetting里引用这些库,另一种就是使用pod依赖了; iOS的第三方库有两种形态: 静态库,后缀为(.a,.framework) 动态库,后缀为(.dylib,.framework...) 静态库与动态库的区别主要在于在打包链接时的操作不一样; 4.3.1 静态库 静态库在打包生成可执行的目标文件时,会把汇编生成的目标文件.o与引用的库一起链接打包到目标文件,静态库的特点: 在编译期完成对函数库的链接...4.3.2 动态动态库与静态库类似,只是在打包时不用把所链接的文件全部拷贝进目标文件,只是拷贝一些重定位和符号信息,这些信息在运行时可完成真正的链接动态库的特点: 在运行时完成对函数库的链接

95320

iOS 应用体积缩小一半的秘籍:妥善运用动态框架

在实践当中,特别是当大家的应用软件用到 Swift Packge Manager 提供的现代多模块架构时,对模块的动态链接往往会被隐藏起来。 所以这里我们需要做一点调整。...使用 SwiftPM 创建动态框架 默认情况下,Xcode 允许开发者选择以静态还是动态方式链接 Swift 包。而在实际操作,它总是会直接将包捆绑为静态库。...我们的扩展目标应使用“Do Not Embed”不嵌入选项,以避免在应用程序包制作额外的副本。 伞形框架 现在,我们的 Swift 包已经成为动态框架。...初步结果 现在我们已经在 Package.swift 定义了动态框架,并告知 Xcode 如何将其链接至各个目标(包括框架、库和嵌入内容),现在我们可以保存 EmergeMotors 并尝试分析。...这里的阶段也就是 dyId 在启动时链接动态框架的过程。除了链接我们自己的 EmergeUI 框架之外,dyId 还链接了 SwiftUI、Foundation 以及 Swift 本身!

12610

苹果推出 SwiftData,可替代 SwiftUI 的 Core Data

可在 iOS 应用中进行数据持久化工作。...在几年前通过 SwiftUI 改变了 UI 在其平台上的定义方式后,苹果正在迈出超越 Core Data 的第一步,即一个基于 ORM、严格绑定于 Objective-C 动态能力的持久化框架。...简而言之,@Model 宏会将 @PersistedProperty 应用于 Recipe 类的所有属性,并在类的实现添加初始化代码和其他的必要属性。...为让开发者能更为轻松地迁移至 SwiftData,该框架支持在现有 Core Data 应用的逐步采用,在苹果提供的演示项目中展示了如何在一个 Core Data 应用仅部分使用 SwiftData...原文链接: Apple Introduces SwiftData, a SwiftUI-Ready Core Data Replacement(https://www.infoq.com/news/2023

92330

WWV 2018年十大必看视频

可可触摸WWDC 2018的新功能 [视频链接] 由Josh Shaffer提出的会议开始时强调iOS 12的性能改进 - 包括滚动,内存使用,自动布局和UIKit的改进。...在示例应用程序,Soup Chef,Apple演示了如何对快捷方式进行分类,然后添加一些参数,字符串,数字,人物或位置。一旦捐赠给Siri,您可以通过说出您提供的短语来触发快捷方式。...介绍Create ML WWDC 2018 [视频链接] “Create ML是惊人的。我迫不及待地想看看iOS开发人员使用机器学习做出奇妙的事情。...的首席iOS工程师 如今,机器学习仍然是一个热门话题,Apple已经很容易将这项技术添加到您的应用程序。使用Core ML 2,您可以将机器学习视为从代码调用库。...他还强调了如何在项目中支持自己的框架。使用Xcode工作区,您可以导入自己的框架并添加一个操场来使用它们。 Playgrounds不仅仅是为了好玩。

2.7K20

iOS 优化 - 启动优化

dyld流程图 dyld(the dynamic link editor)是苹果的动态链接器,是一个专门用来加载动态链接库的库,是开源的。...加载插入的动态库。这一步是加载环境变量DYLD_INSERT_LIBRARIES配置的动态库,dyld 负责。 fixup:rebase(偏移修正)/ binding(符号绑定) 链接主程序。...当然我们还可以利用动态库运行时链接的特性,去将一些动态库进行懒加载。...所谓懒加载就是动态库只打包进 App,但是在启动时不参与链接,即可以在 podspec 里添加 spec.weak_frameworks = 'XXX',并保证 Link Binary With Libraries...在 Build Settings 添加编译选项 Other C Flags 增加-fsanitize-coverage=func,trace-pc-guard; 如果是 OC Swift 混编, 则在

3.7K20

咋设计SDK?看这个基础教程攻略!

静态库和动态库的区别 如果说要找出静态库与动态库的区别,那可以从文件链接(每个源代码模块独立编译,然后按照需要将他们组装起来,这个组装模块的过程,就是链接)的角度进行解释: 静态库:链接时会被完整的复制到可执行文件...理论上动态库只存在一份就可以了。其他的程序都可以动态链接到这个动态库上面,从而节省内存(内存只有一份动态库)。...由于 iOS 主 App 需要和 Extension 共享代码,Swift 语言机制也需要动态库,于是苹果后来提出了 Embedded Framework,这种动态库允许 APP 和 App Extension...上面提到的 Swift 也有原因,在 Swift 的项目中如果要在项目中使用外部代码,可选的方式只有两种,一种是把代码拷贝到工程,另一种是用动态 Framework。使用静态库是不支持的。...这个问题的根本原因是, Swift 的运行库没有被包含在 iOS 系统,反而会被打包进 App (这也是造成 Swift App 体积大的原因),静态库会导致最终的目标程序包含重复的运行库。

92050

如何设计编写一个 SDK

静态库和动态库的区别 如果说要找出静态库与动态库的区别,那可以从文件链接(每个源代码模块独立编译,然后按照需要将他们组装起来,这个组装模块的过程,就是链接)的角度进行解释: 静态库:链接时会被完整的复制到可执行文件...理论上动态库只存在一份就可以了。其他的程序都可以动态链接到这个动态库上面,从而节省内存(内存只有一份动态库)。...由于 iOS 主 App 需要和 Extension 共享代码,Swift 语言机制也需要动态库,于是苹果后来提出了 Embedded Framework,这种动态库允许 APP 和 App Extension...上面提到的 Swift 也有原因,在 Swift 的项目中如果要在项目中使用外部代码,可选的方式只有两种,一种是把代码拷贝到工程,另一种是用动态 Framework。使用静态库是不支持的。...这个问题的根本原因是, Swift 的运行库没有被包含在 iOS 系统,反而会被打包进 App (这也是造成 Swift App 体积大的原因),静态库会导致最终的目标程序包含重复的运行库。

1.1K50
领券