Swift 包管理器关于包 ID 的问题
Swift Package Manager Problem With Bundle IDs
我很确定 SPM 有能力解决这个问题,但我很难找到它。我很确定 "I'm not holding it right."
我对 SPM 还很陌生,仍在为它的语法和方法苦苦挣扎。
也许所有需要发生的事情就是让某人指导我找到适当的 PackageDescription 文档(我似乎找不到)。
我正在切换 an app I developed 以将 SPM 用于我也编写的一些库。它一直在使用迦太基,并且将库添加为简单的源文件(它们都是单源文件依赖项)。
一切正常...除了 App Store 上传被拒绝。
它不喜欢嵌入式库的包 ID。他们在项目名称中有下划线,我应该用破折号替换它们。
这些库 (this one, this one, and this one) 并非真正设计为作为库交付。它们实际上是单一源文件。看起来 SPM 将它们构建到一个库中,但我并没有真正为构建提供 Info.plist。
任何人都可以指导我如何控制包 ID,同时保持模块名称相同吗?
作为记录,这里是我得到的错误:
好的。我想通了。
首先,SPM 的文档...还有一些不足之处。我必须通过反复试验(错误很多)才能找到答案。
在 Package.swift 文件中,我有这个(对于我的一个依赖项):
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "RVS_Generic_Swift_Toolbox",
products: [
.library(
name: "RVS_Generic_Swift_Toolbox",
type: .dynamic,
targets: ["RVS_Generic_Swift_Toolbox"]),
],
targets: [
.target(
name: "RVS_Generic_Swift_Toolbox",
path: "./src")
]
)
显然,SPM 使用 .library.name 属性 作为 BundleID。如果我改变它,像这样:
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "RVS_Generic_Swift_Toolbox",
products: [
.library(
name: "RVS-Generic-Swift-Toolbox",
type: .dynamic,
targets: ["RVS_Generic_Swift_Toolbox"]),
],
targets: [
.target(
name: "RVS_Generic_Swift_Toolbox",
path: "./src")
]
)
然后,它允许上传,我仍然可以做 import RVS_Generic_Swift_Toolbox
。
此外,还有一个糟糕的缓存问题。我不得不删除所有内容以确保加载了正确的版本。
我很确定 SPM 有能力解决这个问题,但我很难找到它。我很确定 "I'm not holding it right."
我对 SPM 还很陌生,仍在为它的语法和方法苦苦挣扎。
也许所有需要发生的事情就是让某人指导我找到适当的 PackageDescription 文档(我似乎找不到)。
我正在切换 an app I developed 以将 SPM 用于我也编写的一些库。它一直在使用迦太基,并且将库添加为简单的源文件(它们都是单源文件依赖项)。
一切正常...除了 App Store 上传被拒绝。
它不喜欢嵌入式库的包 ID。他们在项目名称中有下划线,我应该用破折号替换它们。
这些库 (this one, this one, and this one) 并非真正设计为作为库交付。它们实际上是单一源文件。看起来 SPM 将它们构建到一个库中,但我并没有真正为构建提供 Info.plist。
任何人都可以指导我如何控制包 ID,同时保持模块名称相同吗?
作为记录,这里是我得到的错误:
好的。我想通了。
首先,SPM 的文档...还有一些不足之处。我必须通过反复试验(错误很多)才能找到答案。
在 Package.swift 文件中,我有这个(对于我的一个依赖项):
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "RVS_Generic_Swift_Toolbox",
products: [
.library(
name: "RVS_Generic_Swift_Toolbox",
type: .dynamic,
targets: ["RVS_Generic_Swift_Toolbox"]),
],
targets: [
.target(
name: "RVS_Generic_Swift_Toolbox",
path: "./src")
]
)
显然,SPM 使用 .library.name 属性 作为 BundleID。如果我改变它,像这样:
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "RVS_Generic_Swift_Toolbox",
products: [
.library(
name: "RVS-Generic-Swift-Toolbox",
type: .dynamic,
targets: ["RVS_Generic_Swift_Toolbox"]),
],
targets: [
.target(
name: "RVS_Generic_Swift_Toolbox",
path: "./src")
]
)
然后,它允许上传,我仍然可以做 import RVS_Generic_Swift_Toolbox
。
此外,还有一个糟糕的缓存问题。我不得不删除所有内容以确保加载了正确的版本。