如何在objective c框架中使用swift扩展

Posted

技术标签:

【中文标题】如何在objective c框架中使用swift扩展【英文标题】:How to use swift extension in objective c framework 【发布时间】:2017-03-06 13:45:11 【问题描述】:

我已经通过 Objective-C 中的 CocoaPods 在 Swift 项目中安装了MWPhotoBrowser。我在 Swift 项目中有一个 UIColor 扩展。

public extension UIColor 
    public func appColor()->UIColor     
        return UIColor(red: 0.525, green: 0.49, blue: 0.929, alpha: 1.0) 
    

现在我想从 Objective-C .m 文件中调用 UIColor 扩展方法。

我有以下导入,但仍然无法访问它。

myApp 是目标名称,我尝试在构建设置中更改“定义模块”和“产品模块名称”。我仍然得到同样的错误。

【问题讨论】:

您尝试过不同的方法吗? #import <myApp-Swift.h> 是的。我试过。遇到同样的错误。 你是如何安装MWPhotoBrowser的? CocoapodsCarthage,自己加到项目里? 正如我在问题中提到的,我通过 CocoaPods 安装了 MWPhotoBrowser 对不起,我错过了这个事实。比MWPhotoBrowser 不会得到你的应用程序类,因为 Pod 是单独的项目。 【参考方案1】:

MWPhotoBrowser 不会获取您的应用程序类,因为 Pod 是单独的项目。 – NSDmitry

【讨论】:

以上是关于如何在objective c框架中使用swift扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Objective C 静态库导入 Swift 框架?

如何在 Flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

XCode 9.4.1 上的 Swift + Objective C 框架的问题

如何在同一框架内访问 Objective-C 中的内部 Swift 类?

如何在 Swift 中使用两个 swift 文件和一个 Objective C 文件制作 ScollView

将 Objective C 框架导入我的 Swift 项目后,我的项目无法识别桥接文件中的头文件