如何删除桥头而不出现错误?

Posted

技术标签:

【中文标题】如何删除桥头而不出现错误?【英文标题】:How do I remove a bridge header without getting errors? 【发布时间】:2015-08-28 15:31:29 【问题描述】:

前几天我在我的应用程序中添加了一个桥头,因为我试图将 Objective-C 文件添加到我的 Swift 项目中。我无法让连接正常工作(而且我也不知道如何实现 Objective-C 文件),所以我决定重新开始。我删除了 Objective-C 文件和 Bridge-Header 文件,现在我收到一条错误消息:<unknown>:0: error: bridging header '/Users/CalebKleveter/Documents/Development/ios/personal/swift/Projects/Dicey/Dicey/Dicey-Bridging-Header.h' does not exist

【问题讨论】:

【参考方案1】:

转到您项目的Build Settings,找到Objective-C Bridging Header行并删除其内容。

【讨论】:

这行得通,如果有人在删除它后发现很多新的 NSObject 错误,请检查以确保在继承自 NSObject 的类中有“导入基础”。桥接头预先否定了对这些导入语句的需要。 我不得不从目标构建设置而不是项目中删除它,但感谢您的回答,我找到了这个。 :-) 没有解决我所有的问题。当我运行我的应用程序并使用 UICollectionView 时,我得到“无法同时满足约束......” @Zvi 这是某种自动布局问题,与桥接头无关。这可能会对您有所帮助:***.com/questions/25630315/… 我认为你是对的。只是我在删除桥接头后得到了它(或者我后来才注意到它)。反正我修好了。【参考方案2】:

Go to targets file->Build Settings->Swift Compiler - General,删除与Objective-C Bridging Header同一行的内容

【讨论】:

【参考方案3】:

由于删除桥接头或什至只留下没有任何内容的标题通常会导致构建错误,我发现的快速解决方法是只留下以下两个导入的标题:

#ifndef BridgeHeader_h
#define BridgeHeader_h

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#endif

【讨论】:

【参考方案4】:

删除MyProjectName.xcodeproj/project.pbxproj 中包含SWIFT_OBJC_BRIDGING_HEADER 的行对我有用。

我无法在我的 Xcode 项目中找到构建设置作为提到的其他答案(可能是因为我的项目适用于 MacOS,而不是 iOS?)。

【讨论】:

以上是关于如何删除桥头而不出现错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 "java.lang.ArrayIndexOutOfBoundsException "错误而不使用try和catch?[重复]

如何使用 java 代码重命名和移动文件而不删除内容

如何删除错误报告

数据迁移服务 (DMS):出现错误后如何继续(无法执行删除语句)?

如何从 git 存储库中删除文件而不实际删除文件 [重复]

如何在 AWS elasticbeanstalk 上删除环境而不删除 RDS