Crash以及报错总结

  • 方法1:下载dSYM工具分析

dSYM分析

  • 方法2:终端cd文件反编译

由于这类的崩溃信息通常难以重现, 没有任何的重现步骤,所以我们得找到发布该版本时的原始代码,可能会需要回朔到以前的SVN或者Git版本。
然后找到当时上传代码时使用的DYSM文件,这文件通常在.xcarchive文件中。
对于成功生成archvie的项目, 在这个archive的包中, 是可以通过显示包内容, 看到DSYMs文件夹和一个products文件夹, 继续显示DSYMs文件夹下,可以看到一个xxx.app.DSYM文件,继续对它显示包内容,可以看到Contents/Resources/DWARF/xxxx文件, 这个文件是编译后的二进制文件,通过它可以进行反编译,从而找到二进制对应的源码位置。

  1. 查找.xcarchive文件位置

  2. finder--右键--前往文件夹~/Library/Developer/XCode/Archives

  3. 显示包内容:看到DSYMs文件夹和一个products文件夹, 继续显示DSYMs文件夹下,可以看到一个xxx.app.DSYM文件,继续对它显示包内容,可以看到Contents/Resources/DWARF

使用终端cd 到文件位置

cd /Users/heqin/Downloads/xxxMovie2.0.0_apps_0605_2104\ 13-6-5\ 下午9.02.xcarchive/dSYMs/xxxx.app.dSYM/Contents/Resources/DWARF

找到打开DWARF文件后执行 atos -arch armv7 -o xxxx 0x1153b9.就可以看到这处内存地址反编译回来的源码行.

CoreData: Cannot load NSManagedObjectModel.nil is an illegal URL parameter

这是因为在工程中CoreData的命名和AppDelegate中使用的命名不同造成的,可能是自己修改了CoreData文件但是忘记修改AppDelegate中相应的字符串。
将图片中的字符串改成和CoreData文件名一样就可以了。

No such file or directory ......

找不到某个文件 首先复制文件名 在Build Phases下找
浅白色说明文件找不到了

linker command failed with exit code 1(use -v to see invocation)

文件冲突 左下角搜文件
通常有两种情况 1.有两个相同文件 2.只有一个的时候command+shift+f 搜索 ~~.m 看是否引入.m

Application tried to push a nil view controller on target

试图推出空的试图控制器

must pass a class of kind UITableViewCell

注册方法是否对 打全局断点

分区头乱窜

可能是view的问题可能是frame=头的frame 所以头在相对于tableView偏移的基础上再偏移一次 改为bouns相对于自己
tableView 有自己头试图和尾视图 区的头尾有方法实现可以注册重用池也可以不用重用池[有内存问题不能释放view]

轮播图: 上下滚动时轮播图不走

因为定时器是默认状态下是defaultMode 所以在滚动UITrackingRunLoopMode时好像暂停了一样
在定时器中添加下面一段话:
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
定时器不参与引用计数 直接置空

真机测试时无法运行。报错如下:

You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library

  • 我用的是Xcode7.1 可能是第三方库不兼容。7.0以上默认开启 ENABLE_BITCODE
    三方库编译的时候没有 ENABLE_BITCODE

解决办法:
有两种: 1.修改工程设置 2.修改第三方库
第二种没研究,以后涉及会补充。
第一种:
在build setting 中搜索 enable bitcode 修改为NO

如图
如图

bitcode参考资料

真机测试 could not find developer disk image

stackoverflow上得答案
我用的是Xcode7.1 手机是9.2 真机的系统过高

解决办法:

  1. 更新Xcode
  2. 或者将 将9.2的文件添加进去 路径 /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
    ![7.1]
    (https://www.dropbox.com/s/dledmlnhb6my5x3/Xcode7.1%E6%96%87%E4%BB%B6%E5%A4%B9.png?dl=1)
    下载地址
修改相对路径

方法:
** $(SRCROOT)** /AutoLayoutAnimation/EaseUI/EaseUI-Prefix.pch

tableView Crash:

'UITableView (<UITableView: 0x7fd26b090a00; frame = (0 94; 320 568); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7fd26abdc0b0>; layer = <CALayer: 0x7fd26ab4a4e0>; contentOffset: {0, 0}; contentSize: {320, 44}>) **failed to obtain a cell from its dataSource** (<FiestViewController: 0x7fd26954c500>)'
先循环使用了cell,后又创建cell

treating unicode character as whitespace

可能是因为空格问题 重写一遍就好了

CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 9.1'

证书问题

1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer
2.重新下载你的证书,或者修改通配符,或者说修改你的appid 。选择工程 -》Bundle Identifier 修改为最新的appid 。造成这种原因是因为你修改了你的app sdk版本

16/03/26

**CUICatalog: Invalid asset name supplied: **

项目中搜索UIImage imageNamed:

Local declaration of 'XXX' hides instance variable

因为本地变量跟函数参数变量同名

'invalid nib registered for identifier (cell) - nib must contain exactly one top level object which

检查nib文件内是否拖拽了两个cell 或者其他的什么。

-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXView" nib but the view outlet was not set.'

nib文件与ViewControler没有关联成功
1, 打开nib文件
2, 点击"File's Owner", 按command+4,设置Class为xxxViewControler
3, 按Control+"Files's Owner", 里面有个默认的IBOutlet变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联

今天运行百度鹰眼Demo的时候鹰眼dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from:

按照网上说的删除缓存文件重启仍没办法解决
后来发现问题是没有serviceID AK 及 安全码的问题

[None of the input catalogs contained a matching launch image set named "XXXXX".]

缺什么就Assets.xcassets上右键新建什么就OK啦。

NSUserDefaults报错attempt to insert non-property list object

value的数据是 NULL

if ([Value isEqual:[NSNull null]])
{
Value = @"";
}

-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]’

