天道酬勤,学无止境

Bridging-header.h 导致 Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1(Bridging-header.h causes Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/s

问题

如果我将此行添加到我的PROJECT-Bridging-Header.h文件中

#import "Typhoon.h"

Xcode 6.1 抛出此错误/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

CocoaPods 添加的 Typhoon 框架与教程中完全一样

我尝试了几种想法,但没有任何帮助

  • 删除 XCODE 派生数据
  • 创建新项目
  • 删除并创建新的 bridging-header.h 文件
回答1

遇到了类似的问题,需要清理构建阶段下列出的项目编译源。 参考图片

由于多人通过公共源存储库对项目进行了多次结构更改,因此这个问题变得很棘手。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Bridging-header.h causes Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
    If i add this line to my PROJECT-Bridging-Header.h file #import "Typhoon.h" Xcode 6.1 throws this error /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 Typhoon framework is added by CocoaPods exactly like in the tutorial I tried several thinks, but nothing helped Delete XCODE deriver data create new Project delete and create new bridging-header.h file
  • 如何在 Swift 中编写 Cordova 插件?(How to write Cordova plugin in Swift?)
    问题 我将现有的自定义插件转换为 Swift 语言: (位于Plugins/CustomPluginInSwift.swift ) import Foundation class CustomPluginInSwift : CDVPlugin { func getSettings(command: CDVInvokedUrlCommand) { println("CustomPluginInSwift :: getSettings is called") var pluginResult = CDVPluginResult(status: CDVCommandStatus_OK) commandDelegate.sendPluginResult(pluginResult, callbackId:command.callbackId) } } 我有两个问题: 未找到CDVPlugin Javascript 没有看到插件: CustomPluginInSwift : CDVPlugin 类 CustomPluginInSwift (pluginName: CustomPluginInSwift) 不存在 我保留config.xml相同但它没有按预期工作。 我的问题在哪里? 回答1 如前所述,您必须添加一个 bridging-header.h 文件,其中包含 #import
  • Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类(Swift “Bridging-Header.h” file not allowing me to instantiate objective-c classes in .swift files)
    问题 当X代码尝试自动创建桥接头时,它每次都会崩溃,因此我按照有关如何手动创建桥接头的说明进行操作。 (创建一个.h文件,将其命名为<#PROJECT_NAME> -Bridging-Header.h,导入所需的所有.h文件吗?) 问题是,当我尝试实例化该标头中包含的.swift文件中的类时,什么也没发生(它表示该类不存在)。此外,在桥接标头中,当我执行时,它似乎并没有自动完成文件名尝试将它们包括在内,使我相信某些东西无法正确链接。 有人碰到这个吗? 有谁知道如何修理它? 回答1 您需要将其添加到目标的构建设置中: 在Xcode中,如果进入目标的构建设置,然后一直向下滚动,则会发现“ Swift Compiler-Code Generation”部分。 将“ Objective-C桥接标头”设置为<#PROJECT_NAME>-Bridging-Header.h 我不确定“ Install Objective-C Compatibility Header”的正确值,但是它是“是/否”,因此,如果一开始不起作用,您可以对其进行切换。 回答2 我试图自己创建一个桥接头,但是由于某些原因,Xcode不喜欢它。 所以我删除了我的自定义文件,导入了一个Obj C文件,这使Xcode询问是否要为我创建一个文件。 我单击是,它奏效了! 回答3 1)创建一个名为“ FMDB-Bridging
  • 如何找到 Bridging-Header.h 的路径 - Swift、Xcode(How to find path of Bridging-Header.h - Swift, Xcode)
    问题 在这里我附上创建的头文件的屏幕截图 我在 xcode 中创建了一个新的头文件,并将其命名为 (projectname)-Bridging-Header.h。 但我无法找到路径并使其工作。 如何找到文件的路径? 回答1 首先进入项目构建设置, 然后在搜索框中搜索Swift 之后你会在Swift Compiler Code Generation Area找到一个Objective C Bridging Header选项为这个Objective C Bridging Header Option添加桥接头路径路径应该给定为 您也可以在屏幕截图下方找到以供参考。
  • 将CocoaPods更新为0.36.x及更高版本后,如何在Bridging-Header.h中引用头文件?(How to reference header files in Bridging-Header.h after updating CocoaPods to 0.36.x and above?)
    问题 更新到CocoaPods 0.36.x之后,我无法将导入添加到我的Bridging-Header.h文件中。 我得到“找不到DBSphereView.h文件”。 该文件确实存在于: "Pods/DBSphereTagCloud/DBSphereView.h" "Headers/public/DBSphereTagCloud/DBSphereView.h" "Headers/private/DBSphereTagCloud/DBSphereView.h" 我的桥文件: #ifndef Loan_Bridging_Header_h #define Loan_Bridging_Header_h #import "DBSphereView.h" #endif 我能够使用框架。 我有一个著名的框架(Alamofire)的参考,并且效果很好! 我的Podfile: source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'DBSphereTagCloud', '~> 1.0' pod 'Alamofire', '~> 1.1' 在更新之前,导入头文件没有问题。 将CocoaPods更新为0.36.x之后,如何在Bridging-Header.h中引用头文件? 谢谢! 编辑: 我还尝试根据cocoapods
  • How to reference header files in Bridging-Header.h after updating CocoaPods to 0.36.x and above?
    After updating to CocoaPods 0.36.x, I am unable to add imports into my Bridging-Header.h file. I get the "DBSphereView.h file not found". The file is indeed present in: "Pods/DBSphereTagCloud/DBSphereView.h" "Headers/public/DBSphereTagCloud/DBSphereView.h" "Headers/private/DBSphereTagCloud/DBSphereView.h" My bridge file: #ifndef Loan_Bridging_Header_h #define Loan_Bridging_Header_h #import "DBSphereView.h" #endif I am able to use Frameworks. I have a reference to a well known Framework (Alamofire), and it works great! My podfile: source 'https://github.com/CocoaPods/Specs.git' use_frameworks
  • Swift “Bridging-Header.h” file not allowing me to instantiate objective-c classes in .swift files
    When X-code tries to create a bridging header automatically, it crashes every single time, so I followed the instructions on how to manually create a bridging header. (Create a .h file, name it <#PROJECT_NAME>-Bridging-Header.h, import all the .h files you need?) Problem is, when I try to instantiate a class in the .swift file that's included in that header, nothing happens (it says that class doesn't exist) Also, in the Bridging Header it doesn't seem to autocomplete my filenames when I try to include them, leading me to believe somethings not linking properly. Has anyone run into this? Does
  • Swift无法导入Sqlite3 iOS(Swift Can't Import Sqlite3 iOS)
    问题 我将libsqlite3.0.dylib添加到我的项目中,然后尝试使用以下代码导入: import UIKit import sqlite3 class Dataware: NSObject { } 但这给了我这个错误: 没有这样的模块“ sqlite3” 回答1 将其添加到您的Bridging-Header.h文件中: #import <sqlite3.h> 这是导入任何C语言库的主要机制。 如果您还没有Bridging-Header.h文件: 添加文件Bridging-Header.h(或更常见的是(ProjectName)-Bridging-Header.h 转到项目的构建设置选项卡找到“ Objective-C桥接标头”。 最简单的方法是搜索桥接。 输入您在第一步中创建的文件的名称和路径。 可能是(ProjectName)/(ProjectName)-Bridging-Header.h 回答2 当想要将sqlite添加到框架目标时,需要module.map 由于未映射sqlite,因此只需执行以下操作: 1.在您的项目“ module / module.map”中创建文件 2.从伞头创建模块: module sqlite3 [system] { header "/Applications/Xcode6-Beta5.app/Contents/Developer
  • Resolving Swift.h and Bridging-Header.h circular references involving enums
    I have an Objective-C header that has to be used by a Swift class. However, this header has to use the Swift.h file for an enum declared in a Swift file. In other words, the setup is as follows: MPViewController.h #import "MyProject-Swift.h" @interface MPViewController: UIViewController @property (nonatomic, assign) MPSomeEnum theEnum; ... @end MyProject-Bridging-Header.h ... #import "MPViewController.h" ... SomeEnum.swift @objc enum MPSomeEnum: Int { ... } When compiling the code, I get three errors: 'MyProject-Swift.h' file not found Failed to emit precompiled header [Xcode DerivedData
  • How to find path of Bridging-Header.h - Swift, Xcode
    Here I'm attaching a screenshot of created header file I have created a new header file in xcode and named it as (projectname)-Bridging-Header.h. But I am not able to find the path and make it work. How to find the path of the file?
  • 导入ObjC框架时,Swift调试器不显示变量值(Swift debugger does not show variable values when importing ObjC framework)
    问题 当我使用Sprite Kit创建一个新的OS X“ Game”项目并在任何地方设置断点时,我都可以看到变量值: 然后,我更改代码以导入自己的框架(TilemapKit),该框架是一个纯Objective-C框架: import SpriteKit import TilemapKit class GameScene: SKScene { override func didMoveToView(view: SKView) { print("dang!") } } 没有其他更改。 我什至没有使用任何TilemapKit代码(尚未)。 当断点触发时,我看到以下内容: 就观察变量值而言,整个项目都无法调试。 此行为是完全一致的。 没有框架导入,我可以再次调试。 由于我正在使用Xcode 7 beta(7A121l)和OS X 10.11开发人员预览版,因此我知道这可能只是一个(临时)错误。 命令行磁贴设置为使用Xcode 7.0版本btw。 我尝试在框架目标中启用模块,确保部署目标相同(10.11),并禁用了符号剥离。 我添加了一个桥接标题,并#导入了TilemapKit框架(在这种情况下删除Swift导入仍会为我提供不可调试的应用程序,因此导入框架的方式或位置似乎都无关紧要)。 是否有人对导致此行为的原因以及如何解决该问题提出建议,或者至少我如何设法缩小问题的范围?
  • 使用未解析的标识符 GGLContext 和 GAI(Use of unresolved identifier GGLContext and GAI)
    问题 我有点麻烦。 我正在尝试将 Google Analytics 安装到应用程序中,并且一直在使用未解析的标识符GGLContext和GAI错误。 无论我是否使用 CocoaPods,我都会收到同样的错误。 错误的位置在AppDelegate.swift : func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. var configureError:NSError? GGLContext.sharedInstance().configureWithError(&configureError) assert(configureError == nil, "Error configuring Google services: \(configureError)") // Optional: configure GAI options. let gai = GAI.sharedInstance() gai.trackUncaughtExceptions = true //
  • 从Objective-C类调用Swift函数(Call Swift function from Objective-C class)
    问题 我有一个旧的Objective-C项目,我想调用新的Swift函数和对象,我创建了文件“ <ProjectName>-Bridging-Header.h ”和“ <ProjectName>-Swift.h ” 对我来说,从Swift调用函数到Objective-C很容易,但是我有一个反向问题。 因此,我创建了一个简单的类“ System.Swift” import Foundation @objc class System : NSObject { @objc func printSome() { println("Print line System"); } } 现在我尝试按照此处和<...>-Swift.h文件中的文档进行操作 @class System; @interface System : NSObject -(void)printSome; @end 并且已将其导入到我的Objective-C类中。 此时,在我的Objective-C代码的Objective C类(当前为UIViewController)内部,我尝试调用“ printSome”方法: - (void)viewDidLoad { [super viewDidLoad]; System * sis = [[System alloc] init]; [sis printSome]; //any
  • Swift与Objective-C互相调用(总结)
    公司正式使用swift语言开发项目已经一年多, 现在总结一下swift和OC互相调用的经验swift调用OCSwift调用OC类,必须要有桥接文件,且在桥接文件中 import OC类的.h文件。1. 创建 "工程名称"-Bridging-Header.h文件创建新的工程时会自动提示创建桥接文件SwiftTestProject(工程名称)-Bridging-Header.h, 这个文件是swift调用OC所必须的.创建桥接文件如果新建工程没有勾选创建-Bridging - Header.h文件, 则需要手动创建一个"工程名称"-Bridging-Header.h文件,创建一个Header File文件,一般命名为“项目名-Bridging-header”,内容清空然后在工程中设置:TARGET -> Build Settings -> Objective-C Bridging Header 填充好你的文件名称: "工程名称"-Bridging-Header.h找到工程文件下的TARGETS --> Build settings中搜索 Defines Module设置为YES2. 引入OC的.h头文件 就能在swift项目中调用相对于的OC类了.oc调用swift1. 工程配置找到工程文件下的TARGETS -->Build settings中搜索 Product Module
  • Swift 使用 c 结构(Swift use c struct)
    问题 抱歉标题,我找不到词来用几句话来描述我的问题。 我已经知道 swift 可以使用用 c 编写的结构。 例如 在 Bridging-Header.h 中 typedef struct { int x; int y; } Pointer; 然后我可以直接使用Pointer。 但就我而言,我有一个用 C 编写的库。有很多带有隐藏工具的结构。 例如: 在 Briding-Header.h 中 typedef struct Pointer Pointer; 我不能再使用指针了,得到了未知类型。 在我的库中指针用作 create_pointer(Pointer **pointer); 任何帮助表示赞赏! PS 我没有定义结构指针的 .h 文件。 关于指针的所有细节都隐藏起来,例如通过函数访问它们 int getx(Pointer *pointer); 这是我的完整测试代码: 用户输入.c #include <stdio.h> #include "user_input.h" struct Pointer { int x; int y; }; void get_user_input(int *user_input) { scanf("%i", user_input); } void init_pointer(Pointer *point) { point->x = 20; point->y
  • 如何从Swift调用Objective-C代码?(How do I call Objective-C code from Swift?)
    问题 在Swift中,如何调用Objective-C代码? 苹果公司提到它们可以在一个应用程序中共存,但这是否意味着在技术上可以重复使用由Objective-C创建的旧类,同时在Swift中构建新类呢? 回答1 在Swift中使用Objective-C类 如果您要使用现有的类,请执行步骤2 ,然后跳到步骤5 。 (在某些情况下,我必须在旧的Objective-C文件中添加一个明确的#import <Foundation/Foundation.h 。) 步骤1:添加Objective-C实施-.m 将.m文件添加到您的类中,并将其命名为CustomObject.m 。 步骤2:添加桥接标题 添加.m文件时,可能会出现类似以下提示的提示: 单击是! 如果您没有看到提示,或者不小心删除了桥接标题,请向您的项目中添加一个新的.h文件,并将其命名为<#YourProjectName#>-Bridging-Header.h 。 在某些情况下,尤其是在使用Objective-C框架时,您无需显式添加Objective-C类,并且Xcode找不到链接器。 在这种情况下,创建如上所述的.h文件,然后确保将其路径链接到目标的项目设置中,如下所示: 笔记: 最佳做法是使用$(SRCROOT)宏链接您的项目,这样,如果您移动项目或使用远程存储库与其他项目一起使用它,它仍然可以正常工作。 $(SRCROOT
  • 导入桥接头失败(Failed to import bridging header)
    问题 我已经阅读了很多有关类似问题的问答,但是我还没有找到解决方案。 如果有人能阐明一点,那就太好了。 我创建了一个Swift项目,现在我想将其与一些Objective-C结合起来。 仅在尝试#import我的Chartboost.h文件时,才出现我的“无法导入桥接标头”。 因此,只要桥接头文件中没有任何内容,Xcode就会找到它,并且没有任何问题。 但是一旦我添加了这个: #import <Chartboost/Chartboost.h> 我收到了该错误以及其他38个错误,说“快速编译器错误-此处不允许使用函数定义”。 我已经正确导入了我的框架。 而且我的框架搜索路径是正确的。 而且只有当我导入Chartboost框架时。 UIKit和Foundation可以正常工作。 这是导致问题的原因。...首先,我创建了一个新的Obj-C文件,然后单击“是,当Xcode给我一个弹出窗口询问是否可以配置桥接头时。这创建了“事实” -Bridging-Header.h“ 然后,我确定在Swift编译器-代码生成下,Objective-C桥接头路径正确。 我什至输入了一个非常特定的路径/Users/me/Desktop/FunFacts/FunFacts-Bridging-Header.h,它仍然显示“无法导入”。 我还将“定义模块”设置为“是”(因为我听说这可能会有所帮助)。
  • 在Xcode 6中未创建Swift-Objective-C标头(Swift to Objective-C header not created in Xcode 6)
    问题 我最近一直在努力将Swift添加到现有项目中,以便以实际的方式进行尝试。 在将Swift源文件添加到项目中后,我对获取“桥接头”(即Objective-C到Swift)没有任何问题。 但是*-Swift.h头文件应该可以公开标有@objc或ObjC类的子类的Swift类,却无处可寻:-( 在我的主要应用程序代码(仍然是Objective-C)中,我看不到任何有关如何完成用Swift编写的新子类的用法的特定说明。 我是首席开发人员的应用程序具有相当大的代码库(70.000行),因此一劳永逸地进行过渡是不可能的。 回答1 现在可以了。 项目必须具有不包含空格的产品模块名称。 必须在“包装”下的“构建设置”中将“定义模块”设置为“是”。 终于可以了。 感谢大家的帮助:-) 回答2 我遇到了类似的问题,发现您只能添加 #import "ProductModuleName-Swift.h" 到obj-c .m文件,而不是要找到伞头的.h文件 回答3 我发现我必须修复所有构建错误,然后才能生成文件。 对我来说,问题在于这是一个鸡/蛋问题,因为在我实际注释掉#import语句之前,我没有看到任何构建错误: //#import "ProductModuleName-Swift.h" 在我的Swift代码中发现了许多其他错误。 一旦修复了这些新错误并成功构建了源代码,我便取消了
  • Xcode MyProjectName-Bridging-Header.h不存在(Xcode MyProjectName-Bridging-Header.h does not exist)
    问题 我想在我的Objective-C项目中开始使用Swift。 所以我添加了一个快速的类: import Foundation @objc class System : NSObject { @objc func printSome() { println("Print line System"); } } 并将其导入到.m文件中: #import "MyProjectName-Swift.h" 在构建我的项目时,出现以下错误: Bridging header 'PathToMyProject/MyProjectName-Bridging-Header.h' does not exist 注意:在“构建设置-> Swift编译器-代码生成-> Objective-C桥接标题”下设置为MyProjectName-Bridging-Header.h 我应该怎么做才能解决这个问题? 任何帮助深表感谢。 编辑:桥接头文件:#if defined(__ has_include)&& __has_include()#include #endif #include <objc/NSObject.h> #include <stdint.h> #include <stddef.h> #include <stdbool.h> #if defined(__has_include) && __has
  • 没有这样的模块'FBSDKCoreKit'XCODE 7.4(No such module 'FBSDKCoreKit' XCODE 7.4)
    问题 我正在尝试使用FBSDKCoreKit和FBSDKLogin添加Facebook登录功能。 当我尝试将这两个框架导入到我的AppDelegate文件时,它显示错误,这是 “没有这样的模块'FBSDKCoreKit'”。 我将“ Allow Non-modular Includes In Framework Modules从“ NO更改为YES ,但是错误仍然存​​在。 我需要有关解决错误的解决方案的帮助。 回答1 我通过将FacebookSDK目录路径添加到“框架搜索路径”来解决此问题 转到“构建设置”,然后搜索“框架搜索” 回答2 我通过以下步骤解决了No such module 'FrameworkName'问题: 1)创建一个组,将其称为“ Framework (可选,最佳实践) 2)将所需的SDK从原始SDK路径FBSDKCoreKit Framework ,在您的情况下为FBSDKCoreKit和FBSDKLoginKit 3)当对话框弹出“选择添加这些文件的选项:”时,选择以下内容: Facebook SDK版本4.0的附加步骤: 4)在项目编辑器中选择目标,然后单击“构建设置”,将“框架搜索路径”更改为:〜/ Documents / FacebookSDKDirectoryName 回答3 我想提出一种最简单的方法。 将鼠标放在项目上(在xcode中)