- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用 otool -tV SpringBoardServices
命令,我能够在 SpringBoardServices
框架二进制文件中获取 C 函数..
我可以看到 SBFrontmostApplicationDisplayIdentifier
,它会给我最重要的应用程序的 ID。这个id可以用来获取UIApplication吗?最终我想获得最顶层的 View ,它正在消耗触摸事件及其类型,如 UIButton 等?
感谢任何帮助。
最佳答案
这不是真正的答案,而只是对这个问题的一些思考。
C 与 Objective C API 的对比
一般来说,有两种类型的 API:C API(如 SBFrontmostApplicationDisplayIdentifier)和 objective-c API。
我相信所有 C API 都只适用于基本类型(字符串、整数等)。我没有看到任何返回 Objective C 对象的 C API。
SBFrontmostApplicationDisplayIdentifier 返回 id(它只是一个字符串)。作为首选项应用程序的示例“com.apple.Preferences”。
我相信您在寻找返回任何类型对象的 Objective C API 时会有更好的运气
进程间通信
没有简单的方法来在进程之间传输对象(尤其是指向其他对象的复杂对象,它指向其他对象等等)。如果您考虑一下,UIApplication 对象可以引用应用程序的一半。唯一的方法是在一端序列化所有内容并在另一端反序列化。
考虑到与对象序列化相关的问题,大多数需要进行进程间通信的 API 将具有最关键信息的简单结构传递给彼此。我在对 iOS 二进制文件进行逆向工程时看到了这种模式。
UI应用程序
想法
尝试查看 BackboardService
尝试检查 SpringboardService 中的所有 API
我会努力寻找与显示相关的任何东西。
附言我很想看到解决方案,因为我不知道有任何 API 可以查看第 3 方应用程序 UI。
关于iOS SpringBoardServices 获取 UIApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413250/
各位大神!我真的需要帮助~ 在iOS8之前,我使用PrivateFrameworks SpringBoardServices监控前台运行的App没问题。像下面的代码: #define SPRINGBO
在哪里可以获得 SpringBoardServices.h 和 SpringBoardServices.m 文件。我想编写一个私有(private)框架并将其包含在我的项目中。 在 iOS 中编写一个
使用 otool -tV SpringBoardServices 命令,我能够在 SpringBoardServices 框架二进制文件中获取 C 函数.. 我可以看到 SBFrontmostAppl
我下载了 SpringBoardServices 中给出的 SpringBoardServices.h 文件并将其添加到我的项目中。但是如何访问 SpringBoardServices.h 文件中存在
我是一名优秀的程序员,十分优秀!