Gui*_*uig 15 xcode ios swift swift-package-manager xcode11
我正在尝试在我的 Xcode 项目中添加对本地 swift 包的依赖。(我不想使用文件 url 添加依赖项,file://me/dev/app/package
因为这无法共享到其他环境)
我试图将包拖放到目标上。这会创建对项目中包的引用,我能够在“链接二进制与库”构建阶段添加该包,但仍未找到该库。
No such module 'Analytics'
Run Code Online (Sandbox Code Playgroud)
我原来的配置
拖放后
这是我的包配置:
// 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",
]),
]
)
Run Code Online (Sandbox Code Playgroud)
我还在目标链接的二进制文件和/或捆绑资源和/或编译源中包含了包,但无济于事:
这是我正在尝试的一个简单示例:https : //github.com/gsabran/SPM_Xcode_test
Asp*_*eri 28
这就是我所做的,它确实有效...... Xcode 11.2
一、准备包
文件 > 新建 > Swift 包 > 选择空文件夹(或新建)> 输入库名称(MyLibrary)
在项目中找到 MyLibrary.swift 并制作公共结构和变量,因此在应用程序中使用了一些导出(我制作了静态常量和固定 UT)
构建>确定>关闭项目
二、准备项目
文件>新建>项目>iOS>单一视图应用程序>输入名称(MyApp)>下一步>选择与上述相同的文件夹(默认情况下)>创建
构建 > 确定
从 Finder 中将 MyLibrary 文件夹拖到 Xcode 项目导航器中的项目名称正下方
构建 > 确定
单击项目导航器中的 MyApp 项目图标 > 选择 MyApp 应用程序目标 > 部分框架、库,...单击 + > 在最顶层的工作区部分中选择 MyLibrary > 添加
清洁 > 构建 > 确定
打开 ContentView.swift > 输入import MyLibrary
(自动完成已经看到它)将“Hello, World”替换为“(MyLibrary.text)”
构建并运行 > 确定
就是这样。
要验证在 TextEdit 中使用的相对路径打开 project.pbxproj,这里是截图
更新:
注 1 - 我已经考虑过清理后包解析的一些延迟,所以在一段时间内,这里有 1-2 分钟,构建完全失败并报告错误,但在延迟之后,可以看到索引重新启动并且构建成功.
Note2 - 在图中添加第二个依赖包(MyApp > MyLibrary > AnotherLibrary)是一样的。
归档时间: |
|
查看次数: |
7967 次 |
最近记录: |