ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用 Swift Package Manager 集成依赖库

2020-09-24 08:02:24  阅读:267  来源: 互联网

标签:依赖 Package Xcode Manager 版本 Swift


 

本文首发于 Ficow Shen's Blog,原文地址: 使用 Swift Package Manager 集成依赖库

 

内容概览

  • 前言
  • 添加依赖包
  • 在项目中使用依赖
  • 管理已导入的依赖
  • 在团队中统一依赖的版本
  • 总结

 

前言

 

Swift Package Manager 出现之前,我们需要使用 CococaPods, Carthage 等包管理工具来管理依赖。

现在,我们可以直接使用 Xcode 来管理依赖。Xcode 内建了对 Git 版本控制系统的支持,我们可以轻松地使用 Xcode 中的 Swift Package Manager 来管理 公开的私有的 仓库中的包。

 

添加依赖包

 

首先,找到添加依赖的菜单:

添加依赖的菜单

然后,输入依赖的名称或者仓库地址进行搜索。比如,我输入了 alamofire:

输入依赖的名称

可以看到,搜索结果有很多。我们可以根据 仓库的名称 还有 仓库的主人 以及 仓库的描述(fork, star的数量) 来找出我们真正期望的结果!当然,你也可以直接输入仓库的地址,然后进行下一步操作!

如果输入的是仓库地址,Xcode 就会校验这个仓库:

校验仓库

接下来,需要决定依赖的版本:

决定依赖的版本

选择决定版本的规则:

决定版本的规则

目前有4种规则,都基于语义化版本(表示法:MAJOR.MINOR.PATCH ,即: 大版本.小版本.修复版本):

  • Up to Next Major,比如:输入 a.b.c,依赖的版本就会在 a.b.ca+1.b.c 之间;
  • Up to Next Minor,比如:输入 a.b.c,依赖的版本就会在 a.b.ca.b+1.0 之间;
  • Range,指定一个自定义的版本范围;
  • Exact,指定一个固定版本;

当然,也可以选择这个仓库里的某个分支、提交记录。然后,点击下一步,Xcode 就会开始拉取依赖。

拉取依赖

接下来,选择需要导入依赖的目标(target),默认选择的是应用所在的目标:

选择导入依赖的目标

导入完毕,最终效果如下:

导入完毕

 

在项目中使用依赖

 

如下所示,在项目中使用 Alamofire。如果可以编译成功,则表示导入依赖成功。

import UIKit
import Alamofire

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        AF.request("https://httpbin.org/get").response { response in
            debugPrint(response)
        }
    }

}

 

管理已导入的依赖

 

管理已导入的依赖

如果需要添加/删除依赖,选中依赖对应的行,然后点击 + 或者 - 即可。

点击删除时,会有确认提示:

删除时,会有确认提示

如果需要修改依赖的版本,双击依赖对应的行,Xcode 会显示修改版本的控制面板:

修改版本的控制面板

除此之外,也可以使用 Xcode 菜单栏中的选项:

菜单栏中的选项

各个选项的作用:

  • Reset Package Caches,重置依赖包的缓存
  • Resolve Package Versions,生成 Package.resolved 文件,以确定依赖的版本信息
  • Update to Latest Package Versions,根据您配置的依赖包的版本控制规则,对依赖包进行升级。

 

在团队中统一依赖的版本

 

用 Swift Package Manager 导入依赖后,Xcode 会在 项目根目录/项目名称.xcodeproj/project.workspace/xcshareddata/swiftpm/ 这个目录生成一个 Package.resolved 文件。其中的内容大致如下:

{
  "object": {
    "pins": [
      {
        "package": "Alamofire",
        "repositoryURL": "https://github.com/Alamofire/Alamofire.git",
        "state": {
          "branch": null,
          "revision": "64dd16a5f2099dd5400f5e6d1442dc5ab0c1d917",
          "version": "5.2.0"
        }
      }
    ]
  },
  "version": 1
}

把这个文件提交到 Git,可以帮助团队成员统一依赖包的版本。

 

总结

 

整体来看,学习和使用 Swift Package Manager 都非常容易。而且,这是官方提供的工具,十分推荐使用!
你甚至不需要创建什么文件,也不需要操作命令行!只需要有一个 Git 仓库的名称或者地址,然后就可以导入依赖了,非常简单、高效!

朋友,行动起来吧!感受 Swift Package Manager 带给你的快乐 ~

 

参考内容
Adding Package Dependencies to Your App

 

标签:依赖,Package,Xcode,Manager,版本,Swift
来源: https://www.cnblogs.com/ficow/p/13722258.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有