NSArray或NSDictionary插入数据为空而造成的

'-[__NSCFString count]: unrecognized selector sent to instance 0x7ff57bee12d0'

快速定位出错位置:采用僵尸断点和全局断点

1

2
-[NSObject(NSObject)doNotRecognizeSelector:]
定位

系统已经设置中文,app内仍提示英文及复制粘贴也为英文

在Supporting Files 中的info.plist 中将 Localization native development region改为China即可

The certificate used to sign "app名" has either expired or has been revoked. An updated ....

证书失效 重新生成

Supported orientations has no common orientation with the application

检查横屏

Local declaration of 'XXX' hides instance variable

变量名重复

Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x12763b340> was mutated while being enumerated.'**

遍历数组的同时对数组进行修改

“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file”

修改HTTP

1、在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
2、在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;

Pushing the same view controller instance more than once is not supported

stackoverflow上的解答

意思就是网络极差的环境下在推出一次的情况下再次推出相同界面导致程序crash
解决办法就是先判断栈顶Controller是不是你要推出的界面

iOS10关于相机crash问题

相机权限问题
plist文件中添加Key:Privacy - Camera Usage Description

The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

终端里删除workspace 重新install

rm -rf MyProject.xcworkspace  
pod install  

关于Xcode8 日志打印

在Edit Scheme-> Run ->Arguments 中添加 Name:OS_ACTIVITY_MODE Vlue:disable

如图
如图

sdk不完全支持BitCode

ld: bitcode bundle could not be generated because '/Users/karen/Desktop/******/Tools/umeng_ios_social_sdk_4.2.5_arm64_custom/UMSocial_Sdk_4.2.5/libUMSocial_Sdk_4.2.5.a(UMSocialHTTPRequestOperation.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture armv7

libUMSocial_Sdk_4.2.5.a第三方库不包含bitcode

BitCode?
bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化程序的二进制文件,而不需要重新提交一个新的版本到App store上。
如果一个工程里面有静态库的引用,那么所有的静态库也需要打开Bitcode后重新编译。

Bitcode. When you archive for submission tothe App Store, Xcode will compile your app into an intermediate representation.The App Store will then compile the bitcode down into the 64 or 32 bitexecutables as necessary.

解决办法:

  1. 将enable关掉
  2. 给静态库的工程增加一个选项“-fembed-bitcode”

pod search 提示Unable to find a pod with name, author, summary, or descriptionmatching “****”

解决办法:

rm ~/Library/Caches/CocoaPods/search_index.json

Attempt to set a non-property-list object

保存数据类型出错NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。

Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]

是由于cellForRowAtIndexPath:返回null

React Native Xcode 8.0 报错 Ignoring return value of function declared with warn_unused_result attribute

RCTSRWebSocket.m SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t*)mask_key) 做处理,只需在该处加上(void)即可。如(void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

今儿遇到个大麻烦,公司项目要迁移到新的svn,不知道为什么CornerStone就一直连不上提示
cornerstone The operation could not be completed 查了好久怎么都不行,换一台电脑就可以。

后来将钥匙串中关于这个项目的密码删除刷新后就好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 很可能你的应用是与一个支持HTTPS传输数据的服务器交互,但是并没有使用TLS 1.2或更高。在这种情况下,你定义...
    Www刘阅读 3,053评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,424评论 25 707
  • 不管你是学生党还是上班族,是朝九晚六在冷冰冰的建筑中穿梭的白领,还是可以随意支配时间的自由职业者,“中午吃什么”、...
    斯诺史蒂芬周阅读 453评论 1 1
  • 一年光景看将尽,愁绪难驱叹此身。 膝下稚儿初识字,鬓边霜雪已催人。 凌云谁肯好风送?曳尾不甘陋巷贫。 碌碌无为虚度...
    青蔓阅读 333评论 4 6
  • 张清龙 张红霞认真记笔记
    贾中张清龙阅读 199评论 0 0