繁体   English   中英

使用没有代码签名的 xcodebuild 构建 iOS 应用程序

[英]Building iOS applications using xcodebuild without codesign

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

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

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

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

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

请参阅此Stack Overflow应答 ,以获得有关如何禁用Xcode内部代码签名的详细说明。

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

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

最后一个选项, CODE_SIGNING_ALLOWED="NO"似乎可以解决问题。

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

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

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

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

在Project Navigator中,选择项目并打开项目的“Build Settings”部分(而不是任何特定目标)。

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

为避免代码签名,请使用:

xcodebuild <your options> CODE_SIGNING_ALLOWED=NO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM