簡體   English   中英

Xcode 12.5 無法使用 M1 上的 .systemLibrary 目標解析 SwiftPackageDependency

[英]Xcode 12.5 fail resolving SwiftPackageDependency with .systemLibrary target on M1

帶有 M1 的 MBP 上的 Xcode 12.5 無法解析與 .systemLibrary 目標的包依賴關系。 在沒有 Rosseta 的情況下運行 Xcode。

該項目使用 2 個 spm 包進行設置。 它們都添加到項目 .xcworkspace 中,並且其中只有一個鏈接在應用程序中。 這兩個包都是本地依賴項。 A包有B包作為依賴, B包有libgit2作為 .systemLibrary 依賴。 然后,如果我打開項目,Xcode 找不到 pkg-config 並且無法解析 libgit2 依賴項。

如果我使用swift package generate-xcodeproj生成 A pbxproj ,則不會發生這種情況,在這種情況下,項目解決得很好,我可以毫無問題地構建它。

A Package.swift是:

// swift-tools-version:5.3
import PackageDescription

let package = Package(
    name: "A",
    platforms: [
        .macOS(.v11)
    ],
    products: [
        .library(
            name: "A",
            targets: ["A"]
        ),
    ],
    dependencies: [
        .package(path: "../B")
    ],
    targets: [
        .target(
            name: "A",
            dependencies: ["B"]
        ),
        .testTarget(
            name: "ATests",
            dependencies: ["A"]
        ),
    ]
)

B Package.swift是:

// swift-tools-version:5.3
import PackageDescription

let package = Package(
    name: "B",
    platforms: [
        .macOS(.v11)
    ],
    products: [
        .library(
            name: "B",
            targets: ["B"]
        )
    ],
    dependencies: [],
    targets: [
        .systemLibrary(
            name: "Clibgit2",
            pkgConfig: "libgit2",
            providers: [
                .brew(["libgit2"])
            ]
        ),
        .target(
            name: "B",
            dependencies: [
                .target(name: "Clibgit2")
            ]
        ),
        .testTarget(
            name: "BTests",
            dependencies: ["B"]
        )
    ]
)

Clibgit2目標使用module.modulemapshim.h文件進行了良好配置。

Xcode 錯誤

我檢查了pkg-config是否已安裝,並且具有帶有pkg-config --list的 libgit2 包信息另外我在 intel mac 上打開了該項目並且工作正常。

libgit2 由 brew 安裝。

感謝 NeoNach !! Xcode 只查看/opt/brew/usr/local M1 芯片的自制程序位置在/opt/homebrew因此您可以使用com.apple.dt.Xcode.IDEHombrePrefixPath設置自定義路徑。

defaults write com.apple.dt.Xcode IDEHomebrewPrefixPath /opt/homebrew

推文參考: https : //twitter.com/NeoNacho/status/1412514541343166467

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM