xcode给出了链接swift框架的错误信息,但项目已生成并运行

xcode给出了链接swift框架的错误信息,但项目已生成并运行,swift,xcode,macos,Swift,Xcode,Macos,我有一个swift框架,可以导出以下类 @objc public protocol MyClassProt{ .... } @available(iOSMac 10.10, *) @objc public class MyClass: NSObject, MyClassProt { .... } 当我在同一个工作区上使用此框架构建测试应用程序时,一切都正常 但是,当我将此框架链接到仅包含已编译框架的独立应用程序时,xcode抱怨它无法访问该类: import Cocoa im

我有一个swift框架,可以导出以下类

@objc public protocol MyClassProt{
    ....
}

@available(iOSMac 10.10, *)
@objc public class MyClass: NSObject, MyClassProt {
    ....
}
当我在同一个工作区上使用此框架构建测试应用程序时,一切都正常

但是,当我将此框架链接到仅包含已编译框架的独立应用程序时,xcode抱怨它无法访问该类:

import Cocoa
import MyFramework // no problem

class ViewController: NSViewController {
    var m: MyClass?  // error: 'MyClass' is unavailable: cannot find Swift decleration for this class
                     // 1. 'MyClass' has been explicitly marked unavailable here (MyFramework.MyClass)
另外,框架api函数的自动完成也不起作用

但这段代码将使用所有框架API按预期构建和运行

(注意:不确定是否相关,但我添加了@objc协议,因为在导入到objc项目时,我可以看到其他API的类和ctor,但没有)

我肯定是框架定义有问题,有什么想法吗


谢谢

协议是内部的。同时公开它
@objc public protocol MyClassProt
@Kamran我已经在协议中添加了
public
——没有变化,我认为它应该按照协议工作。我不确定会出什么问题。你在设置中将该类范围标记为公共吗?@Reed我对xcode比较陌生,你能告诉我你指的是哪个设置吗?