构建Xcode应用时,发现Xcode提示小组件存在报错:
Command CodeSign failed with a nonzero exit code
查看详细报错为:
CodeSign /Users/fangjunyu/.../Frameworks/WidgetKit.framework/Versions/A (in target 'BankletWidgetExtension' from project 'piglet')
cd /Users/fangjunyu/Downloads/iOS应用-存钱猪猪tmp/Banklet
Signing Identity: "Apple Development: junyu fang (D...S)"
Provisioning Profile: "Mac Catalyst Team Provisioning Profile: com.fangjunyu.piglet.BankletWidget"
(2f…71e)
/usr/bin/codesign --force --sign CC1...FE0 -o runtime --timestamp\=none --preserve-metadata\=identifier,entitlements,flags --generate-entitlement-der /Users/fangjunyu/.../Frameworks/WidgetKit.framework/Versions/A
/Users/fangjunyu/.../Frameworks/WidgetKit.framework/Versions/A: bundle format unrecognized, invalid, or unsuitable
Command CodeSign failed with a nonzero exit code
问题原因在于,把系统Framework(WidgetKit.framework)当成“可嵌入 Framework”去重新 codesign 了,这是不允许的。

因为WidgetKit.framework 是 Apple 系统 Framework,它只应该存在于 /System/Library/Frameworks,绝对不允许被 Embed,也不允许被重新 codesign。
所以codesign会报错:
bundle format unrecognized, invalid, or unsuitable
解决方案:将Embed改为“Do Not Embed”。
