【发布时间】:2018-11-16 21:39:30
【问题描述】:
我正在尝试为 FIT C++ libFitSdkCppiOS.a 库创建一个 Swift 包装器,但我真的不知道如何混合使用 C++、Objective-C 和 Swift 代码来进行设置。
这是我到目前为止所做的:
1. 为 FITFramework 创建了一个新目标
2.将libFitSdkCppiOS.a库和相关的cpp头文件复制到Xcode中的targets文件夹中
3. 因为你不能在 Frameworks 中使用 Bridging-Header 文件,所以我想弄清楚下一步该怎么做。
我看过一些关于伞头的帖子,但不知道它是什么或需要在其中包含什么才能使其正常工作。有人可以逐步解释我需要做什么来创建这个 Swift Wrapper 并将其打包为一个可供其他项目使用的框架。
- 伞头文件是主框架头文件吗,在这种情况下称为
FITFramework.h? - 如果不是,我该如何创建一个伞头文件,它需要放在哪里?
- 伞头文件中应该包含什么?
FITFramework.h
//
// FITFramework.h
// FITFramework
//
// Created by xxxx xxxxxxx on 7/6/18.
//
#import <UIKit/UIKit.h>
//! Project version number for FITFramework.
FOUNDATION_EXPORT double FITFrameworkVersionNumber;
//! Project version string for FITFramework.
FOUNDATION_EXPORT const unsigned char FITFrameworkVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <FITFramework/PublicHeader.h>
编辑: 1. 如何在不使用 Bridging-Header 文件的情况下向 Swift 公开 Objective-C 类?
有几篇文章提到了 module.map 文件的使用,但这似乎是将 C 头文件而不是 Objective-C 头文件暴露给 Swift 包装函数
【问题讨论】:
标签: ios frameworks