Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 导入框架时的Swift类歧义_Ios_Swift_Class_Frameworks_Ambiguity - Fatal编程技术网

Ios 导入框架时的Swift类歧义

Ios 导入框架时的Swift类歧义,ios,swift,class,frameworks,ambiguity,Ios,Swift,Class,Frameworks,Ambiguity,我目前正在迁移项目中的一些源代码,无法编译该项目 以下是当前的配置: 两个项目:main和library 一个内部框架,包含用Swift编写的类,所有类都使用@objc注释对Objective-C开放 特殊配置:这个框架有一个单一的Objective-C协议(以维护遗留兼容性),所有其他Swift类都实现这个协议。伞形头将此协议导出到公共 库项目加载此内部框架并引用Objective-C协议和Swift类 Main项目通过cocoapods加载库项目,还引用内部框架中的protocol和Swi

我目前正在迁移项目中的一些源代码,无法编译该项目

以下是当前的配置:

  • 两个项目:main和library
  • 一个内部框架,包含用Swift编写的类,所有类都使用
    @objc
    注释对Objective-C开放
  • 特殊配置:这个框架有一个单一的Objective-C协议(以维护遗留兼容性),所有其他Swift类都实现这个协议。伞形头将此协议导出到公共
  • 库项目加载此内部框架并引用Objective-C协议和Swift类
  • Main项目通过cocoapods加载库项目,还引用内部框架中的protocol和Swift类
使用此配置,库项目可以很好地编译,而主项目不能,在主项目中编译Swift源时会发出以下错误:

error: 'CLASS_NAME' is unavailable: cannot find Swift declaration for this class
    fileprivate var VARIABLE_NAME: [CLASS_NAME]
                                    ^~~~~~~~~~
__ObjC.CLASS_NAME:2:12: note: 'CLASS_NAME' has been explicitly marked unavailable here
open class CLASS_NAME : SUPER_CLASS_NAME {
似乎模块
\uuu ObjC
指的是由Xcode自动生成的模块,可能与桥接头文件有关,但奇怪的是,我没有从桥接头上的内部框架导入任何源

我在谷歌上搜索了错误消息,似乎没有类似的问题。是否有解决此错误的方法,或者这种设置在Xcode中不可用?我知道这对于单个应用程序项目来说太复杂了,但目前的情况是尽可能少地接触遗留代码。任何帮助或建议都将不胜感激。谢谢