iOS开发debug集锦
2015-12-05 13:04
351 查看
1.添加第三方库时,需要注意使用环境
原因:使用的这个第三方SDK的静态库,就是.a后缀的文件,不支持模拟器指令集,因为模拟器是电脑的CPU, x86_64构架。
解决方案:build或run时,选择“iOS Device”,使用真机调试。或者,添加模拟器使用库。
2.自定义日志输出
通过NSLog()可以使用%@格式说明符来输出对象。NSLog()处理%@说明符时,它会询问参数列表中相应的对象以得到这个对象的描述。从技术上讲,就是NSLog()给这个对象发送描述消息,然后对象的description方法生成一个NSString并返回。之后NSLog()在其输出中包含这个字符串。在类中添加description方法就可以自定义NSLog()如何输出对象。
3.cocoapods使用问题
使用pod install命令时,卡在Updating local specs repositories不动。
解决办法:“pod install” 换成“pod install --verbose --no-repo-update”命令,前面的命令被墙了。
4.The operation couldn’t be completed. (LaunchServicesError error 0.)
解决办法:退出Xcode,退出Simulator,一定要完全退出。
5.包含的文件找不到
1)libxml/parser.h file not found
解决方法:在Xcode菜单 Project->Project Settings的All标签,搜索 Header Search Path ,添加/usr/include/libxml2 即可。
6.设置UISearchBar取消按钮
7.真机调试team ID not found问题
问题:No valid signing identities (i.e. certificate and private key pair) matching the team ID “***********” were found.
注:通常这种情况出现在下载并打开别人项目时
解决方案:
1)、将Build Setting里面的Code Signing更改为自己的证书;
2)、尝试修改target -> General -> Identity -> Team,将其值修改为None(通常不能被修改);
3)、若2不成功,则针对项目的target复制多一份副本,
选择Duplicate;
4)、将复制后的target的Team设置为None;
5)、选择当前运行target为复制并更改后的副本,Run;
至此,该问题已经解决。
8.Xcode编译C++
将.cpp改成.mm
9.添加类名前缀
Build Setting页,右侧Project Document-->Class Prefix项
10.Xcode中无法从Button到View Controller拖线
原因:xib 或者 storyboard中的那个viewController 跟你要链接的那个Controller没对应上。
解决方案:在xib 或者 storyboard里,在class里写一下那个类名即可。
......
【扫描关注更多干货】
公众号:xiaoniu
duplicate symbol _llvm.embedded.module in: /Users/dengw/360Cloud/xcode_code/application/OnceNote/Pods/ShareSDK3/libraries/extends/WeChatSDK/libWeChatSDK.a(MTAEvent.o) /Users/dengw/360Cloud/xcode_code/application/OnceNote/Pods/ShareSDK3/libraries/extends/WeChatSDK/libWeChatSDK.a(MTATestSpeed.o) ld: 24 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
原因:使用的这个第三方SDK的静态库,就是.a后缀的文件,不支持模拟器指令集,因为模拟器是电脑的CPU, x86_64构架。
解决方案:build或run时,选择“iOS Device”,使用真机调试。或者,添加模拟器使用库。
2.自定义日志输出
//自定义日志输出 #ifdef DEBUG //调试状态 #define XLog(...) NSLog(@"%s line:%d\n %@ \n\n", __func__, __LINE__, [NSString stringWithFormat:__VA_ARGS__]) #else //发布状态 #define XLog(...) #endif
通过NSLog()可以使用%@格式说明符来输出对象。NSLog()处理%@说明符时,它会询问参数列表中相应的对象以得到这个对象的描述。从技术上讲,就是NSLog()给这个对象发送描述消息,然后对象的description方法生成一个NSString并返回。之后NSLog()在其输出中包含这个字符串。在类中添加description方法就可以自定义NSLog()如何输出对象。
3.cocoapods使用问题
使用pod install命令时,卡在Updating local specs repositories不动。
解决办法:“pod install” 换成“pod install --verbose --no-repo-update”命令,前面的命令被墙了。
4.The operation couldn’t be completed. (LaunchServicesError error 0.)
解决办法:退出Xcode,退出Simulator,一定要完全退出。
5.包含的文件找不到
1)libxml/parser.h file not found
解决方法:在Xcode菜单 Project->Project Settings的All标签,搜索 Header Search Path ,添加/usr/include/libxml2 即可。
6.设置UISearchBar取消按钮
UISearchBar *searchBar = [[UISearchBar alloc] init]; //显示取消按钮 [searchBar setShowsCancelButton:YES animated:YES]; //设置取消按钮的文字(默认是cancel) for (UIView *view in [[searchBar.subviews lastObject] subviews]) { if ([view isKindOfClass:[UIButton class]]) { UIButton *cancelBtn = (UIButton *)view; [cancelBtn setTitle:@"取消" forState:UIControlStateNormal]; } }
7.真机调试team ID not found问题
问题:No valid signing identities (i.e. certificate and private key pair) matching the team ID “***********” were found.
注:通常这种情况出现在下载并打开别人项目时
解决方案:
1)、将Build Setting里面的Code Signing更改为自己的证书;
2)、尝试修改target -> General -> Identity -> Team,将其值修改为None(通常不能被修改);
3)、若2不成功,则针对项目的target复制多一份副本,
选择Duplicate;
4)、将复制后的target的Team设置为None;
5)、选择当前运行target为复制并更改后的副本,Run;
至此,该问题已经解决。
8.Xcode编译C++
将.cpp改成.mm
9.添加类名前缀
Build Setting页,右侧Project Document-->Class Prefix项
10.Xcode中无法从Button到View Controller拖线
原因:xib 或者 storyboard中的那个viewController 跟你要链接的那个Controller没对应上。
解决方案:在xib 或者 storyboard里,在class里写一下那个类名即可。
......
【扫描关注更多干货】
公众号:xiaoniu
相关文章推荐
- iOS开发 Block的用法
- iOS 8 AutoLayout与Size Class
- iOS 9 Auto Layout界面自动布局系列6-自适应布局
- iOS 8 Auto Layout界面自动布局系列5-自身内容尺寸约束、修改约束、布局动画
- IOS消息推送之APNS
- iOS开发多线程篇—多线程简单介绍
- iOS 的播放影片
- iOS代理模式设置方法
- iOS笔记--oc语法8 (@synthesize和@dynamic的区别)
- iOS常用的第三方库
- iOS设计模式——Category
- iOS 开发者必不可少的 75 个工具
- iOS开发常见问题
- Model-View-ViewModel for iOS
- iOS之viewController瘦身
- iOS之xcode
- iOS-设计模式之代理反向传值
- 关于oc中得import和include引用方法
- iOS 添加 Watch OS 1 应用后无法运行 An error was encountered while running (Domain = LaunchServicesError, Code = 0)
- nagios安装配置