【问题标题】:xcodebuild flag overrides code signing for pods project targetsxcodebuild 标志覆盖 pod 项目目标的代码签名
【发布时间】:2017-05-17 18:30:57
【问题描述】:

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

xcodebuild archive -workspace app.xcworkspace/ -scheme app-scheme -configuration Production -derivedDataPath ./build -archivePath ./build/Products/app.xcarchive DEVELOPMENT_TEAM=AAABBBCCCD PROVISIONING_PROFILE_SPECIFIER="prod DistProf" CODE_SIGN_IDENTITY="iPhone Distribution"

我明白了

XXX does not support provisioning profiles. XXX does not support provisioning profiles, but provisioning profile YYY has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor.

对于每个 pod。 当我省略 DEVELOPMENT_TEAM 标志时,我得到了

Signing for "myAPP" requires a development team. Select a development team in the build settings editor that matches the selected profile "YYY".

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

【问题讨论】:

  • 您找到解决方案了吗?我有完全相同的问题
  • 我找到了一种解决方法,它不是那么优雅但有效。我使用两个附加标志 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO 构建工作区,这导致 Xcode 不会抱怨签名。然后我使用floatsign 脚本对 ipa 文件进行签名,它就可以工作了。

标签: xcode continuous-integration cocoapods code-signing xcodebuild


【解决方案1】:

我遇到了同样的问题,经过多次尝试错误后找到了可行的解决方案。

尽管我在这个 Google 群组 https://groups.google.com/forum/#!topic/cocoapods/q5x653je7MA 上发现了相反的说法,但我无法使用命令行方法来工作

对我有用的是停止在命令行中指定团队、配置和身份,而是将其移至 xconfig 文件。

在使用 Cocoapods 的特殊情况下,它是这样的:

创建 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_PROFILE_SPECIFIER 的值为

团队 ID 和个人资料名称的组合(在 开发者门户,不一定是实际文件名)

这里指定https://possiblemobile.com/2016/06/code-signing-xcode-8/

请注意,第一行是包含由 cocoapods 生成的 release.xconfig。这个很重要!如果您不执行此操作并运行pod update,您将看到弹出警告要求您执行此操作,否则将无济于事

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

(关于如何使用 xconfig 文件的更多信息可以在这里找到http://www.jontolof.com/cocoa/using-xcconfig-files-for-you-xcode-project/

一切就绪后,您可以继续构建存档:

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

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多