小集

其他

Jailbreak #001:Gamed 0-day 漏洞

ProcessInfo.processInfo.processIdentifierproxy.getServicesForPID(pid,
2021年10月12日
其他

iOS开发有哪些方向可以探索

App编译Xcode编译过程,ipa产生过程MonkeyDev原理clanglldbld64
2021年9月3日
其他

iOS 性能优化 - Allocations分析内存分配

https://github.com/LeoMobileDeveloper/Blogs/tree/master/DemoProjects/iOS/AllocationsDemoDemo
2020年9月11日
其他

DartNative 内存自动管理

等手动操作引用计数的方法。如果从旧版本升级过来,发现编译失败,直接删掉对这些方法的调用就可以。实现原理这里只讲下对象的生命周期管理,非对象类型基本上依然复用之前的策略。Dart
2020年9月4日
其他

Arm64e 符号翻译与 PAC 问题

strip后的原始VA值.结语果然任何小问题都不要因为量不多而不重视它,很可能每个小问题的背后都隐藏了一个未知的新问题。iOS正向开发果然越来越难了。推荐阅读☞
2020年9月3日
其他

苹果正式更新应用审核流程,以后可以对审核指南提建议了

已经上架的应用,后续的漏洞修复将不再因违反平台准则而被推迟,而是可以在后续提交更新时解决这些问题,当然除非涉及到法律问题;•
2020年9月2日
其他

Sketch vs. Figma:为什么 Figma 会赢?我们又能从中学到什么?

我们看到创建他们插件系统有多困难。有一个月的时间,他们的文章都是关于如何确定插件系统的架构。他们最后发现自己的方案有漏洞,不得不调整了方向。确保平台是可信任的不仅仅是技术架构的事情。Figma
2020年9月1日
其他

苹果发布新的 Swift Server 框架:Swift Cluster Membership,这次的目标是集群

https://github.com/apple/swift-cluster-membership/blob/main/Sources/SWIM/Status.swift#L18-L39[5]
2020年8月31日
其他

面向所有人的 UI 编程 :透过点按弹窗初尝 SwiftUI

语言,别怕,在这里我们都是新手。「试想你是一名美术,完全不了解程序。而你眼前只有一位盲人程序员,你想让他帮你实现这个程序,你会怎样告诉你的程序员你想要的效果?」你会说,嗨,这么简单的事,用
2020年8月28日
其他

记一次git reset事故

一次。4、如果本地工作目录缺失,只能通过共同工作于该分支的同事的本地记录来尽量挽回损失了,如果有共同工作于该分支的同事的话。5、git:https://git-scm.com/book/zh/v2
2020年8月27日
其他

探秘 iOS 14 的 WidgetKit

基于UIViewController的各种刷新时机了,比如一个股票的widget,在交易的时候可以频繁更新,但是在非交易时段是可以完全不更新的,所以根据这个规律,开发者可以提前设置这个widget
2020年8月25日
其他

让你的应用远离越狱:iOS 14 App Attest 防护功能

会将其嵌入到最终对象中,并为您的服务器提供一种提取它的方式。有了这个,对于攻击者来说,仅通过拦截请求就很难创建您应用程序的非法版本。let
2020年8月24日
其他

京东商城订单模块Swift探索

由上述官方说明可知,使用Swift静态库的条件已经具备。但上面同样也提到了一个问题点,如果Swift库依赖某Objective-C库,那就需要为这个Objective-C库开启“modular
2020年8月21日
其他

开发人员需要了解的 iOS 14 beta 5 更新

部分;在宿主应用被屏幕时间锁定时,包含的小部件也将被锁定;天气小部件已修复,并以适当的时间间隔刷新;对于开发人员来说,此次更新没有太多的新特性,主要有以下几点:可以使用
2020年8月20日
其他

iOS导航栏整体滑动解决方案(类似淘宝)

简书,点击“阅读原文”查看作者更多文章效果图先上图为敬原生效果实现的效果思路UINavigationController的view视图结构:--
2020年8月19日
其他

HoloTableView & HoloCollectionView 让你的列表更好维护

方法获取闭包再调用,这种写法显然是不能接受的。用法介绍了解了以上介绍的「组装数据源思想」和「通过链式语法便捷组装数据」这两块主要卖点后,接下来就看下具体怎么使用的吧rowUITableView
2020年8月18日
其他

成为一名优秀 Swift 开发人员的 10 个小技巧

专家与我一起工作,为我提供了很多有关如何正确操作的建议。但作为开发人员,需要记住两点:首先,不要让导航过于复杂,除非有简单的方法可以返回主页可撤消操作,否则不要在模态上再展示模态,也不要在
2020年8月17日
其他

iPadOS 鼠标的设计哲学

与苹果工程师交流后,把一些想法用文字码在这里。其实苹果每年放出这些视频我想初衷也是和大家一致的,这些心得值得被更多人所知。本文的初衷也是如此。有些人可能不熟悉观看苹果官方
2020年7月1日
其他

WWDC20 Session 清单(06-26)

offline通过使用AVFoundation下载供离线使用的HLS内容,了解如何在应用程序不连接互联网的情况下播放HLS音频或视频。探索离线时处理HLS内容的最佳做法,了解如何使用FairPlay
2020年6月26日
其他

苹果 App Clip 技术详解

开发者心中的美好愿景。在落实中遇到了很多现实的问题,技术支持的不好,开发者就更没有动力在这个技术上做软件生态了。微信小程序前面提过在产品理念上小程序和
2020年6月26日
其他

WWDC20 Session 清单(06-25)

TV)上为您的音乐,播客或其他音频服务添加Siri支持,以便人们可以通过询问Siri来开始收听。并了解可让您支持替代结果的新API,帮助人们在不离开Siri界面的情况下更快地收听。Expanding
2020年6月25日
其他

