2 个版本

0.1.1 2022 年 8 月 1 日
0.1.0 2022 年 8 月 1 日

#105macOS 和 iOS API

每月 21 次下载

Apache-2.0 OR MIT

11KB
163

appleargs

CI Status Docs Latest Version

一个小型 crate,用于获取进程的 "apple 参数"

什么是 apple 参数?

它们是在基于 Darwin 的操作系统上,内核传递给可执行程序的额外字符串集合。它们完全未记录(如果你找到了,请打开一个问题 :D),并且据任何人所知,仅用于存储或提示给 dyld 使用的关于正在运行进程的预计算信息。

这些值在进程的 执行序列 中设置,并在启动可执行文件时由 dyld 在多个点读取。虽然这些值很容易更改,但 dyld 是开源的,因此可以参考一些好的例子...

kern_exec.c 似乎有可能会出现的 完整参数列表。这个 crate 不会尝试记录或解析它们,因为它们的性质非常不稳定。

示例

"executable_path=/Users/person/dev/project/target/debug/bin"
"ptr_munge="
"main_stack="
"executable_file=0x1a0100000f,0x71b112"
"dyld_file=0x1a0100000f,0xfffffff000dc897"
"executable_cdhash=acd984a2fa40d1b36ba71094e7c0318a6bf15084"
"executable_boothash=cd0228d404782f85c4ef3d65dc2ae92aaa66578b"
"arm64e_abi=os"
"th_port="

支持的操作系统

这个 crate 应该在大多数 macOS 和 iOS 版本上工作(但没有明确测试)。自动测试发生在

  • macOS 10.15
  • macOS 11
  • macOS 12
  • iOS 12.4

无运行时依赖