Tag: Stephen Cook

在Swift框架中重用代码

复制和粘贴代码很糟糕,当发现错误并不得不使用它修复所有应用程序时,情况更是如此。 但是有办法避免吗? 就在这里! 苹果提供了一种称为框架的工具,以简化代码共享。 此外,它还为我们提供了一种将相关代码分组(模块化)和限制对代码访问(封装)的机制。 在本文中,我们将介绍什么是框架以及为什么使用它们。 我将逐步指导如何创建和构建框架,以及最终如何在应用程序中使用框架。 本文将专门用Swift编写框架中的代码。 什么是框架? 框架是一个结构化目录,可以包含共享代码和共享资源,例如图像,笔尖(XIB和情节提要的混合形式)和其他资产。 您可以将其视为传递代码和/或其他可重用资产以使代码正常工作的软件包。 为什么要使用框架? 我们已经介绍了使用框架的主要原因。 另一个很好的理由是简化与组织服务的集成。 例如,贝宝(Paypal)提供了框架来帮助应用程序处理信用卡交易。 Onfido提供了执行远程身份验证的框架。 框架可以节省客户与服务的集成工作。 为客户节省了时间和金钱。 客户使用您的服务的速度越快,您就越早开始赚钱💰。 此外,在选择提供商时,时间和精力可能是潜在客户的关键因素。 实际上,市值超过92亿美元的Stripe始于对支付处理器的整合挫折。 如何建立框架 在本节中,我们将引导您完成创建和构建框架的过程。 该框架将包含一个简单的登录屏幕。 在接下来的步骤中,我们将: 使用Cocoa Touch Framework模板创建项目 使用XIB添加视图控制器 将视图插入我们的视图控制器以允许用户登录 将XIB中的视图连接到LoginViewController类 以编程方式加载视图控制器 在框架之外访问视图控制器 如果您已经熟悉这些内容,请随意跳过任何部分或全部。 1.创建项目 首先,从菜单栏中选择File > New > Project… ,以Xcode创建一个框架。 通过选择iOS Cocoa Touch Framework项目模板继续,然后单击“ 下一步” 。 最终命名您的框架,您可以随意命名。 我要使用名称MyFramework 。 还要确保选择的语言是Swift 。 命名后,单击“ 下一步”,然后选择要存储项目的位置,最后单击“ 创建” […]

通过Cocoapods分发编译的Swift框架

这是 通过Cocoapods分发Swift框架 的后续文章 。 在我以前的文章中,我们学习了如何使用Cocoapods分发Swift框架。 简而言之,我们通过告诉Cocoapods将哪些源代码包装到框架中来实现这一目标。 然后,Cocoapods包装了源代码并将其与集成商项目链接。 我们发现此解决方案有两个潜在问题。 源代码泄漏给了集成商。 允许他们查看和修改我们的代码。 在集成商应用程序的每次干净构建上,框架都将随之编译。 与框架无关的更改要求重新编译框架。 那么有办法解决这两个问题吗? 🤔是的! 解决方案是编译框架,然后分发它。 但这说起来容易做起来难。 在这篇文章中,我们将介绍 什么是编译框架。 为什么要分发已编译的框架。 分发编译框架 我们不会介绍如何创建Swift框架。 如果您想回顾一下如何创建Swift框架,请查看我的文章《使用Swift框架重用代码》。 我们不会深入研究Cocoapods是什么以及它如何工作。 确保已安装Cocoapods。 您还可以查看我以前的文章《通过Cocoapods分发Swift框架》,以了解有关Cocoapods的更多信息。 同样,我们不会在这篇文章中介绍git。 我在这里假设您已经熟悉它。 本指南使用Xcode 10.1和Swift 4.2。 什么是编译框架? Swift源代码是iOS开发人员可以理解和编写的形式的代码。 它是人类可读的形式。 但是iOS无法理解Swift。 它了解二进制。 那么iOS如何运行我们的Swift代码? 我们将Swift代码转换为二进制代码。 翻译过程称为编译,而最终的翻译形式称为编译代码或二进制。 然后,iOS可以执行代码的二进制形式。 为什么要分发编译后的代码? 在我以前的文章中,我们通过Cocoapods分发了框架的源代码。 然后,Cocoapods将源代码包装到集成商端的框架中。 每次集成商清理构建其应用程序时,都会随之构建框架。 即使他们没有更改框架源代码,也是如此。 编译代码需要时间。 此外,集成商还可以访问我们的源代码。 他们能够查看和修改我们的代码。 通过分发编译后的代码,我们: 保密我们的代码 在应用编译过程中节省时间 分发编译框架 在本节中,我们将介绍编译iOS框架,然后通过Cocoapods分发它的步骤。 大纲: 通过Xcode编译Swift框架 通过Cocoapods分发编译的框架 […]

通过Cocoapods分发Swift框架

出色的软件也具有出色的安装经验。 如果该软件太难安装,将很少使用它。 在我以前的文章中,我们学习了如何使用Swift框架重用和共享代码。 我们创建了一个包含框架目标的项目,该目标包含一个登录屏幕。 然后,我们在Xcode工作区中添加了框架和应用程序项目。 最后,我们通过工作空间将框架链接到应用程序并使用了该框架。 我们有责任获取并链接框架项目。 我们甚至没有办法管理框架的不同版本。 因此框架的安装和管理经验不是很好。 有没有更简单的方法来管理和安装框架? 🤔 就在这里! 🎉Cocoapods是一种流行的工具,可简化Swift框架的安装和共享。 在本文中,我们将逐步介绍通过Cocoapods共享Swift框架的过程。 稍后,我们将在应用程序中使用它。 我们将在Cocoapods将访问的git存储库中托管我们的框架。 在本文中,我假设您熟悉git 。 创建框架也不在本文讨论范围之内。 要查看如何创建框架,请查看我以前的文章。 将提供一个框架项目。 最后,我们只会谈论Cocoapods对于Swift框架可以做什么。 在开始之前,让我们快速了解Cocoapods的工作方式。 它将帮助我们与之合作。 本指南使用Xcode 10.1和Swift 4.2。 Cocoapods如何运作? 在本节中,我们将从两个不同角度简单地概述可可豆的工作方式。 将框架安装到iOS应用程序项目 向Cocoapods发布框架。 如果您已经熟悉Cocoapods的工作原理,请随时跳过任何或所有部分。 1.将框架安装到iOS应用程序项目 让我们开始看当Cocoapods如何工作的简化概述,当我们要求该工具将名为FrameworkA的Swift框架安装到名为MyApp的 iOS应用程序项目中时。 我们告诉Cocoapods,我们要在项目目录根目录下名为Podfile的文件中的MyApp target中安装FrameworkA 。 按照我们的示例, Podfile看起来应类似于以下内容: 以“ MyApp”为目标 吊舱“ FrameworkA” 结束 在上面的示例中,我们告诉Cocoapods我们的项目有一个名为MyApp的目标。 我们还告诉Cocoapods, MyApp目标需要一个名为FrameworkA的框架 ,该框架通过Cocoapods共享。 Cocoapods中的共享框架称为pod 。 捕获项目目标及其要求之后,我们必须告诉Cocoapods根据项目规范来建立我们的项目。 为此,我们必须运行pod install 。 […]