#iOS# 相关文章 | 第 3 页
iOS crash log分析实践
通过分析线上的一个crash演示iOS crash log分析的一般方法。会涉及到otool,dwarfdump,atos,IDA等工具的简单使用及iOS 汇编分析。
Thread Sanitizer 的原理和使用
Thread Sanitizer是基于LLVM的适用于Swift和C语言的检测数据竞争的工具。
Address Sanitizer 的原理和使用
Address Sanitizer是基于LLVM的适用于C(包括Objective-C)和Swift的用于发现内存使用问题的工具。
iOS 13 中对 dyld 3 的改进和优化
在iOS 13系统中,iOS将全面采用新的dyld 3以替代之前版本的dyld 2。dyld 3带来了可观的性能提升,减少了App的启动时间。
iOS Self-Sizing的一点优化
在 iOS 11之后,UITableView默认开启了Self-Sizing。利用Self-Sizing技术,我们可以不需要实现heightForRowAt方法。但Self-Sizing可能会引起UITableView的闪烁问题,需要做一些优化处理。
iOS 64/32位系统在处理BOOL值时的区别
使用JSONModel时发现在iPhone 5C设备上出现[__NSCFString charValue]: unrecognized selector的报错。
iOS 13 适配
iOS 13系统适配笔记。
WWDC19:2019苹果全球开发者大会
昨晚WWDC19如期举行,一如既往的吸引了不少开发者和媒体的关注。本次WWDC内容已经提前被媒体曝光了不少,但还是有不少惊喜点。
iOS安全:修改Mach-O
有的时候我们希望干预Xcode生成Mach-O的过程,在签名之前在Mach-O中插入自定义的segment和section数据。修改Mach-O看似简单却不总是那么好用。
iOS安全:LC_LOAD_DYLIB和LC_ID_DYLIB
本文主要从iOS Mach-O的角度讲解了iOS 主App的二进制和动态库的调用关系,涉及到LC_LOAD_DYLIB和LC_ID_DYLIB两种类型Load Command的含义及作用。
iOS Link Map
由Xcode build产生的Link Map文件能比较直观的反映出程序各部分的文件大小情况,对于减少包体积很有帮助。
iOS设备型号对应关系
使用[[UIDevice currentDevice] model]获取到的设备型号是形如iPhone10,6这样的字符串,和iPhone X等通用称呼有一一对应关系。
iOS:IDFV(identifierForVendor)使用陷阱
IDFV(identifierForVendor)在iOS系统中常被用来唯一标识设备,但使用IDFV要小心,未正确理解IDFV的原理可能会造成使用上的错误。
如何获取AppStore上的ipa?
之前可以很方便的从iTunes上获取AppStore的ipa包,但现在iTunes已经不再提供ipa的下载入口了,我们可以使用Apple Configurator工具
iOS安全:iOS App注入动态库重打包(非越狱)
从AppStore直接获取的ipa重打包即使成功安装也是无法运行的,砸壳后的ipa如何注入动态库后在非越狱手机上运行?
iOS安全:使用frida-ios-dump砸壳
使用frida-ios-dump工具,部署好环境后,砸壳非常方便,推荐使用。
iOS安全:使用dumpdecrypted/Clutch 砸壳
之前都是使用Clutch砸壳,今天在分析一问题时,发现Clutch砸壳失败,于是寻找其他的砸壳工具,选择了dumpdecrypted。这里简单记录下方便后续查询。
统计iOS 8.0及之后所有正式版版本号
iOS的版本号是非常有规律的:一般来说包含一个纯数字的主版本号和一个包含数字字母的build版本号。而大多数情况下beta版等非正式版本的build版本号在最后一位是小写字母。
iOS framework UnitTest:Failed to load test bundle
iOS UnitTest:Failed to load test bundle from file...no suitable image found
iOS:清除Xcode缓存
随着使用时间的增长,Xcode占用的磁盘空间将越来越大。你可以通过删除下面的目录来释放空间。
URL Decode中对于+号的处理
如果你的产品包含iOS Android App以及后台服务,你很可能遇到一个加号 decode 后的问题。
iOS安全:Tweak clang: warning: libstdc++ is deprecated
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
iOS安全:Mach-O Type
iOS/maxOS二进制文件是mach-o格式的,mach-o又分为几种不同的类型。本文介绍了常见的mach-o文件类型以及它们的不同之处。
Xcode 10/iOS 12适配
Apple 升级 Xcode 10 及iOS 12 后,需要对项目进行适配,下面是看川在实际开发中遇到的适配问题。
分享 AppStore 审核的一些经验教训
分享AppStore审核的一些经验教训。Apple Review Team每天需要审核很多App,遇到过千奇百怪的情况,不要心存侥幸,专注App质量和用户体验才是王道。
iOS Crash log 符号化
针对没有符号化的crash log文件,需要配合dSYM文件和Xcode symbolicatecrash工具进行符号化,便于分析问题。
iOS 抓取网络数据包
提供一种不需要配置代理直接抓取iPhone设备网络数据包的方式,是分析网络问题的有效手段。
