多个证书导致 codesign failed with exit code 1

编译程序时遇到了这个错误,点击详细信息,原来是ambiguous,xcode在keychain找到了多个证书,一个在system中,一个在默认的login中。Google了一下,有不少开发者都遇到这个问题了,对于我来说,其实是由于原来的证书过期了,续期之后下了新证书添加到keychain,这样就有两个同名证书了。

打开keychain,选择system,并看不到过期的证书,从菜单中选择View->Show Expired Certificates,就可以看到了,删掉完事。

在iPhone App的main bundle中添加子文件夹

在使用xcode开发iPhone程序的时候,向项目的Resources目录下添加资源时,默认的情况会把资源都拷贝到最终的main bundle文件下,即使在Resources中添加了文件夹,最终程序里的main bundle也没有对应的子文件夹,而是把所有文件直接放在根目录下。文档里的解释是针对移动设备而做的优化处理。其实要创建子文件夹也很简单,向项目Resources里拖拽一个文件夹,在弹出对话框中选中“Create Folder References for any added folders” 就行了,如图: 对于资源较复杂的情况还是比较有用的。