为什么未签名的 xcarchive 比签名的大?
Why unsigned xcarchive is larger than signed?
我使用下面的命令生成signed xcarchive:
xcodebuild -workspace app.xcworkspace -scheme app -configuration 'Release' -sdk iphoneos archive -archivePath build/signed.xcarchive
构建unsigned xcarchive 我只是在末尾附加:
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
我很好奇为什么未签名的 xcarchive 有 332 MB 而有签名的 xcarchive 有 222 MB?
我发现例如 libswiftCore.dylib
在已签名的 xcarchive 中只有 23.3 MB 而在未签名的 xcarchive 中只有 95.4 MB。奇怪的。
- Xcode 10.2.1
- Swift 4
- 部署目标:10.0
- 使用
CocoaPods
- 附加依赖项:
Alamofire
通过使用 opendiff
比较每个构建的输出进行进一步调查后,我发现对于已签名的构建 xcodebuild
在每个 dylib
上运行 bitcode_strip
,这显着减小了大小。
这就是为什么这两个版本之间存在大小差异的原因。
在未签名构建的情况下更具体 xcodebuild
运行:
builtin-swiftStdLibTool --copy --verbose ...
并且没有参数 --sign
它不会去除位码。来自构建输出的消息:
Ignoring --strip-bitcode because --sign was not passed
因此这似乎是 xcodebuild
的预期行为。
我使用下面的命令生成signed xcarchive:
xcodebuild -workspace app.xcworkspace -scheme app -configuration 'Release' -sdk iphoneos archive -archivePath build/signed.xcarchive
构建unsigned xcarchive 我只是在末尾附加:
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
我很好奇为什么未签名的 xcarchive 有 332 MB 而有签名的 xcarchive 有 222 MB?
我发现例如 libswiftCore.dylib
在已签名的 xcarchive 中只有 23.3 MB 而在未签名的 xcarchive 中只有 95.4 MB。奇怪的。
- Xcode 10.2.1
- Swift 4
- 部署目标:10.0
- 使用
CocoaPods
- 附加依赖项:
Alamofire
通过使用 opendiff
比较每个构建的输出进行进一步调查后,我发现对于已签名的构建 xcodebuild
在每个 dylib
上运行 bitcode_strip
,这显着减小了大小。
这就是为什么这两个版本之间存在大小差异的原因。
在未签名构建的情况下更具体 xcodebuild
运行:
builtin-swiftStdLibTool --copy --verbose ...
并且没有参数 --sign
它不会去除位码。来自构建输出的消息:
Ignoring --strip-bitcode because --sign was not passed
因此这似乎是 xcodebuild
的预期行为。