【问题标题】:Using a Objective C framework inside a Xcode Swift Project在 Xcode Swift 项目中使用 Objective C 框架
【发布时间】:2020-11-27 10:27:48
【问题描述】:

我想将以下框架集成到我的 swift 项目中,以便我可以在我的 swift 应用程序中使用 LibSSH 动态端口转发

这里是 Object C 框架的 github 仓库https://github.com/mconintet/SDF

我的项目只是一个简单的WKWebView Swift 应用程序

我对这种情况很陌生,有人可以指导我一些解决方案

【问题讨论】:

    标签: objective-c swift macos libssh


    【解决方案1】:

    无需深入设置的最简单方法是..

    1. 在你的 Swift 项目中创建一个 Objective-C Class (.m+.h) 文件,命名并不重要。无论如何都需要这个文件,这样您就可以在 Objective-c 中为您的项目编写更多代码。

    2. 当你被要求generate Bridging Header时,说

    3. 在生成的Projectname-Bridging-Header.h(不是您自己创建的文件)中
      放置您的#import <SDF/SDF.h> 规则。

    4. 编译一次。

    5. 开始使用您的 ObjC 东西快速编程。

    替代方案:进入您的目标设置或项目设置并搜索“桥接”并根据需要更改参数。 有 (A) 一种方式桥接到 swift 和 (B) 一种方式自动生成桥接到目标 c。两种命名约定都可以编辑,但只有一个Projectname-Bridging-Header.h 在您的项目文件树中可见。另一个Projectname-Swift.h 是从 Xcode 为您重复生成的。如果您尝试将函数从 Swift 公开到 Objective-C,则还需要导入这个“不可见”的头文件,但在 Objective-C 文件中,您需要通过 #import "Projectname-Swift.h" 获取它。

    【讨论】:

    • 似乎我现在就在附近。还有一个愚蠢的问题,如何将 SDF 文件夹放入我的项目中?对不起,我对这个太陌生了
    • 如果您不想以后遇到太多麻烦,您希望将框架与您自己的代码分开。1.) 将框架复制到您在 Finder 中的项目文件夹中。 2.)目标设置>框架,库,...>+搜索您的框架>>选择并添加它。 > 在代码中编写#import 规则 > 编译。您可以在“构建阶段”>链接和复制下检查框架是否已复制到您的目标中。
    • 别忘了。 SDF 有自己的依赖项,写在 git repo readme.md
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2023-04-10
    • 2015-09-14
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多