gpt4 book ai didi

ios - 在 Xcode 11 中添加对本地 swift 包的依赖

转载 作者:行者123 更新时间:2023-12-01 15:15:29 27 4
gpt4 key购买 nike

我正在尝试在我的 Xcode 项目中添加对本地 swift 包的依赖项。 (我不想使用文件 url file://me/dev/app/package 添加依赖项,因为这不能共享到其他环境)

我试图将包拖放到目标。这会创建对项目中包的引用,我可以在“Link Binary With Libraries”构建阶段添加该包,但仍然找不到该库。

No such module 'Analytics'

我原来的配置

enter image description here

拖放后

enter image description here

这是我的包配置:
// swift-tools-version:5.1
import PackageDescription

let package = Package(
name: "Analytics",
products: [
.library(name: "Analytics", targets: ["Analytics"]),
],
dependencies: [
.package(path: "../SomeOtherPackage"),
],
targets: [
.target(name: "Analytics", dependencies: [
"SomeOtherPackage",
]),
]
)

我还将包包含在目标链接的二进制文件和/或捆绑资源和/或编译的源中,但无济于事:

enter image description here

我已阅读 this long discussion这似乎还没有定论。

这是我正在尝试的一个简单示例: https://github.com/gsabran/SPM_Xcode_test

最佳答案

这就是我所做的,它只是工作...... Xcode 11.2
一、准备包裹

  • 文件 > 新建 > Swift 包 > 选择空文件夹(或新建)> 输入库名称(MyLibrary)
  • 在项目中找到 MyLibrary.swift 并制作公共(public)结构和变量,所以有一些导出可以在应用程序中使用(我制作了静态常量并固定了 UT)
  • 构建 > 确定 > 关闭项目

  • 二、准备项目
  • 文件 > 新建 > 项目 > iOS > 单一 View 应用程序 > 输入名称 (MyApp) > 下一步 > 选择与上面相同的文件夹(默认情况下)> 创建
  • 构建 > 确定
  • 从 Finder 中将 MyLibrary 文件夹拖到 Xcode Project Navigator 中项目名称的正下方
  • 构建 > 确定
  • 单击 Project Navigator 中的 MyApp 项目图标 > 选择 MyApp 应用程序目标 > 部分 Frameworks, Libraries, ... 单击 + > 在最顶部的 Workspace 部分中选择 MyLibrary > Add
  • 清洁 > 构建 > 确定
  • 打开 ContentView.swift > 输入 import MyLibrary (自动补全已经看到了)
    将“Hello, World”替换为“(MyLibrary.text)”
  • 构建并运行 > 确定

  • 而已。
    要验证使用的相对路径在 TextEdit 中打开 project.pbxproj,这里是截图
    Swift package relative path
    更新:
    注意 1 - 我考虑过在 Clean 之后解析包有一些延迟,所以在一段时间内,这里的 1-2 分钟,Build 完全失败并报告了错误,但在延迟之后,可以看到索引重新启动并且后续 Build 成功。
    注2 - 在图中添加第二个依赖包(MyApp > MyLibrary > AnotherLibrary)是相同的。
    backup

    关于ios - 在 Xcode 11 中添加对本地 swift 包的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59121844/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com