Xcode 12 beta 中的 Swift 新特性概览

现在,使用默认初始化器时,带有附加属性包装器的属性可以使用类型推断来推断包装的值类型,而默认初始化在包装器属性上没有空括号。例如:@propertyWrapperstruct
2020年6月25日
其他

WWDC20 Session 清单(06-24)

Previews和SwiftUI快速迭代并改进您的应用。了解如何使用“预览”画布从头开始构建应用程序,以及在不同环境(例如亮或暗模式)或启用辅助功能(例如启用“动态类型”)中查看界面。What's
2020年6月24日
其他

Xcode 12 Beta 新特性概览

现在,可以在自己的标签中打开文档,从而可以轻松地在文件之间快速切换,同时保持Xcode的其余配置。按住Option键单击或双击以在选项卡中打开文档。打开第二个文档时,将显示选项卡栏,或者选择
2020年6月24日
其他

WWDC20 Session 清单(06-23)

Store上,以及如何使用safari-web-extension-converter工具从其他网络浏览器(例如Chrome,Firefox)以最小的代价迁移现有的扩展。Introducing
2020年6月23日
其他

组件化的一个新想法

Coordinator。可以先看一下相关文章Coordinator模式的起源。新方案其实并不新,用到的思想前人也提过无数遍了,所以我一开始称它复古,在这个基础上又有新的实现。这个方案运用了真正的
2020年5月9日
其他

微软是如何适配 Dark Mode 的?

NS_SWIFT_NAME(init(_:light:dark:));#endif@endNS_ASSUME_NONNULL_END在
2020年4月30日
其他

我是如何让微博绿洲的启动速度提升30%的

获取符号表时,采用Clang插桩可以直接hook到Objective-C方法、Swift方法、C函数、Block,可以不用区别对待。相比于抖音之前提出的方案确实简单很多,门槛也要低一些。推荐阅读•
2020年4月29日
其他

基于桥的全量方法 Hook 方案- 开源 TrampolineHook

要注意特定的寄存器用处,x8-x18是临时寄存器,里面的值在函数调用后可能被修改,这些寄存器为caller-saved。所以在我们自身函数可以用,但是要在调用别的函数之前保存好。•
2020年4月27日
其他

海外开发者账号上架总结

设计的方案很简单,就是要符合苹果爸爸心中“核心价值”的主题,尽量避讳直接表现一些敏感功能(如支付、教育、用户隐私权限等)。以下主题可供参考:•
2020年4月26日
其他

iOS应用安全之代码混淆

"y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/"`second=`echo
2020年4月24日
其他

静态插桩的方式来实现Hook Method

所以也写这篇文章分享一下。实现过程遇到的坑跟核心逻辑我就不一行一行解读具体实现代码了,我挑遇到的坑跟核心逻辑说一下,然后大家结合代码KKMagicHook,就很容易理解了。静态库是fat
2020年4月23日
其他

你可能不知道的 5 个 Xcode 断点小知识

BUG,并找出对应的解决方案。没有断点,你的代码中可能就会充满各种各样的日志打印语句。你可能已经熟知了断点的一些基本原则,但还有些有趣的用法,可能被你忽视了。Xcode
2020年4月22日
其他

面对职业困境,iOS 开发人员应该如何做?

TDD,则需要认识到学习过程本身是促进你进步的关键因素。改善学习效果,如更长的学习时间、更快的学习、寻找更好的资源、刻意的练习并运用所学的知识,这些都是实现目标的催化剂。尽管这些可能并不直接涉及
2020年4月20日
其他

这些 iOS 冷知识,你知道吗?

CFNetworkCopySystemProxySettings();CFRelease(dicRef);CFRelease(dicRef);NSLog(@"%p",
2020年4月17日
其他

Xcode 构建优化全指南

SwiftBlog,来使用两种构建系统对其进行构建。看到差别了吗?0.991秒(旧版为4.223秒,新系统为3.232秒)。这个实例并没有任何相依,但仍然相差约1秒,效果还是很显著的。当然,这只是
2020年4月15日
其他

小试 Xcode 逆向:App 内存监控原理初探

library前言最近看到公司同事的《iOS内存那些事》系列文章,其中的一篇文章讲了他在研究WebKit中内存管理的时候,发现可以用phys_footprint来衡量内存,其结果和xcode
2020年4月13日
其他

如何将 Flutter 优雅的嵌入现有应用

功能,因为会导致原生路由栈被覆盖,维护复杂度会非常高,如确实需要可以通过修改转场动画实现。页面的索引要路由,我们需要对页面建立索引,通常情况下,我们只需要给每个页面设定一个
2020年4月10日
其他

基于时间轮片方式处理超时任务

}任务管理为了保证任务的独立允许,需要创建一个并发队列,且使用字典存储已添加的任务,以便确认任务是按时完成回调的,还是超时导致回调的。class
2020年4月9日
其他

揭秘 APM iOS SDK 的核心技术

2.3.5,与最新版本会存在些许差异,不过我大致翻看了新版的代码,差异不大,不影响分析。页面渲染时间页面渲染的监控,这个需求看似很简单,但是在实际开发的过程中还是会遇到不少问题。比较容易想到的是通过
2020年4月8日
其他

如何调试支付宝(iOS)

版爱思助手无法打开,提示“您应该将它移到废纸篓”如何解决?53、按提示操作越狱砸壳1、我使用的是frida-ios-dump,详细使用步骤可以看作者的githubfrida-ios-dump,
2020年4月7日
其他

在 Flutter 中玩转 Objective-C Block

方法的实现,回调映射的细节,类型自动转换的细节等。因为篇幅原因,感兴趣的可以直接看源码:https://github.com/dart-native/dart_native其实我期望的是使用
2020年4月6日
其他

Dart虚拟机运行原理

Calls1)即使进行了全局和局部分析,AOT编译的代码仍可能包含无法静态的去虚拟化的调用站点。为了补偿此AOT编译代码和运行时,采用JIT中使用的内联缓存技术的扩展。此扩展版本称为可切换呼叫
2020年4月3日
其他

源码浅析 RxSwift 5.0 - Subscription

self._parent._scheduler.scheduleRecursive(self._parent._elements.makeIterator())
2020年4月1日
其他

React Native 0.62 发布,默认支持 Flipper

是一个GitHub问题跟踪器,用户可以在其中提交特定于升级项目的问题,以获得社区的帮助。我们一直在努力改善升级体验,并且我们希望这些工具能够为用户提供我们尚未涵盖的边缘情况所需的支持。其他改进•
2020年3月31日
其他

Swift 5.2 的几个新特性

5.2代码,则以原始的方式执行,但是在较新的操作系统上运行的相同代码将提供新的正确行为。因此,此更改可能会导致代码意外中断,但希望这只是短期内的麻烦。新的改进的诊断体系Swift
2020年3月30日
其他

Swift 5.3 路线图

审阅者:受影响组件的一个或多个代码所有者需要审阅相应的变更。可以由代码所有者委托进行技术审查,或者以其他适当或有用的方式请求进行技术审查。在
2020年3月27日
其他

如何实现 iOS App 的冷启动优化

Profiler,点击左上角红色圆形按钮开始检测,然后就可以看到执行代码的完整路径和对应的耗时。为了方面查看应用程序中实际代码的执行耗时和代码路径实际所在的位置,可以勾选上
2020年3月26日
其他

Xcode 11.4 新特性概览

现在在为“Run”操作和“Test”操作构建时还包括代码覆盖率检测。这与不使用测试计划且启用了代码覆盖率的构建方案的行为相符,并且避免了在运行和测试操作之间交替进行时不必要的重建。•
2020年3月25日
其他

SDWebImage 4.x & 5.x 对 GIF 类型的处理问题

了,其实走的也是它的父类(SDImageIOAnimatedCoder)方法:decodedImageWithData:options:,即为关键代码:-
2020年3月23日