[英]How can I skip code signing for development builds in Xcode?
每当我构建我的 Xcode 项目时,在编译我的所有代码之后,完成“签署产品”需要很长时间。 (我相信这是因为该项目包含大约 200 MB 的需要签名的资源。)我想在开发过程中跳过代码签名,这样构建可以更快地完成。 我怎样才能做到这一点?
要关闭代码签名,请转到您的项目并以“构建设置”为目标,搜索“代码签名标识”将其值更改为“不要代码签名”。
要使其有效,您需要分别在项目和所有目标中更改此值。
如果有人使用CMake
(用于多平台项目)来禁用特定目标的代码签名,我使用了这个:
set_target_properties(MyAppTarget PROPERTIES
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
OUTPUT_NAME "My nice application name"
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_BUNDLE_NAME "My nice application name"
MACOSX_BUNDLE_INFO_PLIST path/to/Info.plist
MACOSX_BUNDLE_BUNDLE_VERSION ${MY_APP_VERSION}
MACOSX_BUNDLE_LONG_VERSION_STRING "My nice application name v${MY_APP_VERSION}"
MACOSX_BUNDLE_SHORT_VERSION_STRING "${MY_APP_VERSION}"
MACOSX_BUNDLE_GUI_IDENTIFIER "com.my.app"
MACOSX_BUNDLE_COPYRIGHT "(C) 2019 My Company"
MACOSX_RPATH TRUE
MACOSX_FRAMEWORK_IDENTIFIER com.myapp.bundle.id
XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@loader_path/Libraries"
RESOURCE "${RESOURCE_FILES}"
XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME TRUE
XCODE_ATTRIBUTE_EXECUTABLE_NAME "exec_name"
)
您可以尝试将您的资源移动到一个单独的捆绑目标,然后将该目标的 .bundle 产品添加到您的应用程序的“复制捆绑资源”构建阶段——理想情况下,应用程序构建应该能够使用捆绑包的签名(这将只需要包的内容更改时重新生成),而不必单独重新签名资源。
FWIW for iOS 构建您构建到您的模拟器中,您不需要代码签名。 因此无需跳过它。
您只需要在物理设备上进行代码签名/配置文件。 我不知道如何跳过它们。
我还没有尝试过的另一个答案表明,如果您越狱,您可以在没有代码签名的情况下进行构建,但我不确定它的答案现在是否有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.