【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 

转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/621.html



本章节Himi为大家总结几点经常用到的功能或者经常出现的问题以及解决方法;

本章节主要介绍3个知识点:

1. 解决Xcode中选择设备运行项目时,设备一栏现实“My mac 64-bit”问题;

2.设置允许用户利用itunes同步一些资源到我们的App中;

3.解决CodeSign error: Certificate identity ‘iPhone Distribution***证书问题

 

1.  首先介绍如何解决设备一栏现实“My mac 64-bit”问题:

童鞋们都知道Xcode会根据当前SDK在Run按钮旁边的选项栏中显示适合的Simulator供开发者选择,如下图:

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

但是有时候则错误显示“My mac 64-bit” ,这个明显不是我们想要的,如下图:

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

上面这种情况主要出现原因在于你打开了另外一个mac电脑copy过来的项目时或者其他原因造成出现,那么解决的方法这里Himi给出来:

解决步骤:

首先关闭你的Xcode,找到你出现解决此问题的项目目录下,然后此项目的***.xcodeproj 文件,然后右键选择“显示包内容”,如下图:

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

一般情况下,包中有如下3个文件:

1.project.pbxproj        2.project.xcworkspace    3.xcuserdata

找到“xcuserdata”这个罪魁祸首,将其整个移到废纸篓中,OK,重新打开你的项目,则正常显示可使用的Simulator;

 

2.  设置允许用户利用itunes同步一些资源到我们的App中;

简单的解释一下,允许用户利用itunes同步一些资源到我们的App中,其实就是如一些地图等软件一样,就拿地图软件来说吧,如果开发者在制作的时候将每个地区的离线地图包全部放置在一个ipa中,那么不仅造成这个ipa的包体积变得很大,还会有一些用户反馈说根本自己用不到那么多城市离线地图资源非要下载下来,另外一点就是由于这个ipa包体积过大影响这个地图app的推广等等(3G有20MB下载限制,这个童鞋们要心中有个数),当然解决包体积问题以及为了让用户更*选择地图离线包的方案就是将所有地图离线包放在自己公司的服务器上,前台客户端用户可以进入软件后自定义下载需要的资源包即可或者用户使用电脑下载资源包然后通过itunes同步到手机的这款地图App中;那么解释了半天其实就是为了说明今天我们要讲到的如何来让我们的App允许用户外部同步资源到我们的App中,很简单,方法如下:

首先找到我们项目中的 info.plist文件,然后Add Row一条设置:

Application supports iTunes file sharing         YES    (如下图:)

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

注意: 当用户通过itunes同步外部资源到我们的App下,默认同步到我们App的Documents路径下!

OK,下面我们测试一下:

首先Himi利用一个mac上的手机工具打开刚刚加入设置的项目(Himi_ClientResTest),资源目录如下图:

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

可以看到这个项目Documents路径下没有任何文件,然后Himi利用itunes同步一张名字为“himi.png”的图片到这个测试项目中,如下图(点击放大)

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

最后再次利用手机工具查看这个项目Documents路径下,如下图:

【IOS】解决XCODE项目出现MY MAC 64-BIT/设置允许用户外部资源同步到APP/解决CODESIGN ERROR: CERTIFICATE IDENTITY ‘IPHONE DISTRIBUTION***APPEARS MORE THAN ONCE IN THE KEYCHAIN .

 

3.  解决CodeSign error: Certificate identity ‘iPhone Distribution***证书问题

有的童鞋们可以在将ios项目进行Archive打包时,Xcode提示以下错误:

[BEROR]CodeSign error: Certificate identity ‘iPhone Distribution: ***.’ appears more than once in the keychain. The codesign tool requires there only be one.

那么出现此问题的原因是多个证书之间冲突造成,以下有两种解决方式:

1. 打开你mac系统的“实用工具”-“钥匙串访问”-“我的证书”中,会看到有证书名一模一样的,那么请将早期的证书删除掉,重启Xcode;

2. 将Xcode中的证书全部删除,只保留你当前要使用的这个证书即可,然后重启Xcode;

OK,就到这,下篇见;


上一篇:Linux安装SVN服务器


下一篇:【Android 安装包优化】使用 lib7zr.a 静态库处理压缩文件 ( 交叉编译 lib7zr.a 静态库 | 安卓工程导入静态库 | 配置 CMakeLists.txt 构建脚本 )(一)