我们正在为另一家公司构建应用。他们持有签名密钥,不愿与我们共享。分离构建和签名应该是可能的,但是我如何在xcodebuild的命令行中指定它呢?
kcugc4gi1#
为了跳过代码签名,您可以从控制台执行手动构建,如下所示:
xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
此外,使用-configuration、-target和-sdk参数来定义构建设置。请参阅this Stack Overflow answer,以获得关于如何在Xcode中禁用代码签名的详细描述。
-configuration
-target
-sdk
jgovgodb2#
为了完全阻止Xcode 7的代码签名,我使用了以下所有选项:
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED="NO" CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO"
最后一个选项CODE_SIGNING_ALLOWED="NO"似乎可以解决这个问题。
CODE_SIGNING_ALLOWED="NO"
gdx19jrr3#
遗憾的是,如果不进行代码签名,则很难在发布模式下构建应用。您将从构建系统中收到如下错误:
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.1'
在这种情况下,你应该将目标配置为在发布模式下使用你的开发人员/团队通配符(*)签名身份。在你构建应用时,应用将使用该身份签名,然后你可以将其发送给客户,以便他们可以重新签名。这是我们大多数外包开发人员的做法。然后,您可以删除应用程序中的各种文件(如_CodeSignature),然后使用codesign工具从应用程序二进制文件中删除信息,从而删除代码签名信息。但我不确定这有多容易。但这并不是真正必要的。预配配置文件或签名信息中没有任何敏感信息。
_CodeSignature
codesign
dy2hfwbg4#
在项目导航器中,选择项目并打开项目的“构建设置”部分(而不是任何特定目标)。在“代码签名”下,找到“代码签名标识”,并在调试和发布模式下将“任何iOS SDK”设置为“不进行代码签名”。
s3fp2yjn5#
若要避免代码签名,请用途:
xcodebuild <your options> CODE_SIGNING_ALLOWED=NO
5条答案
按热度按时间kcugc4gi1#
为了跳过代码签名,您可以从控制台执行手动构建,如下所示:
此外,使用
-configuration
、-target
和-sdk
参数来定义构建设置。请参阅this Stack Overflow answer,以获得关于如何在Xcode中禁用代码签名的详细描述。
jgovgodb2#
为了完全阻止Xcode 7的代码签名,我使用了以下所有选项:
最后一个选项
CODE_SIGNING_ALLOWED="NO"
似乎可以解决这个问题。gdx19jrr3#
遗憾的是,如果不进行代码签名,则很难在发布模式下构建应用。您将从构建系统中收到如下错误:
在这种情况下,你应该将目标配置为在发布模式下使用你的开发人员/团队通配符(*)签名身份。在你构建应用时,应用将使用该身份签名,然后你可以将其发送给客户,以便他们可以重新签名。这是我们大多数外包开发人员的做法。
然后,您可以删除应用程序中的各种文件(如
_CodeSignature
),然后使用codesign
工具从应用程序二进制文件中删除信息,从而删除代码签名信息。但我不确定这有多容易。但这并不是真正必要的。预配配置文件或签名信息中没有任何敏感信息。dy2hfwbg4#
在项目导航器中,选择项目并打开项目的“构建设置”部分(而不是任何特定目标)。
在“代码签名”下,找到“代码签名标识”,并在调试和发布模式下将“任何iOS SDK”设置为“不进行代码签名”。
s3fp2yjn5#
若要避免代码签名,请用途: