在Swift软件包的实验中,我创建了一个新的软件包。源文件和资源从现有的Xcode项目框架目标移到了新的结构中。
试图构建,成绩单显示错误:
manifest property 'defaultLocalization' not set; it is required in the presence of localized resources
如何解决这个问题,以便我可以创建Swift包?
WWDC2020会话10169对此进行了解释。
在视频开始大约11分半钟时,苹果工程师DeveloperTools的AndersBertelrud介绍了这个话题。示出了使用Xcode 12向包清单添加默认本地化参数的示例。
这声明了我在开发过程中使用的语言如果没有更好的匹配,则用作运行时的回退本地化可获得的这对于任何包含资源的包都是必需的。
包含defaultLocalization
参数的示例清单如下所示:
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyPackageUI",
defaultLocalization: "en",
platforms: [
.iOS(.v13)
],
products: [
.library(
name: "MyPackageUI",
targets: ["MyPackageUI"]),
],
targets: [
.target(
name: "MyPackageUI",
dependencies: []),
.testTarget(
name: "MyPackageUITests",
dependencies: ["MyPackageUI"]),
]
)