我有一个使用CocoaPods的iOS项目.一切都在顺利进行,直到另一位开发人员开始在同一个项目上工作.他做了一些更改(据我所知只对代码)并在回购中创建了一个新的分支.我检查了他的分支并尝试构建它,但是我收到一个错误:找不到ASLogger/ASLogger.h文件.
即使我删除了整个项目并制作了新的副本并使用"pods install".构建失败仍然存在.你知道问题出在哪里吗?如果您需要更多信息,请询问.
我正在使用XCode 6 Beta-6在Swift中编写应用程序.我正在使用Cocoapods,我正在创建一些单元测试.
问题是这个问题:显然不可能有一个项目包含:
1)用Swift编写的项目
2)使用cocoapods安装的一些吊舱
3)导入一些pod的Objective-C桥头文件
4)单元测试
这听起来很奇怪,但按照我的步骤:运行后pod install,创建Objective-C桥接头并导入一个pod:一切正常.现在编写一些测试:为了测试你自己的类,你必须导入名为"作为你的项目"的模块(或者更好,"作为主要目标"):在我的"MyAwesomeApp"项目中,我必须import MyAwesomeApp在我的测试中编写文件.
不幸的是,在这一步XCode将无法编译:在我的import MyAwesomeApp行中出现错误"无法导入桥接头'/path/to/MyAwesomeApp/MyAwesomeApp/MyAwesomeApp-Bridging-Header.h";
并且错误"找不到xxx.h文件"出现在Bridging-Header文件中,不包括导入pod的可能性.
此外,如果我不在Obj-c桥文件中导入pod,项目将编译正常.
看起来存在冲突导入Objective-C桥接头(使用从工作空间中的不同子项目获取的Objective-C文件)和用于测试的"主模块".
你知道是否有解决方案吗?我错过了什么?谢谢
注意:作为一种解决方法,我可以在Objective-C Bridge Header中导入pod,而不是在我的测试中包含主模块,在我的"test"目标中添加我想要测试的所有类.这将有效,但它不是最干净的解决方案(我认为)
我已经阅读了许多处理类似问题的问题和答案,但我还没有找到解决方案.如果有人可以发光,那将是美好的.
我创建了一个Swift项目,现在我想将它与一些Objective-C结合起来.当我尝试#import我的Chartboost.h文件时,我的"无法导入桥接头".所以,只要我的桥接头文件中没有任何内容,Xcode就会找到它,并且没有任何问题.但是一旦我加上这个:
#import <Chartboost/Chartboost.h>
Run Code Online (Sandbox Code Playgroud)
我得到错误以及其他38个错误,说"Swift编译错误 - 这里不允许函数定义".
我已经正确导入了我的框架.我的框架搜索路径是正确的.而且只有在我导入Chartboost框架时才会这样.UIKit和基金会工作正常.
以下是我所做的导致问题....首先,我创建了一个新的Obj-C文件,然后点击"是的,当Xcode给我一个弹出窗口询问是否可以配置桥接头.这创建了"FunFacts -Bridging-Header.h"
然后我确保在Swift编译器 - 代码生成下Objective-C Bridging Header路径是正确的.
我甚至提出了一个非常具体的路径/Users/me/Desktop/FunFacts/FunFacts-Bridging-Header.h,它仍然说"导入失败".
我还将Defines Module设置为"Yes"(因为我听说这可能有帮助).我的产品模块名称是FunFacts.
当我尝试添加#import时,为什么FunFacts-Bridging-Header.h无法导入?
我的项目中有一个名为Meal.swift的类和一个单元测试
func testMealInitialization() {
// Success case.
let potentialItem = Meal(name: "Newest meal", photo: nil, rating: 5)
XCTAssertNotNil(potentialItem)
// Failure cases.
let noName = Meal(name: "", photo: nil, rating: 0)
XCTAssertNil(noName, "Empty name is invalid")
}
Run Code Online (Sandbox Code Playgroud)
但问题是:使用未解析的标识符"Meal"
我正在尝试在我的iOS应用程序中测试这些类.我试图通过添加到我的测试文件的顶部将Pickle我的应用程序中的目标导入到我的测试目标中,但是我一直收到错误.我一直收到的错误是:"无法导入桥接头(桥接头的路径)"(桥接头的路径显示在错误中,而不是括号中).我已经尝试在我的构建设置中将"定义模块"设置为"是",但它仍然不起作用.我还在构建设置中验证了它具有桥接头文件的正确路径.关于如何设置我的测试的任何想法?我在Xcode 6.3.2上.如果您需要任何其他信息,请与我们联系.PickleTestsimport PicklePickleTests.swiftPickle

在新选项卡中打开图像以查看更大的图像.
我的Xcode项目构建并正常工作.它有Swift和Objective-C代码.
它已安装GPUImage.
我为它添加了一个单元测试,现在它将不再编译:
找不到'GPUImage.h'文件
无法导入桥接头
以下是我找到并尝试过的解决方法:
设置产品模块名称以匹配我的项目: 没有工作 http://codesheriff.blogspot.co.il/2015/05/importing-swift-code-from-objective-c.html
确保我的构建阶段匹配:没有工作
扩展标题搜索路径:没有工作 /sf/answers/2093201211/
这个问题似乎有同样的问题: 将单元测试目标添加到xcode - 未能导入桥接头不会消失
如果你知道为什么XCode找不到我的BridgingHeader.h或GPUImage.h那么请分享.我正在尝试使用Travis CI进行单元测试,但无法通过编译步骤.
swift ×5
xcode ×5
ios ×3
objective-c ×3
cocoapods ×2
unit-testing ×2
build ×1
chartboost ×1
cocoa ×1
import ×1
ios8 ×1
iphone ×1
travis-ci ×1
xcode7 ×1
xctest ×1