ChatGPT解决这个技术问题 Extra ChatGPT

SDK iOS 8.0 中的产品类型单元测试包需要代码签名

得到

SDK“iOS 8.0”中的产品类型“单元测试包”需要代码签名

我的应用程序目标是代码签名,但我的测试目标不是。我买了一台新电脑,从电脑上创建了一个新的开发证书,相应地更新了配置文件,安装了两者,但无法克服这个代码签名错误。

有什么方法可以在本地擦除所有证书/配置文件以便我重新安装?

可能是某种错误。

我遇到了类似的错误——我的解决方法是进入构建设置,然后选择配置文件,而不是自动选择它们。

S
Spentak

问题是该项目处于源代码控制之下,每次我拉动 .xcodeproj 时都会更新。而且由于我的配置文件与源代码管理中的配置文件不同,单元测试目标会自动切换到“不进行代码签名”。所以我只需要在每次 git pull 之后在那里设置配置文件。

显然,如果部署到设备上,如果有单元测试目标,则必须对其进行代码签名。

脚步:

1)将目标更改为您的测试目标(AppnameTests)

https://i.stack.imgur.com/khXSU.png

2)确保“代码签名身份”不是“不要代码签名”。选择要签名的个人资料

https://i.stack.imgur.com/R4Ex9.png

这就是我必须改变的一切才能让它工作。


我面临与上述问题中提到的相同的问题,但无法弄清楚如何解决它,我已经发布了一个关于相同的问题。 stackoverflow.com/questions/27312745/…
你能告诉我一个逐步的过程如何做到这一点。
在 Xcode 8 中遇到问题。分辨率与您的不同,但接近。谢谢你给我指路!
此外,除了设置“代码签名身份”之外,您可能还必须设置“开发团队”。
Z
Z S

我通过转到编辑方案(暂时)解决了这个问题,然后在构建部分中,从“运行”中调用我的单元测试目标。


接得好!为什么说暂时?对我来说,这似乎是一个合理的解决方案。您是否将应用程序提交到商店?
将应用程序提交到 App Store 没有问题。我说“暂时”是因为我认为通过摆弄代码签名可以实现更永久的修复,但这是快速无忧的修复。
酷,谢谢。这对我来说似乎是一个很好的解决方案,单元测试目标无论如何都不应该运行。 +1
你能详细解释一下吗?你的意思是我必须“建造”?而且我不明白'从运行中调用我的单元测试'
O
Olivia Stork

此处的其他建议对我没有帮助,但我通过转到 Product > Scheme > Edit Scheme 修复了此错误。然后我单击左侧的 Build 并取消选中 AppNameTests 旁边的所有复选框。我正在使用 XCode 6.3

https://i.stack.imgur.com/64Idp.png


@Almo不要取消选中“测试”下方的任何框,而是取消选中标记为APPNAMEtests的行中的所有内容(您可以取消选中)。我将在我的答案中包含一个屏幕截图以帮助澄清。
我这样做了,除了测试之外的所有东西都没有检查。事实证明,我必须删除一个 .plist 文件才能让它停止尝试对测试进行代码签名。我的项目构建了一个静态库,因此不需要对其进行代码签名。
啊,好吧。好吧,似乎有很多原因可以导致这个问题,以及解决它的方法也很多。如果没有其他人提到您的解决方案,您可能会考虑将其发布为另一个可能的答案。
@huggie ¯\_(ツ)_/¯ 欢迎来到 iOS 编程!
@OliviaStork 你答应了我。非常感谢你救了我的工作。
F
Frost

我通过在测试目标的构建设置中手动选择配置文件来修复它。

测试目标设置 -> 构建设置 -> 代码签名 -> 代码签名身份。以前,它被设置为“不要代码签名”。


选择配置文件明确为我工作,谢谢。
还要确保在顶部选择“全部”过滤器,而不是“基本”。
V
Varun Naharia

https://i.stack.imgur.com/aMu3q.png

我将我的从“myIphone”更改为模拟器 iPhone 6 Plus,它在我开发应用程序时解决了这个问题。


但是,如果您想将您的应用程序部署到物理设备上呢?!
J
Javier Calatrava Llavería

就我而言,我面临的问题是:

CodeSign 错误:SDK 'iOS 8.4' 中的产品类型 'Unit Test Bundle' 需要代码签名

幸运的是,目标没有实现任何东西,所以一个快速的解决方案是删除它。

https://i.stack.imgur.com/0ueEv.png


n
nirvana74v

如果上述解决方案没有任何效果,请按照以下步骤操作

从 Targets 中选择“Info”下的 appnameTests

更改以下

包标识符:com.ProjectName.$(PRODUCT_NAME:rfc1034identifier) 到 com.ProjectName.appname 包名称:$(PRODUCT_NAME) 包名称:appname

编译并执行


P
Pellet

从命令行运行 xcodebuild 以对我工作的 CI 进行集成测试时出现此错误。我设法通过将项目级别设置设置为协同设计来使其工作。由于某种原因,目标设置被忽略并恢复为项目的设置。


a
arniotaki

我通过将同一部分(“代码签名”)中的“配置文件”从“自动”更改为“我的配置文件名称”来解决问题


S
Sahan Maldeniya

嗨,我今天面临同样的问题。在阅读了“Spentak”的答案后,我尝试将我的目标代码签名设置为 iOSDeveloper,但仍然无法正常工作。但是在我将“Provisioning Profile”更改为“Automatic”之后,项目构建并运行,没有任何代码签名错误。


B
BrainyMonkey

有时当您从 github 或其他第三方教程网站下载项目时会发生这种情况。这些应用程序通常使用不同的身份或公司/名称签名。发生这种情况时,如果您无法解决解决方案,只需创建一个新的 xcode 项目并将所有头文件和实现文件复制到您的新项目中。也不要忘记依赖文件..例如框架文件。这对我有用。