当前位置: 首页 > 面试题库 >

如何在Swift框架中导入私有框架头?

丁翰海
2023-03-14
问题内容

我有一个Objective-
C框架(框架A),该框架公开了一些公共和私有标头。公共头文件也在框架的伞头文件中html" target="_blank">声明。我有第二个Swift框架(框架B),它与Objective-
C框架链接。

现在,如果要在BI中导入A的公共标头,只需要做一个即可import A

但是,如何导入私有标头呢?

我知道桥接头不是一个选择,因为框架不支持该头。我是否需要以某种方式为专用标头创建一个单独的伞形标头?


问题答案:

您需要修改framework A,以便它导出私有模块。

  1. 在项目中创建一个私有模块映射文件A。这将是这样的:

A / private.modulemap

    explicit module A.Private {

    // Here is the list of your private headers.
    header "Private1.h"
    header "Private2.h"

    export *
}
  1. 在框架A目标的“构建设置”中,搜索“专用模块映射文件”行,并进行以下操作:

    $(SRCROOT)/A/private.modulemap
    
  2. 不要private.modulemap在“编译源”中包含文件。这会导致不必要的警告。

  3. 清理并构建框架A目标。

  4. 在框架B中,Swift文件。您可以这样导入私有模块:

    import A
    

    import A.Private



 类似资料:
  • 问题内容: 我是快速编程的新手。我需要创建一个纯swift框架,并将其导入 到我现有的纯swift项目中。当我尝试导入swift框架时,出现 以下错误消息: Test.h Asdf.h myModule-Swift.h 构建框架后,我在现有项目中添加了框架并得到了这个项目结构和导入问题屏幕 我究竟做错了什么?感谢帮助! @findall评论答案-我试图将所有框架文件添加到我的项目根文件夹和项目文件

  • 问题内容: 我正在尝试导入一个项目。我在“构建阶段”->“使用库链接二进制文件”中添加了内容。 Objective-C的作品: 但是在Swift中,我得到一个错误: 根据Swift文档: 导入外部框架 您可以导入具有纯Objective- C代码库,纯Swift代码库或混合语言代码库的外部框架。无论框架是用单一语言编写还是包含两种语言的文件,导入外部框架的过程都是相同的。导入外部框架时,请确保将要

  • 问题内容: 我将swift框架导入到Objective-C项目中,如下所示: 问题在于我正在导入框架的类只能识别某些类。 被认可的课程: 该类不是: 它们都是公开的,那么为什么第一个在工作空间中被识别,而另一个却没有? 我也在头文件MyFramework-Swift.h中看到一个类 出现而其他不出现 这是为什么? 另外要指出的是,当我将swift框架导入swift项目时,该相同的程序也可以工作 问

  • 我按照以下网址的说明进行了操作: https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.1 在.NET核心中创建gRPC服务和客户端,一切都很好。 接下来,我需要一个遗留的。NET框架应用程序访问该服务。我找到了一些安装的NuGet包,但没有找到任何告诉你如何使用它们来制作g

  • 问题内容: 如何快速获取rightbarbuttonItem的框架?我发现了这一点:UIBarButtonItem:如何找到它的框架?但是它说不能将NSString转换为UIView,或者不能将NSString转换为String: 目标是删除rightBarButtonItem,添加一个imageView,然后使用fadeOut效果对其进行移动。 谢谢 问题答案: 您应该像这样尝试: 编辑(快速3

  • 这是django框架中的python代码。我已经成功安装了django,但我不知道为什么会出现错误。 事实上,我刚开始与django合作,所以请看一下故障。 这可能是因为它无法访问URL和contrib目录。请帮忙,谢谢 .