精华内容
下载资源
问答
  • ios12闪退
    2021-06-10 16:41:26
    项目根目录
    cd ios/
    pod update
    pod install
    flutter clean
    如果还报错,在xcode中run一下,查看报错信息
    更多相关内容
  • 第一次真机测试时,项目终于进入真机测试阶段,之前都是在Unity编辑环境下开发测试,运行的都很良好,信心满满的打包安装,结果闪退。。。,各种代码调试,跟踪都没什么线索。这怎么办?问题很可能出在了AOT的设置上...
  • unity ios 启动闪退

    2017-03-28 15:31:23
    应用于解决unity ios工程包启动时闪退的问题
  • iOS实现保护APP不闪退

    2018-11-21 15:19:16
    iOS实现保护APP不闪退 可以通过 cocoapods 引入 pod 'JJException' 附件为使用 Dome
  • iOS App 有时可能遇到启动必 crash 的绝境:每次打开 App 都闪退,无法正常使用App。下面这篇文章主要给大家介绍了iOS App连续闪退时上报crash日志的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考...
  • 为了尝试解决这个问题,微信读书开发了iOS连续闪退保护工具:GYBootingProtection,检测连续闪退,在连续闪退出现时,尝试自修复App:本文探讨了连续闪退问题的产生原因、检测、修复机制,以及如何在你的项目中引入...
  • 主要介绍了IOS10 相册相机闪退bug解决办法的相关资料,需要的朋友可以参考下
  • 在开发过程中往往会遇见有个别用户或者测试人员反馈app的闪退现象,而项目一般集成的统计闪退的第三方库是笼统的统计了所有的闪退信息,无法去定位某一个用户提出的某一个时间点的某一个闪退问题,于是乎这个时候...

    在开发过程中往往会遇见有个别用户或者测试人员反馈app的闪退现象,而项目一般集成的统计闪退的第三方库是笼统的统计了所有的闪退信息,无法去定位某一个用户提出的某一个时间点的某一个闪退问题,于是乎这个时候需要我们能快速的去获取指定用户提出的指定闪退,并能够解析闪退日志,快速的定位到问题。下面将自己的做法大概的做个总结(可能还有别的方法,但是我觉得下面讲述的方法已经足够了)。

    一、收集闪退日志

    先和用户确定iPhone是否打开如下设置(以iOS12.0的iPhone为参考):

    设置->隐私->分析->共享iPhone分析->与应用开发者共享

    只有打开了上述设置闪退日志才会被收集,然后进入设置->隐私->分析->分析数据,找到以自己项目开头拼接出现闪退大致时间点文件名的ips文件。

    二、解析闪退日志

    1.如果还能找到用户反馈有问题的app 当时打包时相对应的项目源码,那么就很简单了

    获取到的.ips文件双击打开是没有解析的日志,现在需要修改后缀名为.crash,然后双击打开出现下面的弹窗
    iOS

    可以选中当时打包的项目,预览并且打开,这时候你会发现打开后的项目会显示闪退的地方。

    没错,就是这么简单。不过前提条件是你还有当时打包的项目源码,不然要是用当前闪退所在文件改动过的源码,定位的位置是不对的。

    2.不能找到打包时的项目源码,但是可以找到当时打包的dSYM文件

    具体步骤:

    1.首先在桌面新建一个文件夹crashFile,用于存放解析闪退日志用到的文件。

    2.找到前面获取到的.ips文件,拷贝.ips文件放到crashFile中

    3.获取symbolicatecrash文件。

    找到当时打包所用的xcode(可能笔记本安装了好几个Xcode),然后进入下面的路径:/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

    拷贝symbolicatecrash工具拷贝到crashFile中

    4.获取dSYM文件

    从当时打包的xcode->Window->Organizer->Archives找到当时的xcarchive文件,选中xcarchive文件右键点击【显示包内容】,拷贝dSYMs文件下的.dSYM文件,放到crashFile中。

    至此,crashFile文件中总共有3个文件:.ips文件、symbolicatecrash工具、.dSYM文件。

    1. 打开终端,cd到crashFile文件夹中

    2. 输入命令

    ./symbolicatecrash Agent-2020-02-21-124913.ips Agent.app.dSYM > crash.log
    这时候会发现crashFile文件夹下多了个crash.log文件

    双击打开crash.log文件,你会发现崩溃信息已经成功解析

    好了,大功告成!!!

    下面将附上参考的地址(可以验证闪退的ips文件和dsym文件对应的app是否是同一个):

    https://www.cnblogs.com/mukekeheart/p/9449189.html

    https://hacpai.com/article/1533042075262

    https://www.jianshu.com/p/e5ad706e4196

    展开全文
  • ios应用升级到ios15后闪退

    千次阅读 2021-10-10 20:13:44
    最近苹果发布了最新的ios15系统,本来皆大欢喜,结果悲剧的是,我们产品在ios15的系统上必定闪退。还好内部第一时间发现了问题,此时升级ios15的用户较少,我们有时间去解决问题,要是等到用户发现问题,那就炸了。 ...

    最近苹果发布了最新的ios15系统,本来皆大欢喜,结果悲剧的是,我们产品在ios15的系统上必定闪退。还好内部第一时间发现了问题,此时升级ios15的用户较少,我们有时间去解决问题,要是等到用户发现问题,那就炸了。

    先说明一下,我们产品是unity开发的一款游戏,而且闪退现象很奇怪,卸载重装后,第一次进入游戏没有任何问题,从第二次开始,一点击图标进游戏,瞬间就闪退,由于闪退过快,连相关日志都没有,很头痛。然后网上查,百度谷歌各种,都没什么线索,基本没有和我们类似的问题。后来怀疑是什么库在ios15不兼容,然后一点一点删除库,不断打包尝试,未果。

    后来,把unity版本升级了,升级到了较新的版本,xcode版本也升级到了新版本,然后就好了。。。。。莫名其妙,不管怎样,问题解决了就是好事,记录一下吧,希望对其他人有帮助。(虽然这问题很奇葩,估计大家也不会遇到)。

    展开全文
  • iOS App连续闪退检测及对应处理

    千次阅读 2022-01-02 11:14:41
    最近线上出了一次事故, 在退出登录时, 正常的用户在退出登录时会清除成功userDefault中的数据,一般只会crash一次,但是有个用户比较特殊, 出现了连续闪退, 主要原因就是userDefault中的数据没有清除成功, 下次再启动...

    线上出了一次事故, 在退出登录时, 正常的用户在退出登录时会清除成功userDefault中的数据,一般只会crash一次,再次打开就会正常,但是有个用户比较特殊, 出现了连续闪退, 主要原因就是userDefault中的数据没有清除成功, 下次再启动app, 从userDefault中获取数据还认为是登录中的状态, 然后再次crash, 这样就陷入了死循环,导致只要打开app就会crash, 只有卸载重装才能解决问题.

    先来说说为什么这个用户比较特殊, 这是一个公司内部的用户, app一直都是覆盖安装, 随着版本的迭代,迭代了3,4年, userDefault中数据越来越多, 查看此用户的沙盒文件, 系统默认的userDefault大小竟然有20M,文件太大导致退出登录时,清除某个key太慢, 此时发生了crash,userDefault中的数据抹除失败, 陷入死循环.

    自己写了一个demo试了一下, 当数据量很大时,确实会出现这样的情况, 前2个key写入成功, 第三个key还是原来的旧值, 即使加上了-synchronize也不管用.

    确认了问题, 除了正常解决crash之外, 还想到了2种方式来补救.

    NSUserDefault 用法优化

    userdefault中不适合存较大数据, 但是业务上也确实需要这么多key来标记用户的某些状态, 比如当天是否签到, 比如是否展示过引导图, ...

    发现系统在NSUserDefault中提供其他的初始化方法, 这样就可以按照不同的业务线或者按照功能来区分, 不要一股脑的都往默认的standardUserDefaults写入数据.

    - (instancetype)initWithSuiteName:(NSString *)suitename NS_DESIGNATED_INITIALIZER;

    比如

    // 设置值
        NSUserDefaults *userDefault = [[NSUserDefaults alloc] initWithSuiteName:@"abc"];
        [userDefault setObject:@"1" forKey:@"1"];
    
    // 另一个方法中获取值
        NSUserDefaults *userDefault = [[NSUserDefaults alloc] initWithSuiteName:@"abc"];
        NSString *value = [userDefault objectForKey:@"1"];
        NSLog(@"SuiteName:abc -- %@",value);

    这个方法会在和默认的standardUserDefaults平级目录下记录一个文件, 其他用法和standardUserDefaults一模一样. 这样就达到了减少standardUserDefaults大小的目的了.

     连续闪退的优化

    这个的做法就是检测到发生连续闪退时, 手动抹掉沙盒路径下的所有文件, 把所有的文件抹除后, 这个app其实就和刚从商店下载的一样了.

    首先我们需要一种比较可靠的方式,可以在 app 启动时判断上次是否发生了启动 crash。介绍一个可行的思路。

    如何检测连续闪退

    连续闪退包含两个元素,闪退和连续。只有这两个元素同时具备时,才会判定为YES。闪退的定义可以简单为连续2次启动的间隔小于5s

    app 本次启动时间 -  app上次启动时间 <= 5s (或者其他 threshold)
    

    连续的定义为,至少接连出现两次或者以上。一般 2 次就够了,很多时候用户连续经历两次闪退,就会放弃尝试。

    我们可以通过记录若干个特殊的时间点 timestamp 来试图还原 App crash 场景下的生命周期。

    • App 启动 timestamp,定义为 launchTs

      App 每次启动时,记录当前时间,写入时间数组。

    • App 正常退出 timestamp,定义为 terminateTs

      App 在接收到 UIApplicationWillTerminateNotification 通知时,记录当前时间戳,写入时间数组。注意,还有很多种 App 退出行为的时间戳是无法被准确记录的。

    之所以要记录 terminateTs,是为了排除一种特殊情况,即用户启动 App 之后立即手动 kill app。如果我们正确记录了上面的时间戳,那么我们可以得到一个与 App crash 行为相关的时间线。比如:

    launchTs => launchTs => launchTs
    

    或者

    launchTs => launchTs => terminateTs => launchTs
    

    第一种情况下, 如果launch3-launch2<5 && launch2-launch1<5  , 那就判定为触发了2次闪退.

    第二种情况, 由于launch2和launch3之间有一个terminateTs, 判定为只触发了一次闪退, 不满足连续闪退的条件.

    这个时间线只是记录的 App 启动和退出行为,还有很多特殊的时间点没有记录,比如 App 在 前台发生 out of memory(FOOM),App 在前台 main thread 卡住被系统 Watch Dog 杀掉,iOS 系统升级时 App 被强杀,App 从 AppStore 升级时被强杀等等,这些特殊的时间点都没有记录,不过这些并不影响我们的 App 连续闪退检测,所以可以忽略。

    这里指的注意的是,因为启动时要从 disk 读取时间线记录,涉及磁盘读写,会对 App 的启动时间产生影响,一个优化点是有一个独立的USerDefault存贮这些信息,同时在每次写入时间点移除掉较老的 timestamp,比如只记录最近 5 个时间戳。

    有了这个判定之后, 在didFinishLaunchingWithOptions中就可以处理连续闪退, 可以弹窗让用户选择,或者到一个新页面进行处理都可以.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        if (连续发生闪退) {
            // 弹窗让用户选择是否要抹除app的所有数据,
            // 如果用户选择了YES, 清理沙盒下的所有数据, 并上报服务器
            exit(0);
        }
        // 正常的业务代码
    
        return YES;
    }

    最后, 清除沙盒数据只能是解决本地数据导致的问题, 如果是代码本身的问题, 那就是只有通过发版来解决了. 

    bugly本身也提供了类似的方法,连续crash3次的会返回YES,  3次感觉有点多了, 可以使用2种方式相结合作为触发连续crash的条件. 如果我们的判断失效, bugly 的方法也可以作为连续闪退修复的触发场景

    参考文章: iOS App 连续闪退时如何上报crash日志

    展开全文
  • ios app的闪退异常的处理,ios app的闪退异常的处理的代码的实现。
  • iOS闪退的原因和方案总结

    千次阅读 2019-03-05 14:40:12
    没错,获取相册资源的键值就是NSPhotoLibraryUsageDescription 通过类似事情,说明iOS10对用户的隐私又做了进一步加强,就好像当初iOS8对定位隐私进行加强一样,作为开发者的我们貌似也是应该时刻保持这种对新知识...
  • 前言升级iOS11系统的手机使用我们app的拍照功能时闪退,经过查看代码发现是 writeImageToSavedPhotosAlbum这个方法引起的官方文档这是这样解释的:... iOS) This key lets you describe the ...
  • ios Crash闪退日志获取和上传至服务器
  • unity ios程序闪退问题

    千次阅读 2016-10-20 13:13:18
    nimt-trampolines=2048
  • iOS app闪退的一般原因

    2016-01-06 16:23:00
    1.函数无限递归爆栈(表视图返回Cell和返回行高的方法互相调用)2.某对象无法解析某个方法(没做类型转换、或者代理没实现某个方法)3.访问了某个已经被释放的对象(ARC之后不太有)4.从Bundle加载了不存在或者不...
  • iOS程序闪退的原因以及处理办法

    千次阅读 2019-10-07 14:05:51
    iOS程序闪退是一种比较常见的现象。闪退的情况很多,造成程序闪退的原因也很多。 ================================启动时闪退=================================== 情况一: 秒退是发生在程序刚刚启动的时候,在...
  • 这个时候,我们可以用XCode打开, 运行ios 模拟器比如 IPhone 8 Plus, 当模拟器出现闪退或白屏时, 1: 查看XCode console中是否有错误信息。2: 浏览器中输入 http://localhost:8080/ , 打开开发工具(Developer ...
  • Android&iOS闪退日志获取

    千次阅读 2022-01-17 17:48:21
     iOS闪退日志获取 1、使用itunes工具 因为崩溃日志是保存在手机上的,将手机连接电脑,同步itunes,会将崩溃日志保存到电脑中,默认目录为:~/Library/Logs/CrashReporter/MobileDevice/ 2、使用xcode工具 手机连接...
  • RN:记一次IOS release 闪退问题的排查

    千次阅读 2020-04-28 09:43:51
    RN:debug包一切正常,打了release包就闪退。 Xcode 如图方式 选择release 包打到手机上,然后启动APP。 然后在控制台上就会打印出很多相关内容。根据对应内容排查问题。 PS:我的由于RN和原生产生交互就会闪退,...
  • iOS App 闪退监测

    千次阅读 2018-04-22 18:02:49
    线上 App 连续闪退是一种极其恶劣和可怕的故障,可怕之处在于,发生大面积连续闪退且无法被监控时,你正哼着小曲敲着代码,老板突然发现自己手机上 App 启动不了了,一打开 AppStore,发现一星差评潮水般涌来,如果...
  • Unity适配iOS14时app闪退原因之一

    千次阅读 2020-09-23 16:11:08
    最近在iOS14设备上测试app,由于之前没注意修改info.plist中BundleName属性,一直写的是中文名称,在iOS14之前的设备上没有闪退情况,但是换到iOS14设备后就出现闪退情况。 解决方法:info.plist中的BundleName属性...
  • 9月14日凌晨1点,苹果推送了iOS10,于是一上班就迅速升级了iOS10,然后坑就这样开始了。。。 问题1 首先是xcode的问题,发现xcode升级到8才能真机运行,于是先了解了下iOS10的适配。 有这个iOS10适配总结,还有这个...
  • iOS14发布之后,运行APP就出现闪退,和机型没关,只要是iOS 14就必闪退 崩溃分析 1、启动就闪退,多起几次可能有一次没有问题。 2、启动后到某个页面卡死(必卡跳不过) 根本原因尚不明确,个人分析Product Name会...
  • 问题描述最近项目出现一个bug,升级iOS11系统的手机使用我们app保存图片到相册或者拍照会闪退。经过一番查找,发现是下面代码导致的:UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);一开始以为是该函数的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,746
精华内容 3,898
关键字:

ios12闪退

友情链接: SVPWM的simulink仿真.zip