问题描述:
在iOS 8.0 SDK中,产品类型为'Unit Test Bundle'的代码签名是必需的。我的应用目标已经进行了代码签名,但我的测试目标却没有。我购买了一台新电脑,从电脑上创建了一个新的开发证书,相应地更新了配置文件,安装了两者,但无法解决此代码签名错误。
请问有什么方法可以清除本地的所有证书/配置文件,以便我可以重新安装?这可能是某种错误。
问题描述:
在iOS 8.0 SDK中,产品类型为'Unit Test Bundle'的代码签名是必需的。我的应用目标已经进行了代码签名,但我的测试目标却没有。我购买了一台新电脑,从电脑上创建了一个新的开发证书,相应地更新了配置文件,安装了两者,但无法解决此代码签名错误。
请问有什么方法可以清除本地的所有证书/配置文件,以便我可以重新安装?这可能是某种错误。
我通过进入“编辑方案”,然后在构建部分中,将我的单元测试目标从“运行”中移除来解决了这个问题(暂时地)。
这里其他的建议对我没有帮助,但是我通过进入 Product > Scheme > Edit Scheme
来解决了这个错误。然后在左侧单击 Build
并取消选中任何与 AppNameTests
相关的复选框。我正在使用 XCode 6.3。
我通过在测试目标的构建设置中手动选择一个配置文件解决了这个问题。
测试目标设置 -> 构建设置 -> 代码签名 -> 代码签名标识。之前,它被设置为“不进行代码签名”。
如果以上解决方案都无效,请按照以下步骤操作:
从目标中选择appnameTests 在“信息”下面
进行如下更改:
Bundle Identifier: com.ProjectName.$(PRODUCT_NAME:rfc1034identifier)
修改为:com.ProjectName.appname
Bundle name: $(PRODUCT_NAME)
修改为:appname
编译并执行
在我的工作CI上,当我从命令行运行xcodebuild进行集成测试时,遇到了这个错误。通过将项目级别的设置为codesign,我成功地解决了这个问题。由于某种原因,目标设置被忽略并恢复为项目的设置。
我通过将同一部分(“代码签名”)中的“Provisioning Profile”从“自动”更改为“MyProvisioningProfile名称”来解决问题。