开发工程中遇到的BUG
- 关注 3 关注
- 收藏 0 收藏,4.9k 浏览
Xcode7在创建项目的时候勾选此选项,
创建出来的项目会报如下错误警告:
"Couldn't communicate with a helper application",
我重启Xcode然后编译代码,通过Xcode自带commit提交,
还是会出现下面的错误警告
"Couldn't communicate with a helper application",
我就去了,helper application是什么啊?????
实在搞不懂了????
是我打开的方式不对吗?
1、Couldn’t communicate with a helper application in Xcode 7
问题一:
Couldn't communicate with a helper application in Xcode 7
翻译:不能与助手应用程序通信在Xcode7中(helper ->指的是git)
解决:
终端输入:
Xcrun git config --global user.email 邮箱
xcrun git config --global user.name gitHub的你的名字
2、网上下载的Demo运行时报错
问题二:
网上下载的Demo运行时报错
ld:library not find for -lpods-xxxxxx
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决:
1. 首先查看本地是否安装cocoapods, 如果没安装请先安装pod,
2. 如果安装cocoapods,请打开终端,cd ~/到你工程文件夹(或者将文件夹直接拖到终端中)
3. 使用命令行 pop install --verbose --no-repo-update
4. 请使用xxx.xcworkspace打开工程
3、Xcode升级导致插件失效
问题三:
Xcode升级导致插件失效
解决:
1. 在终端输入defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID查看xcode的UUID。
2. 找到xcode插件所在的目录:~/Library/Application Support/Developer/Shared/Xcode/Plug-ins。在plist文件中找到DVTPlugInCompatibilityUUIDs, 点击加号, 添加一个item, 对应的value值为输入刚才终端中获得的UUID,cmd + s保存。
3. 重启Xcode,弹出的对话框中选择Load Bundle
4. 如果误点Skip Bundle,找到该插件安装路径下,继续打开在 info.plist 删除与命令端里面同样的UUID号,一般都是会在最后一行,自己添加的那一行也要删除掉。保存之后重启Xcode,再次重复上面的步奏。在重启就再次出现了插件提示
4、Unable to add app id because the '10' APP ID limit in '7'days has been exceeded
问题四:
Unable to add app id because the '10' APP ID limit in '7'days has been exceeded
翻译:无法添加应用程序id,因为“10”应用程序id已经超过限制(7日)
解决:
此问题针对于真机测试:
在developer center 重新设置一遍自己的APP ID 然后将APP ID 作为 Bundle ID添加到工程
免证书进行xcode真机调试方法:http://www.jianshu.com/p/3b2be6454462
5、Undefined symbols for architecture armv7:ld: symbol(s) not found for architecture armv7
问题五:
5.1: Undefined symbols for architecture armv7:
"_compress2", referenced from:
+[UMANDeflated deflatedDataPrefixedWith:level:source:] in libMobClickLibrary.a(UMDeflated.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决:
检查项目友盟这个库的依赖呀.确认库已经导入而且在链接的二进制库里面.(就是build phases里面).
检查是否某些文件路径未加入进来或者写错了
把xx文件库+进来
5.2: *** does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
解决:友盟的二进制库不支持bitcode.而Xcode默认是要支持bitcode的,而且如果支持的话,其中所有的二进制库和framework都必须包含bitcode(工程build setting -> build options ->Enable Bitcode设置为关闭)
6、installation failed invalid argument
问题6
installation failed invalid argument
翻译:安装失败,参数非法
原因:我把Bundle indentifier 置为空了!
解决1:
1、Quit Xcode
2、Clean out ~/Library/Developer/Xcode/DerivedData manually
3、rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
4、iOS Simulator > Reset Content and Settings
解决2:随便添加一个Bundle indentifier
7、看不见控件是什么原因
原因:
1、根本没有创建实例化这个控件
2、没有设置尺寸
3、控件的颜色跟父控件的背景色一样
4、透明度alpha<=0.01
5、hidden = YES
6、没有添加到父控件中
7、被其他控件挡住了
8、位置不对
9、父控件发生了以上变化
10、特殊情况
*UIIamgeView没有设置image属性,或者设置的图片名不对
*UILabel没有设置文字,或者文字颜色和父控件的背景色一样
*UITextField没有设置文字,或者没有设置边框样式borderStyle
*UIPageControl没有设置总页数,不会显示小圆点
*UIButton内部imageView和titleLabel的frame被篡改了,或者没有内容
建议:
1、最好设置背景色和尺寸
2、控件的颜色尽量不要跟父控件的背景色一样
8、在Archive项目时,出现了“Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”的出错。一直提示指定UUID的provisioning profile找不到
问题8
在Archive项目时,出现了“Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”的出错。一直提示指定UUID的provisioning profile找不到
解决:
1.找到项目中的**.xcodeproj文件,点击右键,show package contents(打开包内容)。
2.打开后找到project.pbxproj文件,用文本编辑器打开。其实就是右键,点击open就好了。
3.打开这个文件后,按command+F,在这个文件中查找“PROVISIONING_PROFILE",找到和这个“
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";”类似的都删除。
4.然后保存文件,重新打开项目。xcode会提示你重新下载安装provisioning profile文件。下载后安装上就可以。
9、真机运行时,提示The executable was signed with invalid entitlements.
1.在工程中添加文件new file,选择plist文件,添加后名称为Entitlements.plist。
2.点击Entitlements.plist进行编辑,删除所有Root下的Key,然后添加一个Boolean类型,名称为get-task-allow的Key,Value为YES。
3.在Targets中的Build Setting选项卡中的Code Signing Entitlements的值设为Entitlements.plist,重新Build即可解决。
10、the file couldn't be opened because you don't have permission to view it
解决方法一:changed the value of the "Compiler for C/C++/Objective-C" to Default Compiler.
解决方法二:Project---Build Setting中 修改这一项,变成Default Compiler(Apple LLVM 6.0)
解决方法三:command + shift + k
解决方法四:xcode页面command +','调出设置页面点击最后一个'Location选项',点击第一个小箭头 会跳转到一个文件夹-->>删除文件夹-->>command+shift+K Claen一下-->> command + R
11、error: [__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]
@interface ...
@property (nonatomic, readonly, strong) NSMutableArray *videos;
@end
@implementation ...
//懒加载初始化
- (id)init {
self = [super init];
if (self) {
_videos = [NSMutableArray new];
}
return self;
}
12、UIWebView 加载https站点出现NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
http://www.itnose.net/detail/6042798.html
13、在使用百度地图时,使用的时候下面一句报错了~BMKMapPoint *pionts = new BMKMapPoint[index];用下面这句也报错 delete []points;
解决方案:将把文件后缀从m改成了mm。
分析:变态的百度静态库中采用ObjectC++实现,以上两句时ObjectC++的特性。如果把文件后缀改为mm,则xcode会用ObjectC++的方式来编译文件。
14、setValue:forUndefinedKey: this class is not key value coding-compliant for the key
要设置tableviewCell的customClass,而不是file‘s owner的custom class
15、_BSMachError: (os/kern) invalid capability (20) \
_BSMachError: (os/kern) invalid name (15) \
原因:是自己在alertAction中添加了时间,但是并未采用延时机制。
[alertVC addAction:[UIAlertAction actionWithTitle:@"现在升级" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//这里添加了多线程,消除警告
dispatch_after(0.2, dispatch_get_main_queue(), ^{
NSURL *appStoreUrl = [NSURL URLWithString:[NSString stringWithFormat:kAppStore_APPVersionUrl,APP_ID]];
[[UIApplication sharedApplication] openURL:appStoreUrl];
NSLog(@"链接--%@",appStoreUrl);
});
}]];
16、command/usr/bin/codesign failed with exit code 1- code sign error
17、ld: 4 duplicate symbols for architecture x86_64
问题 ld: 4 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决: "duplicate"和"symbols"。duplicate的中文意思是“重复的、复制的”,而symbols的意思是“符号”。也就是可能在你工程中引入了重复的东西。
第一种情况:在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类。
第二种情况:工程中在#import引入头文件的时候,将#import "XXX.h" 写成了#import "XXX.m"。错误的引入.m头文件
18、layoutSubviews什么时候调用
layoutSubviews在以下情况下会被调用:
1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
19、-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[2]
字典不能传空值
20、-[__NSDictionaryM objectAtIndexedSubscript:]: unrecognized selector sent
__NSDictionaryM 无法将值传到下标索引对象,就是数组越界,并且不是数组,而是字典,所以,遇到这种crash
两种情况:
1.首先看看你 indexPath.row 用的有没有问题;
2.看看你请求下来的数据类型对不对。
21、Error Domain=kCLErrorDomain Code=2 “The operation couldn’t be completed. (kCLErrorDomain error 2.)”
网络错误,CLGeocoder需要一个网络连接,不应该每分钟发送多个地理编码请求.geocoder断绝希望保护自己免受被请求从一个设备过载。你只是必须限制你发送的请求数
22、NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: NSBundle
方法一:
1. Right Click - Delete and Remove Reference
2. 重新引入文件
方法二:重命名该文件
23、objc_msgSend()报错Too many arguments to function call ,expected 0,have3
Build Setting--> Apple LLVM - Preprocessing--> Enable Strict Checking of objc_msgSend Calls 改为 NO
24、void SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNewWindowAction:request:
- (void)dealloc {
_webview.delegate = nil;
[_webview stopLoading];
}
25、too many errors emitted, stopping now解决办法 / 莫名其妙的错误:could not build module ‘Foundation’
让整个pch文件的内容在这两行代码以内
#ifdef __OBJC__
#endif
26、Host is down -sendto(2) '192.168.1.2' port 53
看看自己的网络吧骚年,DNS和路由器IP不对应。
27、[NSISObjectiveLinearExpression coefficientForVariable:]: unrecognized selector sent to instance 0x1cd93850
- (void) viewWillDisappear: (BOOL) animated {
[super viewWillDisappear: animated];
// Force any text fields that might be being edited to end so the text is stored
[self.view.window endEditing: YES];
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
持续更新中。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者:JJ骏
链接:https://www.jianshu.com/p/39bb64d8397f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
开发工程中遇到的BUG的更多相关文章
- iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)
由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心 ...
- 如何通过热修复,搞定开发中的那些 Bug?
作为程序员,Bug 修复终究是绕不开的话题,本期移动开发精英俱乐部讨论的主题便是 Bug 修复中的 Hotfix,即热修复.接下来让我们跟随大牛的脚步来了解 Hotfix,就算你不能一下豁然开朗,相信 ...
- web工程中的各种路径(eclipse开发)
目前遇到的 web 工程中要写url和路径的文件有 webContent中.jsp/.html :action src中的servlet类 : 映射地址.重定向.请求转发.访问资源文件(webCont ...
- JSPatch来更新已上线的App中出现的BUG(超级详细)
JSPatch的作用是什么呢? 简单来说:(后面有具体的操作步骤以及在操作过程中会出现的错误) 1.iOS应用程序上架到AppStore需要等待苹果公司的审核,一般审核时间需要1到2周.虽然程序在上架 ...
- [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found
google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...
- React Native工程中TSLint静态检查工具的探索之路
建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查代码, ...
- 谷歌浏览器开发调试工具中Sources面板 js调试等 完全介绍
这次分享的是Chrome开发工具中最有用的面板Sources. Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板.通常只要是开发遇到了js报错或者其他代 ...
- unity导出工程导入到iOS原生工程中详细步骤
一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...
- 关于AFNetworking中header的bug问题
关于AFNetworking中header的bug问题 [摘要:AFNetworking那个正在ios开辟中便未几道了,网上一搜一大推,然则详细用法我便没有道了,偶然间我会整顿一下详细的一些用法.本日 ...
随机推荐
- OpenCvSharp尝试
OpenCvSharp是封装了OpenCV的.net版本 项目地址:https://github.com/shimat/opencvsharp 简单使用: 1.NuGet安装 2.使用OpenCvSh ...
- SQL Server 日常维护经典应用
SQL Server日常维护常用的一些脚本整理. 1.sql server开启clr权限: GO RECONFIGURE GO ALTER DATABASE HWMESTC SET TRUSTWORT ...
- 一、Selenium 工作原理
1.Selenium介绍 Selenium是用于测试Web应用程序用户界面UI的常用框架.端对端的功能测试.并且在一个多个浏览器中操作. 目前Seienium 组件主要包括Selenium IDE ...
- 阿里八八Beta冲刺博客集合贴
Scrum 阿里八八β阶段Scrum(1/5) 阿里八八β阶段Scrum(2/5) 阿里八八β阶段Scrum(3/5) 阿里八八β阶段Scrum(4/5) 阿里八八β阶段Scrum(5/5) 总结 阿 ...
- JWT(JSON Web Token)
摘要: 在Web应用中,使用JWT替代session并不是个好主意 适合JWT的使用场景 抱歉,当了回标题党.我并不否认JWT的价值,只是它经常被误用. 什么是JWT 根据维基百科的定义,JSON W ...
- [matlab] 20.图与网络 matlab自带函数使用
matlab自带的biography(产生一个句柄) 可以用于画图 R=[1 1 2 4 1 2 3 3 5 7 3 4 5 6 7 8]; % 起始节点编号 C=[2 3 3 3 4 5 5 6 6 ...
- ansible的模块使用说明
参考官方链接: https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html#parallelism-and-shell-co ...
- pytorch visdom可视化工具学习—1—详细使用-3-Generic Plots和Others
4)Generic Plots 注意,服务器API遵循数据和布局对象的规则,这样您就可以生成自己的任意Plotly可视化: # Arbitrary visdom content trace = dic ...
- element not interactable,这种提示表示元素当前在页面上不可见
1.出现element not interactable,发现这个元素在页面上不可见,需要拖动下拉框才能看到这个元素 2.这个时候需要让元素在页面上可见,才可操作
- 根据成绩输出对应的等级(使用if多分支和switch语句分别实现)
根据成绩输出对应的等级,使用if多分支和switch语句分别实现. a) A级 [90,100] b) B级 [80,90) c) C级 [70, ...