使用Cruise Control运行Xcode iPhone单元测试

时间:2010-02-03 17:35:28

标签: iphone unit-testing xcode cruisecontrol

使用Cruise Control构建具有单元测试的iPhone XCode项目时,会生成“代码签名错误:无法找到与应用程序的标识符'com.yourcompany.Calculator'匹配的有效配置文件”的错误。通过XCode运行时不会遇到这种情况? Cruise Control是否试图启动应用程序而不仅仅是构建应用程序?有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我不确定xcodebuild是否正确运行代码签名工具,但我觉得您需要更改构建过程才能使用该工具(codesign)。

我不确定它是预构建还是构建后任务。

codesign手册页:http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/codesign.1.html

根据这个this SO post,您可以通过告诉xcodebuild假设目标是iPhone模拟器而不是实际的iPhone(使用-target命令行来解决这个问题。选项)

答案 1 :(得分:0)

问题是由于单元测试包添加到项目中引起的。为了确保构建测试并与主项目一起运行,我将Unit Tests目标拖到了主项目Target中。 默认情况下,它已经为iPhone Device 3.1.2 SDK而不是模拟器分配了单元测试包。 此外,Unit Test Bundle有一个自动生成的.plist文件,其中包含com.yourcompany的默认Bundle Identifier等。 因此,尽管指定了一个目标,我知道它具有iPhone模拟器3.1.2的默认SDK,但包含单元测试包导致错误不断出现。 选择单元测试包的“获取信息”,选择“构建”选项卡并将“基本SDK”设置为“iPhone模拟器3.1.2”,一切顺利。