首页 > 解决方案 > Swift 包管理器 - 带有 .zip 文件的 binaryTarget 无法验证

问题描述

我尝试了不同的方法来将 binaryTarget 添加到 Swift 包中 - 其中 2 种效果很好(在示例中),但是根据文档也应该工作的第三种方法(Target1)没有验证:Target2Target3unsupported extension for binary target 'Target3'; valid extensions are: xcframework

为了不让每个二进制版本过度膨胀存储库,我更喜欢这里的 zip 方法...... - 任何人都可以使用添加到 Package 存储库中的一个binaryTarget和一个.zip文件path:,或者任何提示我在这里做错了什么?(Xcode 12.4,t3.zip仅包含.xcframework根级别)

// 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: "StackoverflowExamplePackage",
    platforms: [
        .iOS(.v9)
    ],
    products: [
        .library(
            name: "Lib1",
            targets: ["Target1"]),
        .library(
            name: "Lib2",
            targets: ["Target2", "Target3"]),
    ],
    dependencies: [
        // .package(url: /* package url */, from: "1.0.0"),
    ],
    targets: [
        .binaryTarget(
            name: "Target1",
            url: "https://myurl.example.com/t1-xcframework.zip",
            checksum: "777ddd6381e2201b7eb778b72f373f77e1190fd9dc9503f703e37c86d3b89674"
        ),
        .binaryTarget(name: "Target2", path: "./Binaries/t2.xcframework"),
        .binaryTarget(name: "Target3", path: "./Binaries/t3.zip"),
    ]
)

封装示例 苹果文档

标签: swift-package-manager

解决方案


推荐阅读