0

我有一个带有库的项目。如果我选择库作为构建目标,它会成功构建。如果我选择项目作为目标,则会出现链接器错误Undefined symbols for architecture x86_64:和未定义符号列表。奇怪的是——所有这些符号都是标准的东西,比如"_OBJC_CLASS_$_SwiftObject", "Foundation.URLRequest.httpBody.setter : Foundation.Data?", "Swift.String.init(Swift.Substring) -> Swift.String".

错误列表

当我SawtoothProtobuf.pb.swift从构建中删除文件时,此错误消失。但是,当仅构建包含此文件的 lib 项目时,一切都会成功构建。

4

1 回答 1

0

我也遇到了一个非常相似的问题。我试图通过将 @objc 和 @objMember 放在所有必需的东西前面,从 swift 框架构建一个静态库,以便 obj-c 可以访问,我遇到了与您类似的错误。这很奇怪,因为它在框架中工作,在代码所有者的演示应用程序中工作,但是当我将它安装到我的时它失败了......

添加一个空白的 swift 文件为我修复了它。我猜需要将一些 swift 库加载到应用程序中,如果没有暴露的 swift 代码,就不会发生这种情况。

于 2018-07-11T03:14:56.710 回答