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