在同一框架内将专用Objective-C头导入Swift
我们目前有一个遗留的Objective-C框架,我们想在其中引入一些Swift组件。但是,我不知道如何从Swift文件中访问私有和项目范围的Objective-C文件 我们已经使用了一个伞形头和一个modulemap文件来声明应该包含在库模块中的公共头,我们希望将它们作为唯一公开的文件。但是,我们的新Swift文件(在同一框架内)还需要访问我们不想公开的私有头 我已经尝试过定义一个私有modulemap文件,列出我想要使用的私有头,然后用modulemap_private_file build设置指定它,但我认为这并不是我们想要的。它似乎引入了一个新的MyLibrary.Private模块,该模块对外部目标(如单元测试目标)公开可见,但框架内的Swift文件仍然不可用 任何关于如何实现这一点的建议,或在其他项目中的经验,都将非常感谢在同一框架内将专用Objective-C头导入Swift,objective-c,swift,xcode,llvm,Objective C,Swift,Xcode,Llvm,我们目前有一个遗留的Objective-C框架,我们想在其中引入一些Swift组件。但是,我不知道如何从Swift文件中访问私有和项目范围的Objective-C文件 我们已经使用了一个伞形头和一个modulemap文件来声明应该包含在库模块中的公共头,我们希望将它们作为唯一公开的文件。但是,我们的新Swift文件(在同一框架内)还需要访问我们不想公开的私有头 我已经尝试过定义一个私有modulemap文件,列出我想要使用的私有头,然后用modulemap_private_file build设
谢谢 我最近也有同样的问题。情况是,您可以用另一种方法来实现,只需将Swift内部暴露于Objective-C。通过一些手动操作,它将允许您在Swift内部使用Objective-C类(内部和同一框架目标),而不会实际将ObjC暴露于Swift 这个案例有点太复杂了,无法将所有内容都粘贴到这里。我正在为我的文章添加一个关于这个主题的链接。这是总的想法: