问题标签 [swift-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何将我的 xocde 项目转换为 xcode 包?
我有一个带有 swift 类和 pod 的常规 xcode 项目。我需要为项目生成文档。但是,我知道 xcode 13 内置文档生成器 (DocC)(产品 -> 构建文档)仅支持 xcode 框架和包的文档。因此,我需要将我的项目转换为 xcode 包。我该怎么做?(我是 iOS 开发新手)
swift - Swift 包管理器:浅层克隆
问题:
我将nlohmann/json包与 Swift 包管理器一起使用。Package.swift 清单文件
通过查看包清单,很明显该库仅包含一个文件和一个标头。但是,为了安装包,Swift 包管理器会克隆整个存储库,它的大小超过 300 MB。
潜在的解决方案
使用浅克隆将解决该问题。Swift Package Manager 可以使用浅克隆吗?对 Xcode 和命令行解决方案都感兴趣。
相关链接
ios - Swift Package Manager 无法解析所有库、项目
[![在此处输入图像描述][4]][4] 每当我添加 swift 包管理器时,总是会发生此错误
无法获取库
我已经完成了 github auth token 设置并将我的 github 帐户注册到 xcode
我的 mac os 是 monterey 12,1
我的 xcode 版本,13.1,命令行工具 13.1
m1芯片组mac
添加任何后,详细错误消息 在此处输入图像描述
swift - 将包依赖项编辑为本地包
概述
- 我有一个使用远程 swift 包的项目。
- 我想在同一个项目中编辑这个包,以便我可以根据使用情况对其进行改进。
目标:
- 为此,我尝试添加与本地包相同的包,以便我可以对其进行编辑。
参考:
问题:
- 当我将包含的克隆文件夹拖放
Package.swift
到项目中时,我看不到项目中的任何本地包源文件。(见截图)
我一直在为此头疼。对此的任何帮助将不胜感激。
Xcode 版本:
13.2 (13C90)
(从开发者门户下载而不是 AppStore)
ios - 快速构建:警告:“--product”不能与自动产品“ProductName”一起使用;改为构建默认目标
我有一个Package.swift
清单如下:
包清单摘要:
- 3个目标
- 1 个目标取决于另一个目标
- 仅
PackageName
与 macOS 兼容,其他仅适用于 iOS
构建命令
long-package-name-ios-Package
为 iOS构建(构建包中的所有目标):
swift build -Xswiftc "-sdk" -Xswiftc "$(xcrun --sdk iphonesimulator --show-sdk-path)" -Xswiftc "-target" -Xswiftc "arm64-apple-ios15.0-simulator"
[137/137] 构建完成!
现在尝试PackageName
为 macOS 构建:
swift build -Xswiftc "-sdk" -Xswiftc "$(xcrun --sdk macosx --show-sdk-path)" --product "PackageName"
[1/1] 规划构建警告:“--product”不能与自动产品“PackageName”一起使用;改为构建默认目标
它继续为 macOS 平台构建默认目标long-package-name-ios-Package
,这显然由于无法导入而失败,例如 UIKit 或任何其他仅限 iOS 的框架。
问题
如何指定仅为PackageName
macOS 平台构建?我愿意创建 Xcode 包、方案和其他不同的配置,但最终目标应该是:
long-package-name-ios-Package
仅适用于 iOS 的集成(所有目标)PackageName
为 macOS集成
ios - Swift Playground 4:导入 Swift 包
我在 Mac 上使用Swift Playgrounds App,这与 Xcode 中的 Swift Playgrounds 不同。
我有兴趣在我的 Playground 中使用基于 UIKit 的 Swift 包,但找不到类似于 Package.swift 文件或菜单项来添加包的任何内容:
是否可以选择连接存储在 git 存储库中的外部 Swift 包,还是只允许使用本地模块?
swift - 如何在 Package.swift 中抑制 MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS
我的团队目前使用一个内部带有 CoreData 定义的框架。现在我尝试将其转换为 Swift 包。之前我们MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS = YES
在 xcconfig 文件中定义了禁止should have an inverse
警告。
如何抑制 Package.swift 中的警告?
我已经尝试过但没有成功:
cSettings: [.unsafeFlags(["-w"])]
swiftSettings: [.unsafeFlags(["-suppress-warnings"])]
swift - 使用 Xcode 的 Swift 包中没有这样的模块 - 依赖项中列出的包
我创建了一个空白模板包:
Xcode 版本 13.2.1 (13C100) 打开包。
我在包中添加了一个依赖项。
Xcode > Product > Build 此时成功。
我编辑Temp/Sources/Temp/Temp.swift
以插入第一行中定义的包dependencies
。
构建现在会生成以下错误:…/Temp/Sources/Temp/Temp.swift:1:8: error: no such module 'Publish'
.
我确信这是一个Apple错误。或者我可能会遗漏一些东西。
当有一个xcodeproj
额外的结构提供时,有几个关于这个问题的帖子。其中一些暗示了可以帮助某些人的解决方法。
有没有人看到这个和/或知道如何解决它?
Apple 的Creating a Standalone Swift Package with Xcode文档没有提供任何见解。
ios - 链接到 Swift 包中的胖静态库
我正在尝试构建一个 Swift 包,它包装了一个用 C: libndi_advanced_ios.a编写的来自NewTek 的 Apple Advanced NDI SDK的胖静态库。
我无法将预编译库(只有头文件和 .a 二进制包可用)链接到我的 Swift 包。我做了很多研究并尝试了不同的解决方案,但都没有奏效。这是一个快速列表:
无法捆绑在 XCFramework 中,因为libndi_advanced_ios.a支持多个平台(arm_v7、i386、x86_64、arm64)并
xcodebuild -create-xcframework
返回错误binaries with multiple platforms are not supported
(该解决方案也在Swift 论坛上进行了讨论);按照SPM 文档中的建议使用
.linkedLibrary
in (已过时)会发出警告,我什至不记得它是否成功构建;targets
system packages are deprecated; use system library targets instead
使用不同的标志和设置(如
linkerSettings
)没有成功。也许我只是错过了正确的组合。
我可以链接几十个 Stackoverflow 的问题和其他没有帮助的帖子,但它是无用的(a,b,c)。
目前我有这个配置:
其中Package.swift
包含以下代码:
您可以在alessionossa/swift-ndi找到整个项目。
目前唯一的结果是一些警告并且模块 CiOSNDI 没有构建:
我也尝试过.systemLibrary(name: "CiOSNDI", path: "Libraries/"),
这种配置:alessionossa/swift-ndi/tree/systemLibrary;但我收到这些错误:
笔记
NDI_include
实际上是指向 的别名/符号链接/Library/NDI Advanced SDK for Apple/include
,而NDI_iOS_lib
指向/Library/NDI Advanced SDK for Apple/lib/iOS
.
我总是在更改为Package.swift
.
2022 年 10 月 1 日更新:libndi_advanced_ios.a需要libc++.tbd。这可以在Build Phases -> Link Binary With Libraries中的应用程序中轻松链接,但我不知道如何在 Swift 包中链接。
xcode - 依赖于 Swift Collections 包的项目的 Xcodebuild 失败
我有一个 Swift 项目,它依赖于 Apple 的 Swift Collections 包。我已将包添加到项目中,从 Xcode 构建时一切正常(用于调试和发布)。
但是当我尝试使用 xcodebuild 从命令行构建时,构建失败并出现错误:
在构建开始时,xcodebuild 输出以下内容,因此它似乎可以很好地找到依赖项。
关于什么是失败以及如何解决它的任何想法?我使用的是 Xcode 13.2.1 版。