Проблема с Swift Package Manager - карта модуля должна находиться внутри каталога «Включить» - PullRequest
0 голосов
/ 02 ноября 2018

Это мой файл Package.swift:

let package = Package(
    name: "MyProject",
    dependencies: [
        // Dependencies declare other packages that this package depends on.
        // .package(url: /* package url */, from: "1.0.0"),
        .package(url: "https://github.com/AlwaysRightInstitute/cows.git",
                 from: "1.0.0"),
        .package(url: "https://github.com/NozeIO/MicroExpress.git",
                 .branch("branches/swift-nio-lib"))
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on.
        .target(name: "Demo",
                dependencies: [
                    "cows", "MicroExpress"
            ],
                path: ".")

    ]
)

Я уже правильно инициализировал пакет (я думаю), и git-репозитории извлекаются (используя «Swift package fetch / resolv»)

Теперь я пытаюсь "быстро построить", но я получаю следующую ошибку:

'MyTarget' /Users/nimrodshai/Documents/MyProject: error: package has unsupported layout; modulemap '/Users/nimrodshai/Documents/MyProject/Pods/FirebaseCrash/Frameworks/FirebaseCrash.framework/Modules/module.modulemap' should be inside the 'include' directory

Кто-нибудь знает, как мне решить эту проблему?

Edit: Я пытаюсь удалить все из файла Pod (включая Firebase), а затем собрать. Вот что я получаю:

'Toky' /Users/nimrodshai/Documents/TOKY-TOY: error: target at '/Users/nimrodshai/Documents/TOKY-TOY' contains mixed language source files; feature not supported

1 Ответ

0 голосов
/ 16 ноября 2018

Попробуйте использовать найденную документацию здесь для publicHeaderPaths для целей. Там написано:

publicHeadersPath: Это свойство определяет путь к каталогу, содержащему публичные заголовки цели C. Этот путь относится к целевому пути, и значением по умолчанию для этого свойства является include. Действительно только для целей библиотеки семейства C.

У вас должна быть возможность указать путь к вашему module.modulemap, и тогда он будет счастлив.

...