我在我的项目中使用MetaCodable宏,通过SwiftPM安装,当我尝试使用Microsoft Azure的Pipeline使用我的本地机器作为运行代理(MBP M1 Max -索诺马- XCode 15)构建项目时,我得到这个错误消息:
第一个月
有些人here建议在构建设置中将-external-plugin-path
添加到other Swift flags
,但这并不能解决问题。
在this thread中,有些人还建议将-load-plugin-library
,或-plugin-path
,或-load-plugin-executable
添加到other Swift flags
,我尝试了这些选项的每一个值:$(BUILT_PRODUCTS_DIR)#MetaCodable
,但我在每个CI构建中都得到了相同的错误。
我在Azure的Pipeline构建日志中也收到了这个警告:"output": "<unknown>:0: warning: compiler plugin not loaded: '/Users/my_user_name/Library/Developer/Xcode/DerivedData/MyProject/Build/Products/Release/CodableMacroPlugin; failed to initialize /Users/my_user_name/vsts-agent-osx-x64-2.183.1/_work/9/MyProject/Data/Models/SomeModel.swift
个
任何关于这一点的想法都是值得赞赏的。
1条答案
按热度按时间h7wcgrx31#
我也遇到了同样的问题,几个小时后我找到了解决方案。
对于我们的库,我们必须为SwiftSyntaxMacros定义一个除了iOS之外的macOS支持版本。在本地,我们使用MacOS 14并将其设置为14。在服务器上,我们运行13.X。我们没有收到MacOS支持版本的错误“error:external macro implementation type 'foo' could not be found for macro 'foo'”。
将其设置为MacOS 12后,问题消失了:
字符串
我希望这对你有用。在网上我没有找到这个问题的解决方案。