69

我们正在为另一家公司构建应用程序。他们持有签名密钥,不愿与我们分享。

应该可以将构建和签名分开,但是如何在 xcodebuild 的命令行上指定它呢?

4

4 回答 4

137

为了跳过代码签名,您可以从控制台执行手动构建,如下所示:

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

此外,使用-configuration-target参数-sdk来定义您的构建设置。

请参阅此 Stack Overflow 答案以获得有关如何在 Xcode 中禁用代码签名的详细说明。

于 2012-07-25T10:14:44.903 回答
52

为了完全防止使用 Xcode 7 进行代码签名,我使用了以下所有选项:

CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED="NO"
CODE_SIGN_ENTITLEMENTS=""
CODE_SIGNING_ALLOWED="NO"

最后的选择,CODE_SIGNING_ALLOWED="NO"似乎成功了。

于 2016-10-06T16:55:44.647 回答
9

不幸的是,如果没有代码签名,很难在发布模式下构建您的应用程序。您将从构建系统中得到错误,例如:

CodeSign error: code signing is required for product type 'Application' in SDK
                'iOS 5.1'

在这种情况下,您应该将目标配置为在发布模式下使用您的开发人员/团队通配符 (*) 签名身份。该应用程序将在您构建它时使用它进行签名,您可以将其发送给您的客户,以便他们可以辞职。这是我们大多数外包开发人员所做的。

然后,您可以通过删除应用程序中的各种文件(例如_CodeSignature,使用该codesign工具从应用程序二进制文件中删除信息)来删除代码签名信息。但我不确定这有多容易。不过,这并不是必需的。配置文件或签名信息中没有任何敏感信息。

于 2012-06-14T13:52:10.363 回答
4

在项目导航器中,选择您的项目并打开项目的“构建设置”部分(而不是任何特定目标)。

在“代码签名”下,找到“代码签名身份”,对于调试和发布模式,将“任何 iOS SDK”设置为“不进行代码签名”。

于 2016-05-31T18:13:01.983 回答