#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设备网络数据包的方式,是分析网络问题的有效手段。