xcodebuild标志覆盖pods项目目标的代码签名

xcodebuild标志覆盖pods项目目标的代码签名,xcode,continuous-integration,cocoapods,code-signing,xcodebuild,Xcode,Continuous Integration,Cocoapods,Code Signing,Xcodebuild,我在构建(归档)工作区时遇到问题,因为每当我运行 xcodebuild-archive-workspace-app.xcworkspace/-scheme-app-scheme-configuration-Production-derivedDataPath./build-archivePath./build/Products/app.xcarchive-DEVELOPMENT\u TEAM=aaabbbbcccd PROVISIONING\u PROFILE\u SPECIFIER=“prod

我在构建(归档)工作区时遇到问题,因为每当我运行

xcodebuild-archive-workspace-app.xcworkspace/-scheme-app-scheme-configuration-Production-derivedDataPath./build-archivePath./build/Products/app.xcarchive-DEVELOPMENT\u TEAM=aaabbbbcccd PROVISIONING\u PROFILE\u SPECIFIER=“prod DistProf”code\u SIGN\u IDENTITY=“iPhone Distribution”

我明白了

XXX不支持配置文件。XXX不支持配置文件,但已手动指定配置文件YYY。在生成设置编辑器中将配置文件值设置为“自动”。

每个豆荚。 当我省略
DEVELOPMENT\u TEAM
标志时,我得到

签署“myAPP”需要一个开发团队。在生成设置编辑器中选择与所选配置文件“YYY”匹配的开发团队。

所有的POD都不需要签名。在命令行中指定标志似乎会忽略不同项目的设置。我不能使用自动签名,因为我不是颁发证书的团队成员,我的机器上只有证书和配置文件,所以任何fastlane解决方案都无法工作。此外,我不能在项目中设置一次,因为它来自第三方公司,我们不能共享我们的个人资料。
如何将此项目设置为持续集成链?

我也遇到了同样的问题,经过多次尝试后发现了一个可行的解决方案

我无法让命令行方法发挥作用,尽管我在这个谷歌小组中发现了相反的说法

对我来说,有效的方法是停止在命令行中指定团队、资源调配和标识,而是将其移动到xconfig文件中

在使用椰子荚的特殊情况下,它是这样的:

#include "Pods/Target Support Files/Pods-xxx/xxx.release.xcconfig"

//:configuration = Release
DEVELOPMENT_TEAM = xxx
//:configuration = Release
PROVISIONING_PROFILE_SPECIFIER = xxx/xxx
创建xconfig文件。只需使用Xcode创建一个新的“配置设置”文件(位于“新建文件”对话框的“其他”下),即可完成此操作。此文件将为空

在xconfig文件中填写代码签名的值。这可以通过首先在xcode的构建设置中设置值,然后复制和粘贴来完成。生成的文件如下所示:

#include "Pods/Target Support Files/Pods-xxx/xxx.release.xcconfig"

//:configuration = Release
DEVELOPMENT_TEAM = xxx
//:configuration = Release
PROVISIONING_PROFILE_SPECIFIER = xxx/xxx
用项目的正确值替换
xxx
PROVISIONING\u PROFILE\u说明符
值为

团队ID和概要文件名称的组合(在 开发人员门户,不一定是实际的文件名)

如此处所述

请注意,第一行包括cocoapods生成的release.xconfig。这很重要!如果不执行此操作并运行
pod update
,您将看到一个警告弹出窗口,要求您执行此操作,否则将无法执行任何操作

正在分配项目以使用xconfig文件。这是通过转到项目的“常规”选项卡并滚动到“配置”设置来完成的。然后,您可以从Release下的下拉列表中选择新创建的xconfig文件

(有关如何使用xconfig文件的更多信息,请参见此处)

所有这些就绪后,您可以继续构建归档:

xcodebuild archive \
             -workspace "xxx" \
             -scheme "xxx" \
             -sdk iphoneos \
             -archivePath "xxx"

你找到解决办法了吗?我有完全相同的问题,我已经找到了一个解决办法,这不是优雅,但工程。我使用两个附加标志构建工作区
code\u SIGN\u IDENTITY=”“code\u SIGNING\u REQUIRED=NO
,这导致Xcode不会抱怨签名。然后我使用脚本退出ipa文件,它可以正常工作。