<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 开始出现错误。
错误是<TargetName-Swift.h> 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】:
这是由于构建错误。 <TargetName-Swift.h>
在没有构建错误时生成。
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>>