在将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.
原因:那么出现此问题的原因是多个证书之间冲突造成两种解决方法如下:
解决办法:打开mac系统的“实用工具”-“钥匙串访问”-“我的证书”中,会看到有证书名一模一样的,那么请将早期的证书删除掉,重启Xcode;
在真机或者模拟器编译程序的时候可能会遇到下面的错误:
Could not change executable permissions on the application.
原因:拥有相同的bundle Identifier已经在设备上运行
解决办法:删除设备中或者模拟器中的App。
编译时遇到如下错误:
A valid provisioning profile matching the application's Identifier 'XXXX' could not be found
原因:缺少证书或者是在Code Signing Identity处没有选择对应的证书或者是证书不对应
解决办法:重装证书,检查证书是否是否选择是否对应。
编译时遇到如下错误:
ld: library not found for -lmp3lameclang: error: linker command failed with exit code 1 (use -v to see invocation)
原因:一般是多人编辑同一个工程时其中一人没将某个库上传导致的
解决办法:上传具体静态库
Xcode7之后真机测试更加方便,但是也会出现各种问题
Could not launch “******”
process launch failed: Security
原因:没认证apple id
解决方法:打开手机设置-通用-描述文件与设备管理
找到开发商应用,点击进入,信任要测试的应用。
This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.
原因:测试机上有标识符相同的APP
解决方法:删掉,删掉,掉,。
编译时遇到如下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. WSMeWishCell's implementation of -layoutSubviews needs to call super.'
原因:
解决方法:
在WSMeWishCell中,添加如下代码:
+ (void)load
{
Method existing = class_getInstanceMethod(self, @selector(layoutSubviews));
Method new = class_getInstanceMethod(self, @selector(_autolayout_replacementLayoutSubviews));
method_exchangeImplementations(existing, new);
}
- (void)_autolayout_replacementLayoutSubviews
{
[super layoutSubviews];
[self _autolayout_replacementLayoutSubviews]; // not recursive due to method swizzling
[super layoutSubviews];
}
需要引入头文件:#import<objc/runtime.h>
关于runtime的用法,大家可以查看我转发的关于runtime简介的一篇文章。Runtime简介 - 简书
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'HTCareerButton''
原因:大部分是因为你XIb文件名称错误
解决方法:在xib的Unilities界面的 Show the File Inspector界面,也就是第一个按钮,找到name,查看名字是否匹配.