Xcode 12.5 не разрешает SwiftPackageDependency с целью .systemLibrary на M1
Xcode 12.5 на MBP с M1 не может разрешить зависимость пакета с целью .systemLibrary. Запуск Xcode без Россета.
В проект установлено 2 пакета SPM. Оба они добавили в проект .xcworkspace и только один из них связан с приложением. Оба пакета являются локальными зависимостями.
A
пакет имеет пакет как зависимость и
B
пакет имеет
libgit2
как зависимость .systemLibrary. Затем, если я открываю проект, Xcode не может найти pkg-config, а затем не разрешает зависимость libgit2.
Этого не произойдет, если я создам A
pbxproj
с участием
swift package generate-xcodeproj
, в этом случае проект разрешается нормально, и я могу построить его без каких-либо проблем.
А это:
// 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.modulemap
а также
shim.h
файлы.
Я проверил
pkg-config
установлен и содержит информацию о пакете libgit2 с
pkg-config --list
Также я открыл проект на Intel Mac и работает нормально.
libgit2 устанавливается brew.
1 ответ
Спасибо 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