<TargetName-Swift.h> 文件未找到 [重复]

Posted

技术标签:

【中文标题】<TargetName-Swift.h> 文件未找到 [重复]【英文标题】:<TargetName-Swift.h> file not found [duplicate] 【发布时间】:2015-04-11 21:00:40 【问题描述】:

我刚刚将我的 Xcode 更新到 6.3 并且我的项目运行良好,直到 xcode 6.2 开始出现错误。

错误是&lt;TargetName-Swift.h&gt; file not found,桥接头的当前路径在项目的子文件夹内,即.xcodeproj文件内的一层。

已经试过了

    删除桥接头文件并重新创建。

    在 Swift Compiler-Code generation 下更改路径

    还尝试更改标题搜索路径,但我认为这已经是正确的。

    检查了循环引用,但我认为这不是问题,因为它在更新 xcode 之前工作正常。

我还在某处读到它是在这条路径上的"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources" 生成的,但对我不起作用。

****编辑*** 检查生成的日志文件有错误,如“打开模块'Swift'的导入文件:权限被拒绝”。任何的想法 ??当然,我是我正在使用的 mac 的超级管理员。

尝试再次将 Xcode 降级到 6.2,一切正常。

任何帮助都会很棒..!! 谢谢。

【问题讨论】:

你使用的是 swift 1.2 吗?如果没有,则更新 swift 并检查 显然 xcode6.3 是 swift1.2 的默认设置,所以我想这不应该是使用 xcode6.3 的问题。 您打开的是.xcproject 还是.xcworkspace 有时循环导入也会导致问题。例如swift import objc class in bridge头文件,objc class头文件import swift.h 【参考方案1】:

这是由于构建错误。 &lt;TargetName-Swift.h&gt; 在没有构建错误时生成。

Xcode 6.3 包含 swift 1.2,与早期的 swift 版本(随 xcode 6.2 一起分发)相比,它有一些重大变化。

【讨论】:

您好,感谢您的回复,但正如我提到的,如果我仍然在 6.2 中运行相同的代码,它可以正常工作,那么您认为仍然会出现编译错误吗? xcode 6.2 中的 swift 版本与 xcode 6.3 中的 swift 版本不同。因此,在 xcode 6.2 中编译的相同 swift 代码不会在 xcode 6.3 中编译 哦,好的,我试试看。【参考方案2】:
    确保在构建设置中将Objective-C Bridging Header设置为“TARGET_NAME/Your-Bridging-Header.h”;”

    打开终端并运行下一条命令:

    cd 项目文件夹

    sudo chown -R whoami *

【讨论】:

桥接头将 Obj-C 暴露给 Swift。这是一个 Swift 到 Obj-C 的问题。

以上是关于<TargetName-Swift.h> 文件未找到 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

标签 <q>、<abbr>、<defn>、<ins>、<del> 和 <s> 的正确用法是啥? [关闭]

<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?

将 Single<List<Maybe<Book>>> 转换为 Single<List<Book>>

根据键将 List<List<List<T>>> 转换为 List<List<T>>

LL文法

前端初步预习