我已经构建了一个简单的Swift项目,该项目生成一个macOS命令行工具,并且有一个关联的自定义Swift库(.dylib
)但是在编译和运行它时会出现一些警告,这些警告显示在表单中:
objc [9532]:类_SwiftNativeNSEnumeratorBase在/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftCore.dylib(0x100cca3f0)和/ Users /中实现。 ../Build/Products/Debug/MyTool(0x1003e84c0)。将使用两者之一。哪一个未定义。
扫描生成的MyTool
二进制文件表明它包含该函数,因此我假设它已经通过静态链接以某种方式被烘焙。 .dylib
期望它作为共享库存在,所以它似乎就是重复发生的地方。
我在项目和目标级别尝试了很多设置,但似乎没有人控制将核心框架之类的内容嵌入到除显式嵌入选项之外的静态库中。
对于两个目标始终嵌入Swift库设置为“否”。清理和构建仍然会产生重复警告。
答案 0 :(得分:0)
看起来有一些事情需要改变来解决这个问题:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx
或相应的库集。这些似乎包含了一个比默认位置更新版本的Swift库。.../usr/lib/swift/macos
位置拖动它们。 Swift项目需要libswiftCore.dylib
。由于C绑定,我还必须包含libc
,但默认值(libc.tbc
)已足够。