首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    解决 Flutter 引起的 iOS 内存崩溃问题

    事情发生在最近,我们的应用(稿定设计)新上线的 iOS 版本崩溃数据飙升。根据崩溃日志和用户反馈,大部分新增崩溃都来自于同一个原因:内存不足。有的直接变成 OOM,不易排查。...有的则是申请内存失败,导致后续逻辑错误的崩溃。 结合「处处开花,多点爆破」的情况来看,应该是某种偏底层的内存管理问题。这就有点挠头了,因为这个版本并没有做什么内存相关的改动。...中做了什么改动,导致了内存崩溃问题。...于是,顺藤摸瓜,我在 Flutter 的 issue 中搜索了几个关键词:iOS compress memory,第一个帖子[2]就证实了我的猜想: 文中提到了几个关键点: 2.5.3 之后的版本,内存崩溃都开始变得多...于是,我们立刻升级尝试了一下,确实不会崩溃了,我们稍加适配,就上线了。目前根据线上数据反馈,内存崩溃问题已经完美解决。

    2K10

    如何全面监控 iOS 千奇百怪的崩溃

    我们采集到的崩溃日志,主要包含的信息为: 进程信息 崩溃进程的相关信息,比如崩溃报告唯一标识符、唯一键值、设备标识; 基本信息 崩溃发生的日期、iOS 版本; 异常信息 异常类型、异常编码、异常的线程...除了崩溃率,你还可以在这个平台上能查看次数、用户数等趋势。下图展示的是某一个 App 的崩溃在不同 iOS 系统、不同 iPhone 设备、App 版本的占比情况。...同时,每个崩溃也都有自己的崩溃趋势图、iOS 系统分布图等信息,来辅助开发者跟踪崩溃修复效果。...小结 ---- 学习完今天的这篇文章,我相信你就不再是只能依赖现有工具来解决线上崩溃问题的 iOS 开发者了。在遇到那些工具无法提供信息的崩溃场景时,你也有了自己动手去收集崩溃信息的能力。...如果觉得不错,素质三连、或者点个「赞」、「在看」都是对笔者莫大的支持,谢谢各位大佬啦~ 推荐阅读 iOS 微信支付开发(更新版) iOS 支付宝支付开发(更新版) 了解「网罗开发」领书籍、源码 如有问题请留言或扫码加微信交流

    2.4K20

    iOS中解决后台返回的null导致的崩溃问题--NullSafe

    然而不怕一万,就怕万一,总会有万一的情况,而这种情况还是出现在了上线之后,一旦返回null就会让App崩溃。后来和后台沟通了一下为什么会返回null,并且希望后台不要返回null。...我们的后台使用PHP写的,后台开发人员告诉我,PHP是弱语法,返回的null也是自动生成的,有时返回的是null,有时返回的是“null”字符串,而有时返回的是“”空字符串。...于是上网查查是否有人也遇到过类似的问题,以及别人是怎么解决的,没想到真有人也遇到过这种问题,并且有解决方法。 解决后台返回的null导致的崩溃问题就是在项目中导入一个分类:NullSafe。...这个分类是一个外国的哥们写的,这个分类大概的作用就是将发送给null对象的消息发送给nil,这样就不会崩溃了。 下面的话都是网上的话,我只是重复一遍。...当我们给null发送消息的时候,会发生崩溃,而给nil发送消息不回发生崩溃。

    2.6K30

    手把手教你查看和分析iOS的crash崩溃异常

    当异常出现在没有源代码的函数内部时,唯一的方法就是去看它内部的“源代码”实现 既然出现问题是在objc_msgSend函数的第5条指令处,可以来看看这个函数实现的汇编代码指令开头片段: ;iOS10以后的...这种方法的缺点是并不是所有的代码都是开源的,而且开源的代码并不一定是你真机设备上运行的iOS版本。因此这种方法只能是一种辅助方法。...你可以在崩溃异常报告的: OS Version: iOS 10.3.3 (14G60) 部分看到产生异常的操作系统版本号,就如本文的例子里面产生异常的操作系统版本号为iOS 10.3.3。...如果崩溃函数是在某个系统库中被定义,那么可从如下的路径: ~/Library/Developer/Xcode/iOS DeviceSupport/ iOS DeviceSupport这个文件夹下的内容将展示你所有曾经联机调试过的各种操作系统版本的库的一份拷贝...苹果系统为安全对每个库的加载都采用了ASLR的方式,也就是库所加载的基地址每次运行时都是随机的,这样当某次崩溃发生时需要将产生崩溃时的地址转化为我们通过IDA工具打开的地址。

    6.6K31

    解决iOS 10 Info.plist文件缺少key崩溃的正确姿势

    这个问题很容易解决,到Info.plist文件添加对应的key值即可。但是我见很多人在问,我明明已经添加为什么仍然崩溃,reason还是同样的问题,你不解、疑惑、一遍遍尝试、直到心态爆炸......我想绝大数人都是这样添加的 ?...83C5B11E-FBC9-46D3-BED1-AB88C384BDC8.png 搜索后添加,一般来说这样做是没问题的,但是细心的人会发现这里不止一个Info.plist文件,有的项目可能有数十个,那么你在这里添加后发现仍然悲剧...原因就是你没有把key添加到正确的文件中,不废话,直接上姿图: ?...62BC4DE1-7374-4835-9221-B4D2580730CD.png 如上图找到的info才是你工程创建的info,在此添加才能百分之百保证不会错!

    1.3K40

    iOS 验证码随机出现的六位数

    首先分析一下: 要得到六位数的验证码并且要随机得到最后显示出来发给用户就是要以字符串的形式,所以我们要定义一个可变字符串追加六位数,还要有一个字符串接收数 字放到前面可变字符串里,这个数字又是随机出,所以要有一个数组存数字...,并且要随机取这个数组里面的数字,这样下来我们至少需要一个数组和一个可变字符 串,所以在 .h文件中定义 @property(nonatomic,retain)NSArray * changeArray...[[NSArray alloc] initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];//存放十个数,以备随机取...0; i<6; i++) { NSInteger index = arc4random()%([self.changeArray count]-1);//循环六次,得到一个随机数...,作为下标值取数组里面的数放到一个可变字符串里,在存放到自身定义的可变字符串 getStr = self.changeArray[index]; self.changeString

    64800

    iOS链接库的冲突

    然后就决定基于 libcurl 写了一个C++的下载模块,以替换现有的 C# 下载模块。 韩国版本在添加了下载模块进行测试时,遇到了崩溃。...使用 Release Run 时,在下载补丁那里必崩(编译是正常的),崩溃的地方是在 curl_easy_init 就挂掉了,很神奇。 最初怀疑是库的添加顺序,尝试调整顺序后发现不是。...然后使用排除法,删相关的库,发现有一个库看上去有点奇怪,解压出来发现里面引用了 OpenSSL库,而我们的下载模块也用到了这个库。...://github.com/jverkoey/iOS-Framework iOS 系统的 UIKit.framework 不需要拷贝到目标程序中,我们生成的 Framework 即便是动态的,最后还是需要拷贝到...iOS中的Embedded Framework可以理解为独立的没有main函数的可执行文件。这样就避免冲突了 注:需要注意的是 iOS 8之前是不支持动态库的,只支持静态库。 ? 否则,会报错。

    2.8K30

    WWDC22 - Apple 隐私技术探索

    苹果提供转化率、1/7/28天留存率、崩溃率和平均付款率等。图片开发者可能会有疑问,苹果这是公开开发者的数据吗?...如果是 No,在随机生成一次 Yes 或者 No,然后有 25% 概率是 假数据。因为数据有可能是假信息,所以可以避免通过用户的数据推导(定位)到指定的用户。...所以差分隐私技术能够增强数据匿名和数据汇总的隐私保护程度。这里读者可以有疑问,这样数据样本就不具有准确性了吗?所以,差分隐私技术的一个前提条件,是数据量必然很大,才能减少这些随机数据的影响。...摄像头、麦克风等也能点击查看是那个 app 在使用对应的权限了。图片粘贴板使用透明度图片在 iOS 15 中,当有 app 从粘贴板拷贝内容时,系统会发出通知,提醒用户留意此行为。...而 iOS 16 开发者粘贴来自其他 app 的内容时,需要弹窗请求用户允许,且在未经允许前,无法访问粘贴板的内容。

    1.3K20

    获取iOS设备唯一标识的演进UDID, MAC Address,UUID,IDFA,IDFV,OpenUDID

    ==== Apple公司于2013年5月1日开始,拒绝采集UDID的App上架App Store ==== iOS 5.0 之后uniqueIdentifier方法就被废弃掉了; ==== iOS...==== iOS 7.0 系统把粘贴板的访问权限限制在了同一个开发者的范围内OpenUDID失效. 所以说,现在想通过代码获取是不可能的了,如果你想看看你设备的UDID,可以通过iTunes来查看。...但是.OpenUDID是用系统粘贴板作为中间存储供所有app调用.IOS7系统把粘贴板的访问权限限制在了同一个开发者的范围内,既同一个开发者的多个app在同个设备上共享粘贴板 ,所以OpenUDID已经不可用...三.OPEN UDID 第三方最出名的莫过于此了,但是iOS7这货也无法使用了,由于iOS7对剪贴板(OpenUDID保存到剪贴版中)的限制,导致同一个设备上应用间,无法再共享一个OpenUDID。...总结 很不幸,上面所有这些表示设备唯一号的标识,在IOS7中要么被禁止使用,要么重新安装程序后两次获取的标识符不一样。

    6.5K50

    Native API 真香警告!手机原生功能调用来啦...接口丰富

    接口包含: 获取设备名称 系统类型 操作系统版本 设备识别码(游客登录可以用此标识) App 版本号 App Vercode 电池电量 网络状态 复制文字到粘贴板 获取当前粘贴板内容 选择相册等 打开...二、SDK 接口代码 NativeAPI 提供的 Demo 工程可以在 iOS、Android 端运行,但是可能要根据自己的 Cocos 引擎配置做相关更改。...如果有 iOS 安卓原生基础,可直接看关键代码文件夹中的文件,所以需要的代码都在里面。封装接口一览: ?...四、iOS 配置流程 1. 导入文件 把关键代码中的ios对应的 .h 和 .m,.mm 等文件拷贝到项目中。 ? NativeAPI-iOS接口文件 例如 Demo 工程路径:...../NativeApi/build/jsb-link/frameworks/runtime-src/proj.ios_mac/ios/ 2. 添加文件到 Xcode ?

    2.5K20

    常用工具

    get-pip脚本 各种计算器 镜像站 清华源主页 清华yum源 清华epel源 清华pip源 清华apt源 清华Node源 清华Docker源 Mac软件 gif录制工具:kap 粘贴板工具...:Maccy 截图工具:ishot Windows软件 粘贴板:CopyQ 粘贴板:Ditto Linux软件 以web形式共享你的终端:ttyd 将linux命令以HttpServer的形式共享:gotty...在线浮点数十进制转换 数据生成 UUID在线生成 开源图标生成 网络工具 IpAddress HTTP在线接口测试工具 IP地址查询 IP地址归属地查询 域名&DNS freenom免费域名 DNSPod域名解析 随机图片...API 指定尺寸的风景图 随机动画大图 随机图 生成随机头像 其他工具 工作效率 Utools iTab Ditto 图片 九宫格切图 学习 在线学习资源 数理化公式大全 工程造价在线计算器 儿童在线评测工具...Mrdoc:功能丰富的开源私有wiki系统。

    95950

    为什么什么Bug自己都能碰到呢(?

    Bug的正确处理方式? 不知道 为什么什么奇奇怪怪的Bug碰得到? 不知道 这个世界好奇怪啊 我也觉得 为什么博客的画风变得奇怪了起来?...我也不知道,可能就是觉得在VS Code里蓝蓝白白很好看吧 不要瞎搞啊Kora 为什么我在骂我自己啊,那没事了 好,回归正题 总之就是最近好像什么样的奇奇怪怪的Bug都碰上了(悲),举几个例子: 我才刚重装完...弹弹Play各种报错: 32位版本 弹弹Play,开启SVP后报错,或者直接崩溃 32位版本 弹弹Play,BFRC无效 甚至每次的Log都不太一样(??...资源库匹配有问题 后来和开发讨论下来可能是32位进程的内存限制?现在换了64位的倒是不报了(奇奇怪怪 Windows磁贴问题:磁贴错位 微信显示问题 ?...iOS上b站的客户端突然不能显示高清 之前还发现了VSCode腾讯云COS上传插件的路径bug 结束语 其实写这篇文章就是感叹一下最近碰到的奇奇怪怪的事情(大概) 本文作者:博主: gyrojeff

    50820

    隐私之殇,“裸奔”的个人信息

    每当有推销电话精准报出我的名字、每当微信里又出现了跟领导信息重复的微信号、每当邮箱里收到奇奇怪怪的钓鱼链接时,我不禁感到脊背发凉,当我穿着格子衫坐在桌子前操作电脑时,或许互联网上的那个“我”,其实正在裸奔...不给权限,软件就不能运行,正是国内企业最丑恶的嘴脸。 五、MIUI12 IOS相对的高度隐私保护我们已经习以为常,而当MIUI12问世时,我们才知道安卓上到底发生了什么。...照明弹、拦截网、隐匿面具,彻底撕开了厂家掠夺隐私的遮羞布,相册、文件夹、粘贴板、摄像头、定位信息,面对厂家无止境的隐私信息索取,我们终于有了反击的武器,从MIUI12开始,各大应用的隐私窃取行为有了显著降低...六、后移动互联网隐私时代 我们很高兴看到,在MIUI12后,各手机厂商终于扛起了隐私保护的旗帜,在今年的手机发布会上,隐私保护话题成了其中的重中之重,用户不再是任人宰割的鱼肉,在隐私保护的聚光灯下,不守规矩的应用必将被声讨...最后 在3Q大战时,我们对隐私非常麻木;CSDN泄密事件,促进了国内网站的数据保护意识;棱镜计划,让我们了解了国家背景下的隐私战争;移动互联网时代兴起,统一推送联盟的“失败”,直至MIUI12引领的后移动互联网隐私时代的到来

    48330
    领券