问题标签 [objc-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 投票
0 回答
1014 浏览

ios - ObjC 项目中的 Swift 类:类消息的接收器“MySwiftClass”是前向声明

在花了几个小时将 swift 文件成功集成到我基于 Objective-C 的 iOS 项目之后,我现在面临下一个挑战:

  1. 在我的一个 Objective-C 类头文件(比如 MyObjCClass.h)中,我为 MySwiftClass 进行了前向声明。
  2. 在相应的 .m 文件中,我定义了 MySwiftClass _swiftClassInstance的一个实例。
  3. 在 MyObjCClass 的 init 方法中,我尝试将其实例化如下:

_swiftClassInstance = [[MySwiftClass alloc] init];

编译代码时,出现 2 个错误:

  • 类消息的接收者“MySwiftClass”是前向声明
  • 例如消息的接收器类型“MySwiftClass”是前向声明

我已经完成了以下工作:

  1. 在 MyObjCClass.m 文件中导入 MyProject-Swift.h。
  2. 用@objc标记 swift 类并打开

那么,问题的原因可能是什么?

0 投票
1 回答
2271 浏览

ios - 如何在 swift 框架中使用 Objective C 桥接头?

我已经在 swift 中创建了自己的 cocoa POD 框架,它#import CommonCrypto/CommonCrypto.h在 Objective C 桥接头文件中使用,但是当我尝试在项目中使用相同的 POD 时,它给出了编译错误 -

在框架模块''中包含非模块化头文件:'/Users/macmini/Downloads/Xcode_9.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk/usr/include/ CommonCrypto/CommonCrypto.h'"

请让我知道如何解决这个问题。

我正在使用它来快速创建自己的 POD 框架。

0 投票
1 回答
2521 浏览

ios - 当我想在目标 c 项目中使用 swift 文件时使用未声明的标识符

当我想在目标 c 项目中使用 swift 文件并从 swift 类中声明一个对象时,我收到“使用未声明的标识符”错误。我通过的方式:

  1. 在项目中处理 swift 文件并在声明 swift 类之前键入@objc

  2. 手动在项目中创建头文件

  3. 将目标中的“定义模块”设置为

  4. 目标的 Objective-C 桥接头设置为$(SRCROOT)/$(PRODUCT_MODULE_NAME)-Bridging-Header.h

  5. 在objective-c文件中声明#import“productModuleName-Bridging-Header.h”

  6. 使用name_of_swift_class *s = [[name_of_swift_class alloc] init];

当我想在第 6 步中使用 swift 文件时,我收到“使用未声明的标识符”错误。为什么?!!!我有错吗?

当我在新项目中测试此步骤时,我没有收到错误,但在我希望它返回错误的项目中。

谢谢您的帮助

0 投票
1 回答
456 浏览

ios - Xcode:桥接头不识别导入

我有一个包含目标 C 代码的项目,我想使用 Swift 实现新功能,所以我创建了 Bridging header 并将其添加到构建路径中,现在的问题是当我将 #import "xx" 添加到 Bridging header #import 时不是识别并且当我通过复制和粘贴手动添加它时,例如#import“MBProgressHUD.h”,然后我尝试查看我得到的源代码“?” 尽管当我在任何其他 .h 或 .m 文件中导入相同的库时,它都可以工作。注意:我知道“MBProgressHUD”适用于swift,仅供参考。

提前感谢任何支持和感谢

0 投票
0 回答
211 浏览

objective-c - 将 Swift 文件添加到 Objective-C 项目时是否会自动生成桥接头文件?

我在现有的 Objective-C 项目中添加了一个 swift 类,并试图#import <ProductName/ProductModuleName-Swift.h>在一些现有的 obj-c 类中导入表单的桥接头文件。但是我得到了找不到头文件的错误。我已经输入了正确的产品名称和产品模块名称,但我仍然不知道我到底做错了什么。另外,我收到了这个错误:找不到 Umbrella header 'ProductName-umbrella.h'。

0 投票
1 回答
292 浏览

ios - 找不到目标 C 桥接头文件

我有一个AppState使用 swift 类对象的类名

现在我需要AppState在 swift 文件中使用这个类 ( )。所以我试图在桥接头中导入这个类。

但在导入此文件后,应用程序在“#import "Sonic-Swift.h"" 行“找不到文件”上出现错误。

0 投票
1 回答
301 浏览

ios - 从 Obj-c 转到 swift 找不到属性

我正在尝试将int来自objective-c 的文件传递给swift。

我所采取的步骤确实是 segue,但遗憾的是,由于以下错误,它没有通过 int:Property 'productKey' not found on object of type 'ProductViewController *'

准备转场

执行转场

斯威夫特文件

头桥

0 投票
1 回答
237 浏览

objective-c - NS_ENUM 对象在桥接头文件中添加后无法编译

我有一个在 constant.h 文件中的枚举(Objective-C)

我有一个桥接文件,它连接到 swift 代码并导入一个文件名为 profile 的文件。

(ModuleName-Bridging-Header.h)

使用以下方法的配置文件文件,该方法未在代码中编译。

错误:应为 EEFieldType 上的类型。

0 投票
1 回答
753 浏览

ios - 由于循环条件,无法发出预编译的标头

假设我有 Swift 和 Objc 类,还有一个 MyProject-Bridging.h

BazSwiftClass.swift

FooClass.h

我想访问FooClass.h另一个 Swift 类(让我们说 BarSwiftClass)

我的 swift 文件中需要 FooClass.h,所以我在 MyProject-Bridging.h 中添加了 FooClass

所以 Flow 就像BarSwiftClass -> FooClass -> BazSwiftClass

它不能工作,因为编译器显示“未能发出预编译的头文件”,我认为这是因为#import "FooClass.h"在 MyProejct-Bridging.h

请帮忙。

谢谢你。

0 投票
1 回答
260 浏览

objective-c - YTPlayerView 未找到问题

目前我对YTPLayerView有一个奇怪的问题。我已经有一个包含 Objective-C 和 Swift 代码的项目。所以,我需要在 Objective-c 中使用 Youtube Player。问题是,当我在 Bridging-Header 中声明我的 Objective-c 视图控制器时,我的 Objective-C 头文件出现错误“'YTPlayerView.h' file not found”,但是当我的 Bridging 头为空时不会发生此错误。也许我忘记了要包括 idk 的东西。有人能帮我吗?这是我的桥接头代码:

这是我的 CameraViewController.h 文件:

我已经为 youtube 播放器安装了 podfile:

先感谢您!