【问题标题】:iOS Swift framework: How to import Objective C code into swift framework properly?iOS Swift 框架:如何将 Objective C 代码正确导入 swift 框架?
【发布时间】:2018-07-02 20:22:10
【问题描述】:

我有一个名为

的伞头

MyApp-Swift.h

我在伞形标题中导入了以下类"AFHTTPSessionManager.h"

我在构建阶段公开了总标题,我还确保将定义模块设置为是。

但是,在我的 swift 框架中,我仍然收到以下错误

使用未声明的类型'AFHTTPSessionManager'

我不知道为什么会这样。我认为 swift 会自动获取我的 Objective-C 导入。任何提示或建议表示赞赏。

我尝试关注这个来源

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_82

,但它对我不起作用。这是非常令人兴奋的。

这是导致错误的快速代码。

import Foundation

   class MyApp {
        private var manager: AFHTTPSessionManager?
   }

【问题讨论】:

    标签: ios objective-c swift frameworks bridge


    【解决方案1】:

    问题是,桥接头不适用于框架目标。解决方案是创建模块映射目标,为所需的 ObjC 框架构建模块映射。

    以下是 CommonCrypto 的示例:https://stackoverflow.com/a/42852743/1840136;在您的情况下,差异应该是脚本行

    header "${SDKROOT}/usr/include/CommonCrypto/CommonCrypto.h"
    

    将替换为AFNetworking 标头的路径(我不确定您是在项目中放置第 3 方库还是从 pod 中获取,因此请自行检查)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多