iOS开发之Debug
十万个逗
这个作者很懒,什么都没留下…
展开
-
iOS开发Debug之应用在Release模式下崩溃
背景:应用程序打包上线后,成不部分功能使用时崩溃,在线下自己运行的Debug版本的Demo没有问题,切换成分Relase版本后也出现奔溃。原因:打包时候,编译器对代码进行了优化(编译策略),Debug模式下的编译策略为[-O0],Release下为[-Os]。解决方法:TARGETS->Build Settings ->optimization level->None[-O0]....原创 2018-07-07 12:36:10 · 1053 阅读 · 0 评论 -
iOS开发Debug之"ERROR ITMS-90717: Invalid App Store Icon. "
背景:提交APP到Appstore提示“ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'xxx.app' can't be transparent nor contain an alpha channel."原因:提交的工程中的icon中有透明图层。可能是设计切了透明圆原创 2017-12-29 20:50:39 · 1342 阅读 · 0 评论 -
iOS开发Debug之"The file “Info.plist” couldn’t be opened because there is no such file"
背景:新建项目更改项目结构目录,运行时报错“The file“Info.plist” couldn’t be opened because there is no such file”。原因:更改结构后Info.plist文件找不到了。解决方法:工程->targets->Build Settings->Packaging->Info.plist File 修正路径原创 2017-12-29 20:23:20 · 1107 阅读 · 0 评论 -
iOS开发Debug之"[framework] CUICatalog: Invalid asset name supplied: ''"
背景:运行工程时,控制台打印“[framework] CUICatalog: Invalid asset name supplied: ''”错误。原因:代码中有类似[UIImageimageNamed:@""]的地方,图片赋值为nil等。解决办法:1、通过查找工程里所有用到imageNamed的地方进行修改。2、通过断点找到位置修改。如下。Conditio原创 2017-12-28 21:22:47 · 1804 阅读 · 0 评论 -
iOS开发Debug之Code=3000 "未找到应用程序的“aps-environment”的授权字符串"
背景:项目中用到推送添加后报错如下:didFailToRegisterForRemoteNotificationsWithError Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo={NSLocalizedDescription=未找到应用程序的“aps-environme原创 2017-12-28 20:40:33 · 276 阅读 · 0 评论 -
iOS开发之Debug之"Missing Marketing Icon"
背景:Xcode9提交App到App Store操作到倒数第二步,提示WARNING ITMS-90704: "Missing Marketing Icon. iOS Apps must include a 1024x1024px Marketing Icon in PNG format. Apps that do not include the Marketing Icon cannot b原创 2017-10-12 10:57:07 · 541 阅读 · 0 评论 -
iOS开发之Debug之iOS11相册权限
背景:升级iOS11后,相册权限发生变化。变化:相册权限需要在info.plist—Property List文件中添加相应键值对,描述文字不能为空。iOS11之前:NSPhotoLibraryUsageDescription:访问相册和存储照片到相册(读写),需要用户授权。iOS11之后:NSPhotoLibraryUsageDescription:默认开启访问相原创 2017-10-10 10:58:46 · 7886 阅读 · 0 评论 -
iOS开发Debug之Xcode9"Preparing debugger support for iPhone"
背景:升级Xcode 9之后,连接真机调试,出现iPhone is busy:"Preparing debugger support for iPhone 然后菊花。。。解决办法:等。十几分钟后就好了。原创 2017-10-09 15:07:33 · 9470 阅读 · 0 评论 -
iOS开发Debug之上架APPStore的构建版本消失
背景:打包完ipa后上传到APPStore后显示构建版本后消失或者在iTunes Connect-我的APP-活动中,看见提交版本正在处理后消失。原因:1、APP中使用了私有的API,导致构建版本代码审核失败。2、APP中的用户权限没有添加。比如相机和相册权限漏了其中一个。解决办法:这种问题一般都会在开发者的绑定邮箱里会发现邮件,邮件中会有相关原因说明。根据原因解决即可。原创 2018-01-19 10:48:45 · 1117 阅读 · 0 评论 -
iOS开发Debug之“Safe Area Layout Guide before iOS 9.0”报错
背景:Xcode 9,新建工程,运行报错。/Users/XXX/XXX/Base.lproj/LaunchScreen.storyboard:6Tk-OE-BBY: error: Safe Area Layout Guide before iOS 9.0。原因:Xcode9中引入新特性Safe Area Layout Guide代替之前的Top、Bottom Lauout Guide。解决方法:已原创 2018-01-19 11:02:59 · 438 阅读 · 0 评论 -
iOSDebug之CocoaPods下载时报错“[Xcodeproj] Unknown object version.”
背景:新建工程,使用Xcode9.3.1,使用CocoaPods下载三方的时候,报错“[Xcodeproj] Unknown object version.”原因:xcodeproj的版本太旧需要升级。解决方法:gem update xcodeproj。去更新xcodeproj到1.5.9。注:我直接更新的gem。...原创 2018-05-29 09:45:35 · 375 阅读 · 0 评论 -
iOS开发Debug之单行刷新TabbleView崩溃
背景:调用单行刷新TabbleView操作崩溃问题。- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation;解决方法: [self.tableView beginUpdates]; [self.tableView reloadSections:[[...原创 2018-04-29 09:21:34 · 484 阅读 · 0 评论 -
iOS开发Debug之苹果开发者账号需要绑定电话号码
背景:最近很多苹果开发者账号编辑电话号码不好用,或者需要安全问题又不记得。解决方法:手机登录开发者账号,更改电话即可。设置->Apple ID->登录开发者账号->姓名、电话号码、电子件->离线方式->编辑->更改电话->验证码->完成。注:这个之前是不好用的,2018.04.25号才修复好了。...原创 2018-04-25 10:24:41 · 1053 阅读 · 0 评论 -
iOS开发Debug之‘[!] The 'Pods-Projects' target has frameworks with conflicting names:xxxx’
背景:使用cocoaPod拉取三方库时候报错:[!] The 'Pods-Projects' target has frameworks with conflicting names:xxxx。原因:有两个三方库中含有相同的库。解决:打开你的Podfile.lock 搜索“xxxx”,看看哪些库冲突了,选择项处理。...原创 2018-03-31 20:43:15 · 3626 阅读 · 0 评论 -
iOS开发Debug之‘Unknown class ViewController in Interface Builder file’
背景:新建工程运行报错。原因:删掉系统创建的ViewController。解决办法:不建议删除storyboard1、删除info.plist里面的Main storyboard file base name键值对并取消Main.storyboard里面的Use as Launch Guides选项2、修改Main.storyboard里面的Custom Class为你想要的页面...原创 2018-03-31 20:33:50 · 744 阅读 · 0 评论 -
iOS开发Debug之‘System group container for systemgroup.com.apple.configurationprofiles path is xxx’
背景:新项目报错原因:权限没有添加/添加不全解决办法:添加相应的权限。注:使用相机或者相册时,相机和相册权限需要都添加。Privacy - Camera Usage DescriptionPrivacy - Photo Library Usage DescriptioniOS11相机相册权限:iOS开发之Debug之iOS11相册权限...原创 2018-03-31 20:19:34 · 5674 阅读 · 0 评论 -
iOS开发Debug之 Could not build module 'UIKit'/Framework或Unknown type name 'XXX'
背景:运行很久之前的项目报错。Could not build module 'UIKit'Could not build module FrameworkUnknown type name 'XXX'解决方法:建议在头文件上#ifdef __OBJC__#import <UIKit/UIKit.h> #import XXX.h#endif...原创 2018-03-31 19:44:22 · 589 阅读 · 0 评论 -
iOS开发Debug之“Swap file ".podfile.swp" already exists! ”
背景:使用vim编辑podfile文件时候报错“Swap file ".podfile.swp" already exists! ”。原因:使用vim编辑文本的时候时候会生成一个swp的备份文件,正常操作退出vim时候会自动删除,否则则会留下,下次vim的时候就会报错。解决办法:在终端进入podfile所在目录下:运行 rm .podfile.swp 删除即可。...原创 2018-02-28 17:55:50 · 381 阅读 · 0 评论 -
iOS开发之Debug之unrecognized selector sent to instancexxx
导致[xxx yyy]:unrecognized selector sent toinstance zzz的原因有很多种,一般根据xxx 和 yyy 甚至 zzz来判断出错原因和位置。在此,举几个常见的例子。1、对象提前释放。2、对象的类型或自定义方法使用错误。3、导入第三方库导致无法确定报错。解决方案:1、2 这两类问题,需要检查代码,找到出错位置。3类问题在工原创 2017-09-09 18:22:35 · 276 阅读 · 0 评论 -
iOSDebug之.framework导入后找不到头文件
背景:打包一个静态库.framework文件,在自己电脑上显示正常,发给别人显示错误,找不到头文件。现象:工程里:正常的库显示异常的库显示文件夹里:正常的文件显示:异常的文件显示:现象总结:正常的库文件夹下面结构中包含headers 和 resources 两个替身文件,分别指向versions文件下的对应目录。其中heade原创 2017-08-29 11:58:48 · 7635 阅读 · 0 评论 -
iOS开发之Debug之ld: framework not found XXX
背景:工程能正常运行,更换了工程中的某个文件或者.a文件出现以下错误:ld: framework not found XXXclang: error: linker command failed with exit code 1 (use -v to see invocation)1、确定工程中有xxx文件2、确定工程中没有import“.m”的错误导入3、确定文件路径设置原创 2017-09-06 10:05:00 · 19714 阅读 · 2 评论 -
iOS开发Debug之Xcode 8的Swift版本不兼容
更新Xcode8之后之前用Swift2.3写的程序运行不起来。原因:Xcode 8 兼容Swift 2.3 和 3.0 两种版本,默认为3.0解决方法:Target - Build Settings选择Yes即可。原创 2016-09-30 09:38:44 · 3603 阅读 · 0 评论 -
iOS开发Debug之The certificate used to sign "XXX" has either expired or has been revoked。
Xcode 8 启用自动证书管理,在https://developer.apple.com/account/ios/device/这里不小心误删证书等原因,导致程序运行是报错“The certificate used to sign "XXX" has either expired or has been revoked。” 然而Clean(Shift+Command+K)也没效果。原因:原创 2016-09-28 14:49:59 · 1709 阅读 · 0 评论 -
iOS开发Debug之Xcode7.0及IOS9.0的问题
随着ios 9.0的推出,xcode也要更新到对应的版本即xcode7(6.1已经不能用了)更新之后就出来问题了。1.APP内访问必须使用HTTPS协议。但是之前绝大多数都是使用HTTP协议。解决方法:在Info.plist中添加NSAppTransportSecurity,类型为字典, 在NSAppTransportSecurity下添加NSAllowsArbit原创 2015-11-16 16:38:43 · 789 阅读 · 0 评论 -
iOS开发Debug之Xcode证书问题报错
转自:点击打开链接1、确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。2、证书失效了,去开发者中心重新生成一个。3、包标识符不与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Issue,点完后 Xcode 会自己生成一个包含统配包标识符的描述文件,并转载 2016-02-26 09:53:29 · 875 阅读 · 0 评论 -
iOS开发Debug之Xcode8证书报错问题
更新Xcode 8之后,老的程序在运行或者打包的时候胡提示证书错误的提示。原因:Xcode 8 新增加了个自动管理(配置)证书的功能,当然可以手动配置。解决办法:1.Target - General - Singing- 勾选 Automatically manage signing等配置完成,重新运行即可。2.如果不喜欢手动配置见下图在上面两个 Im原创 2016-09-28 14:36:00 · 1190 阅读 · 0 评论 -
iOS开发Debug之图片抗锯齿
1.用图片的时候,对图片旋转等操作可能会使图片边上出现锯齿2.在图片上用drawRect画线的时候,会出现锯齿。解决办法:1.在info.plist中打开抗锯齿,但是会对影响整个应用的渲染速度;Renders with group opacity = YES (UIViewEdgeAntialiasing)Renders with edge antialiasing = YES原创 2016-10-12 09:42:01 · 1782 阅读 · 0 评论 -
iOS开发Debug之Xcode8.0上传版本问题
更新了iOS 10,Xcode8之后上传构建版本之后,在iTunesConnect上面看不到构建版本的加号 或者显示构建版本无效。原因:iOS10之后需要对访问用户隐私的的权限的字段添加描述,不加描述只加字段无效。解决办法:在info.plist 添加相应权限的字段及描述(即后面的中文)。根据自己APP的需要使用的权限添加相应的字段和描述。常用相应权限及描述:原创 2016-09-23 11:00:44 · 1201 阅读 · 0 评论 -
iOS开发Debug之去掉tableView的headerview的粘性
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGFloat sectionHeaderHeight =21;//21为hearderview的高度 if (scrollView.contentOffset.ycontentOffset.y>=0) { scrollVie原创 2016-02-25 22:32:02 · 376 阅读 · 0 评论 -
iOS开发Debug之单个页面强制横屏
APP只支持竖屏,有些页面血药横屏,比如视频全屏播放。解决方法:1.AppDelegate.h 里@property (nonatomic, assign) BOOL allowRotation; // 标记是否可以旋转2.AppDelegate.m 里- (UIInterfaceOrientationMask)application:(UIApplicatio原创 2016-10-16 10:18:32 · 280 阅读 · 0 评论 -
iOS开发Debug之CocoaPods安装可能遇到的问题
转自:点击打开链接(1)在终端输入以下命令:pod repo list结果为0 repos时说明安装不成功,自己可以查看下自己的安装步骤,看看是哪一步出现了问题。(2)出现以下错误:ERROR: While executing gem ... (Errno::EPERM)Operation not permitted - /usr/bin/xcodeproj转载 2016-11-08 16:00:18 · 557 阅读 · 0 评论 -
iOS开发Debug之上架根证书过期问题
从16年2月14号开始,上传AppStore时可能会碰到这个问题:Failed to locate or generate matching signing assetsXcode attempted to locate or generate matching signing assets and failed to do so because of the following原创 2016-02-16 14:11:21 · 3304 阅读 · 3 评论 -
iOS开发Debug之内存释放(C-types)
ARC下不是什么东西都能自动释放的。比如C-types的对象就无法自动释放,需要手动释放。例:UIImage* image = [UIImage imageWithCGImage:mageRef];CGImageRelease(ImageRef);UIGraphicsEndImageContext();原创 2017-04-30 10:05:45 · 405 阅读 · 0 评论 -
iOS开发Debug之UIAlertViewController在iPad弹出崩溃问题
UIAlertViewController在iPad(iOS8)弹出崩溃问题。解决方法:弹出之前加上以下代码即可。UIPopoverPresentationController *popover =alertController.popoverPresentationController;popover.sourceView = btn;popover.sourceRe原创 2017-04-30 10:02:09 · 2383 阅读 · 1 评论 -
iOS开发Debug之不灭屏失效
保持系统常亮: [[UIApplication sharedApplication] setIdleTimerDisabled:YES];但是在调用相机之后这个设置貌似失效了。是因为调用相机结束后,系统自动将其设为NO。解决办法:-(void)resetIdleTimerDisabled{ [[UIApplication sharedApplication原创 2017-03-30 13:20:17 · 2640 阅读 · 0 评论 -
iOS开发Debug之Button点击不响应
1、Button 或者 添加Button的视图的 userInteractionEnabled 属性为NO;改为YES即可。2、修改Button的frame时,Button的frame超过父View的frame。 将Button的frame调整到不超过父View的frame即可。3、Button上面添加view,view将拦截点击事件。将view的userInteractionEnable原创 2017-03-30 11:35:50 · 786 阅读 · 0 评论 -
iOS开发Debug之date转换string-8小时问题
1.转换string多了8小时- (NSString*)dateAsString:(NSDate*)date { NSTimeZone *timeZone=[NSTimeZonetimeZoneWithName:@"UTC"]; NSDateFormatter *formatter=[[NSDateFormatteralloc] init];转载 2017-01-25 00:13:44 · 1572 阅读 · 0 评论 -
iOS开发Debug之获取UITextField当前显示的内容
问题现状:我们可以用-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string来获取当前textfield上显示的文字。但是在iOS7以上当输入中文的时候,到最后只会识别到的只是拼音的字符串,比如:输原创 2016-12-02 11:27:18 · 764 阅读 · 0 评论 -
iOS开发Debug之CocoaPods编辑Podfile失效
问题现象:新版的CocoaPods的vim Podfile编辑之后不好用。问题原因:新版的coco的vim Podfile格式变了。解决方法:原格式:platform :ios,'9.0'pod 'MBProgressHUD', '~> 0.9.2'新格式:platform :ios, '9.0' target "项目名" do pod "MBProg原创 2016-12-01 09:11:17 · 755 阅读 · 0 评论 -
iOS开发Debug之20像素的空白
在写程序的时候,隐藏导航栏之后会多出20像素高的空白。解决办法:self.automaticallyAdjustsScrollViewInsets =NO; 类似的,当见面中有UITableView或者UIScrollView的时候顶部也会出现20像素的空白。解决办法:if ([[UIDevice currentDevice] systemVersion].floatValue原创 2016-03-07 13:25:21 · 722 阅读 · 0 评论