ошибка: флаги условной компиляции должны быть действительными идентификаторами Swift (вместо '-sdk') - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь добавить расширение Intents в мое приложение (Xcode 10.1), которое использует Swift 4 и CocoaPods.

После того, как я добавил расширение Intents и внедрил его в свою цель (у меня есть несколько целей), я попытался построить и получил следующую ошибку:

CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
    cd /Users/USER/iOS
    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -incremental -module-name MyApp_Intents -Onone -enable-batch-mode -enforce-exclusivity=checked -DDEBUG -Onone -enable-bridging-pch -DDEBUG -D -sdk
...
<unknown>:0: error: conditional compilation flags must be valid Swift identifiers (rather than '-sdk')
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

Это мои значения для Другие быстрые флаги :

-Onone -enable-bridging-pch -DDEBUG -D

Я смотрел на похожие проблемы , но в моем случае,компилятор жалуется на значение " -sdk ", которое я не могу найти, я даже пытался удалить некоторые значения (и в минуту отчаяния все) из Other Swift Flags ,но, к сожалению, когда я их удаляю, появляется ошибка " Macro name должно быть идентификатором swift ".

Кто-нибудь есть по этому поводу?

1 Ответ

0 голосов
/ 30 декабря 2018

Ваша запись других флагов Swift устарела и имеет неправильный формат.Удали это!(Не только его содержимое; удалите весь параметр сборки.)

Вместо этого используйте условия активной компиляции;это намного прощеВот как выглядит современный проект:

enter image description here

Вам вообще не нужно -Onone, поскольку уровень оптимизации теперь является настройкой сборки.

enter image description here

Если вы хотите использовать мостовой PCH, теперь для этого также есть настройка сборки.

enter image description here

Ничто из того, что вы делаете, не требует использования других быстрых флагов, поэтому не используйте их.

...