问题标签 [bridging-header]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3379 浏览

xcode - Swift 编译器 - 代码生成

我想配置桥接头文件,但我Xcode没有objective-c桥接头部分。

我的 Xcode 构建设置图像在这里

0 投票
3 回答
3361 浏览

ios - Swift - 导入 Objective-C 给出“未知类型名称”

我正在做一个快速的项目,直到我需要这个“模拟类型时间选择器”。我下载了 repo 并使用 Xcode 6.4 进行了尝试,它工作正常。但是当我开始将它转移到我的项目时,它要求我创建一个桥接头,我创建了一个,我还在桥接头中导入了 .h 文件。我的项目可以看到委托方法,所以我认为它很好。但问题是,.m 文件上的变量有这样的错误: 在此处输入图像描述 但是如果你注意到,最后UIButton没有错误。你认为这似乎是什么问题?

0 投票
0 回答
75 浏览

ios - 如何通过将 Swift 调用传递给 Objective C 函数来获取 Objective C 类

我在 Objective C 中开发了一个库。在那个库中,我的一个属性需要我的类的注册。这样它将调用该类的预定义方法。(有些像委托)。

以下是我的目标 C 属性以及我在 swift 类中的设置方式:

现在,我已经通过了KeyMapper().self,但这不起作用。我也试过了KeyMapper()。因为在Objective C中,它会抛出如下错误

在这里,PROJECTNAME 附加在类名之前。现在,因为这个方法将在不存在的 Class 上调用 name PROJECTNAME.KeyMapperbut KeyMapper

那么如何解决这个问题呢?

0 投票
0 回答
349 浏览

ios - Swift Bridging Header 找不到类

我有一些 Objective-C 文件被导入到一个快速桥接头中。我不久前添加的一些文件运行良好,但我今天添加了更多文件,在 Swift 代码中,根本找不到新文件中的任何类,如“未解析的标识符”错误所示。这可能是什么原因?

这些新类已成功导入并在同一目标和项目中的其他 Objective-C 文件中使用。我检查了它们是否已导入目标,它们也包含在构建阶段/编译源中。

我不确定还有什么要检查的,有什么建议吗?提前致谢

0 投票
1 回答
76 浏览

objective-c - 在 Parse 项目中删除了桥接头

我不小心在 swift 中删除了 Parse 项目的桥接头文件。这不仅仅是参考删除。我已经创建了一个新的桥接头,但是当我运行应用程序时,错误消息显示“<在此处插入位置> 的桥接头不存在”。

0 投票
1 回答
92 浏览

ios - Swift - 桥接头失败。“*”没有名为“*”的成员

我开发了一个使用 CommonCrypto 库的应用程序。问题是我可以在 Swift 文件中创建一个实例。我的对象是使用 Objective-C 创建的。似乎不能很好地创建桥接头。

错误信息

自定义对象.h

自定义对象.m

全球.swift

0 投票
1 回答
1244 浏览

objective-c - 未解析的标识符 - Swift 中的 Objective-C Pod

我已按照所有说明将 Objective-C pod 安装到我的 Swift 项目中。我制作了一个在构建时发现的桥接头,但我无法访问任何类。桥接头路径是相对于 srcroot 的,所以我不担心文件被找到。

我在桥接头中导入了我的 pod,如下所示:

我已经看过这里:如何从 Swift 调用 Objective C 代码,但我仍然收到以下错误:

我在 pod 中没有错误,但我的项目根本无法找到 pod 的文件:

我是否必须添加任何用户标题搜索路径?

有什么帮助吗?

0 投票
1 回答
687 浏览

ios - 升级到 XCode 7 后在桥接头中找不到头文件

我有一些项目是使用 XCode 6 和 iOS 部署目标编写的,并且在 iOS 8 上运行良好。

最近我将 XCode 升级到 7.0.1 (7A1001),现在我必须对提到的项目进行一些更改。我无法构建它。

我正在使用 CocoaPods 并且我已经UIColor+BFPaperColors导入了 : pod 'UIColor+BFPaperColors', '~> 1.3.1'

XCode 告诉我他找不到UIColor+BFPaperColors.h文件。这很奇怪,因为我的项目(Workspace 中的 Pods 项目)中有这个文件,并且它在 XCode 6 中运行良好。

XCode 7 中的错误

我已经尝试过的事情(但没有结果):

  1. 将项目转换为最新的 Swift 语法(编辑 -> 转换 -> 到最新的 Swift 语法...)。
  2. 设置Allow non-modular includes in Framework Modules为是。
  3. 做了pod updatepod install

PS。这是我的Podfile

0 投票
0 回答
163 浏览

c++ - 使用 Objective-C Wrapper 在 swift 中使用 C++

我想建立一个利用QR Encoder的小项目。我只是使用 Cocoapods 将它安装在我的项目中,并将 QREncoder.h 文件包含在我的桥接头中,它适用于其他一些 Objective-C 资源。出现我的问题是因为我包含了包含 QR_Encode.h 文件的 QREncoder.h 文件。该文件使用了一个非常标准的 C++ 类定义class CQR_Encode{...};,但是当我现在尝试编译我的代码时,我收到以下错误/PATH_GOES_HERE/Pods/QR-Code-Encoder-for-Objective-C/QRCodeEncoderObjectiveCAtGithub/QR_Encode.h:81:1: Unknown type name 'class'; did you mean 'Class'?. 在互联网上寻找那个错误让我得到了信息,我需要一个用于该文件的 Objective-C 包装类,但我认为 QREncoder{.h,.mm} 应该可以完成这项工作。我还将属性检查器中的文件类型更改为“objective-c++ source”或“c++ header”,但这并没有改变错误。我还尝试在构建设置中将“编译源设置为”设置,但这当然不起作用,因为它为所有文件设置了编译类型,并且由于有 Objective-C 类,所以它不起作用。有人有答案可以帮助我吗?

0 投票
2 回答
1691 浏览

ios - 桥接头有效,但进口不起作用?

我使用 CocoaPods 安装了一个库,这一切似乎都有效。我在我的项目中添加了一个桥接头,我知道它是有效的,因为我在这个头中使用了几个不同的库。但是我刚刚安装并桥接了 libPhoneNumber-iOS,它似乎可以工作,除了......它没有。我找到了文件,它在标题中正确导入了它们,但我不能快速使用它。它应该是NBPhoneNumberUtil,但它不存在。

我在我的标题中像这样导入它们:

如果我输入任何不同的内容,它会给我一个错误,说它不能指定文件,所以应该正确导入。此外,如果我输入NBPhoneNumberUtil此头文件,我可以看到该对象,因此它可以工作。但在我的 swift-project 中,模块不存在。同样,我知道我的桥接文件可以工作,因为我在这个文件中使用了其他库,而且很快。有什么想法可能是错的吗?

更新#1:

所以我尝试将导入添加到我的 swift 文件中,并且它“有效”。

除了 Xcode 抱怨这不是一个可行的语法,它想在某处添加一个分号。但现在我可以创建我需要的对象,但我无法编译,因为 Xcode 想要我先修复错误。这太奇怪了。有任何想法吗?