第三方sdk常常以framework的形式被引入xcode工程,对于要发app store的应用而言,第三方sdk是必须要签名的。签名命令如下:
codesign --verbose --force --sign "my certificate" "my framework"
上述命令对一般framework都可以签名成功,直到有一次遇到了如下错误:
老规矩,谷歌一把错误提示,得到如下答案:
然后查codesign手册的--deep以及--force选项:
再加上--deep选项进行签名,成功搞定:
结论:没有签名的嵌套framework需要使用--deep选项进行签名;--force可以强制替换已有签名(包括嵌套framework的签名),但是不能对没有签名的嵌套framework进行签名。