我将一个Obj-C文件导入到我的swift项目中,Xcode自动提示我按预期创建一个桥接头文件。但是,我删除了两个文件(移动到垃圾箱)进行了一些更改,但是当我再次尝试导入Obj-C文件时,提示不再出现。是什么原因?我甚至在另一个项目中测试了这个相同的场景,似乎一旦我删除了Xcode的自动创建的桥接头,它不会再次带来提示。这是为什么?
答案 0 :(得分:81)
问题的原因是,Xcode构建设置仍保留自动生成的桥接头文件的路径。由于项目目录中仍存在头文件(ProjectName-Bridging-Header.h)
,因此无法获得任何构建错误。
如何解决:
点击您的项目目标,转到构建设置标签(choose all instead of basic),搜索桥接标题。您可以看到Xcode生成的路径条目。选择它并单击删除按钮。
此外,请确保从Xcode项目目录中删除Xcode自动生成的桥接头文件(ProjectName-Bridging-Header.h)
。
现在,再次尝试导入Obj-C文件。您可以看到按预期创建桥接头文件的提示。
答案 1 :(得分:20)
档案 - >新文件 - >头文件
将其另存为YourApp-Bridging-Header
转到Build Settings,找到" Objective-C Bridging Header" (正如之前的人告诉的那样)并将其传递给您的桥接标题:YourApp / YourApp-Bridging-Header.h Where' YourApp /'是应用程序的名称。它可能包含空格,例如“你的应用程序”,
。在xCode 7.3.1的情况下,它可以正常工作
答案 2 :(得分:7)
如上所述/建议,在xcode中创建桥接头的方法有所不同。在这里,我将为您提供创建Bridge的最佳和最简单的方法。
答案 3 :(得分:4)
查看项目设置 - >构建设置,向下滚动到name@google.co.uk
部分,查看它是否有名为User-Defined
的密钥以及是否有值。如果它在那里它可能认为你已经有一个,在这种情况下只需重新创建具有相同名称的文件。
答案 4 :(得分:3)
仅在项目中将桥文件提示一次。
如果意外删除文件,则必须构建新的桥文件。它是一样的。
转到File->New File->Header File
,名称应为YourProjectName-Bridging-Header
,否则无法识别。
答案 5 :(得分:1)
处理此问题大约一个小时后。 我发现真正的问题是文件夹!
从不创建/复制文件夹。
解决问题-
首先创建一个您喜欢的任何名称的组。 然后将Objective-C文件复制到该组(而不是文件夹)中。
那么肯定会提示您桥接头文件的创建。
答案 6 :(得分:0)
如果要手动配置,只需转到“构建设置”,然后将选择从“基本(默认)”或“自定义”更改为“全部”。
由于隐藏了空白字段,因此对于一般最终用户来说更容易处理,因此,如果您错过添加桥接标题的提示,则可能很难手动找到它。此外,搜索选项将不包括隐藏字段。
更改为全部,然后出现“ Swift编译器-常规”部分,其子设置为“ Objective-C桥接标题”
答案 7 :(得分:-3)