news 2026/1/15 11:21:13

【教程】MacOS绕过Apple Develop ID获取麦克风权限

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【教程】MacOS绕过Apple Develop ID获取麦克风权限

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

以这个电脑音频频谱显示工具为例:https://github.com/1061700625/SpectraTray

使用Swift

不需要Apple Develop ID,推荐!

原理是通过swift来做一个启动器。

0、准备干净的环境。

python -m venv tray source tray/bin/activate pip install -i https://pypi.org/simple pystray pillow numpy SoundCard pyobjc

1、创建原生启动器 App。

mkdir -p SpectraTray.app/Contents/{MacOS,Resources} mkdir -p SpectraTray.app/Contents/Resources/pysrc cp app.py SpectraTray.app/Contents/Resources/pysrc/ cp -R tray SpectraTray.app/Contents/Resources/tray cp SpectraTray.ico SpectraTray.app/Contents/Resources/

2、写 Swift 启动器。

cat > main.swift <<'SWIFT' import Foundation import AVFoundation func runPython() { let bundleURL = Bundle.main.bundleURL let py = bundleURL.appendingPathComponent("Contents/Resources/tray/bin/python3").path let script = bundleURL.appendingPathComponent("Contents/Resources/pysrc/app.py").path let task = Process() task.executableURL = URL(fileURLWithPath: py) task.arguments = [script] // 完全后台(不弹终端) task.standardOutput = FileHandle.nullDevice task.standardError = FileHandle.nullDevice do { try task.run() } catch { } exit(0) } // 先触发一次麦克风权限(允许后 python 才能录到 BlackHole) AVCaptureDevice.requestAccess(for: .audio) { _ in runPython() } RunLoop.main.run() SWIFT swiftc main.swift -o SpectraTray.app/Contents/MacOS/SpectraTray

3、写 Info.plist。

cat > SpectraTray.app/Contents/Info.plist <<'PLIST' <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleName</key><string>SpectraTray</string> <key>CFBundleDisplayName</key><string>SpectraTray</string> <key>CFBundleIdentifier</key><string>local.spectratray</string> <key>CFBundleExecutable</key><string>SpectraTray</string> <key>CFBundlePackageType</key><string>APPL</string> <key>CFBundleShortVersionString</key><string>0.0.2</string> <key>CFBundleVersion</key><string>1</string> <key>CFBundleIconFile</key><string>SpectraTray.ico</string> <key>LSBackgroundOnly</key><true/> <key>NSMicrophoneUsageDescription</key><string>用于捕获系统音频(如 BlackHole)并显示实时频谱</string> <key>LSApplicationCategoryType</key><string>public.app-category.utilities</string> </dict> </plist> PLIST

4、去掉 quarantine。

xattr -dr com.apple.quarantine SpectraTray.app

5、刷新图标。

touch SpectraTray.app

6、启动 SpectraTray.app

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/14 19:10:41

SSH连接超时?保持PyTorch后台训练进程不中断

SSH连接超时&#xff1f;保持PyTorch后台训练进程不中断 在深度学习项目中&#xff0c;你是否曾经历过这样的场景&#xff1a;深夜启动一个长达48小时的模型训练任务&#xff0c;满怀期待地合上笔记本&#xff0c;第二天却发现SSH连接断开、训练进程终止&#xff0c;一切努力付…

作者头像 李华
网站建设 2026/1/15 5:21:07

Linux下Miniconda-Python3.9安装PyTorch全流程详解

Linux下Miniconda-Python3.9安装PyTorch全流程详解 在现代AI开发中&#xff0c;一个稳定、可复现的环境几乎是项目成败的关键。你有没有遇到过这样的场景&#xff1a;代码在本地跑得好好的&#xff0c;一换到服务器就报错&#xff1f;或者同事拉下你的项目&#xff0c;却因为“…

作者头像 李华
网站建设 2026/1/15 3:24:15

ECCV2022-RIFE动漫优化终极指南:如何让动画视频流畅度翻倍

ECCV2022-RIFE动漫优化终极指南&#xff1a;如何让动画视频流畅度翻倍 【免费下载链接】ECCV2022-RIFE 项目地址: https://gitcode.com/gh_mirrors/eccv/ECCV2022-RIFE 还在为观看动漫时出现的卡顿和画面撕裂而烦恼吗&#xff1f;ECCV2022-RIFE项目最新推出的动漫优化版…

作者头像 李华
网站建设 2026/1/15 3:48:23

WSL导出导入实现PyTorch环境迁移

WSL导出导入实现PyTorch环境迁移 在深度学习项目开发中&#xff0c;最让人头疼的往往不是模型设计或训练调参&#xff0c;而是那个看似简单却频频出问题的环节——环境配置。你有没有经历过这样的场景&#xff1a;好不容易在一台机器上跑通了代码&#xff0c;换到另一台设备却因…

作者头像 李华
网站建设 2026/1/15 5:15:20

【dz-1069】基于单片机的智能水壶设计

摘要 在日常生活中&#xff0c;传统水壶的使用存在诸多不便&#xff0c;如依赖人工监控水温、频繁手动加水、保温效果不佳等问题&#xff0c;难以满足现代生活对便捷性与智能化的需求。​ 基于 STM32F103C8T6 单片机的智能水壶设计&#xff0c;整合了防水式 DS18B20 温度传感…

作者头像 李华
网站建设 2026/1/15 5:41:45

Anaconda删除旧版本PyTorch彻底清理残留文件

Anaconda删除旧版本PyTorch彻底清理残留文件 在深度学习项目迭代过程中&#xff0c;升级 PyTorch 版本几乎是每位开发者都会遇到的日常操作。尤其是当你准备从 PyTorch 1.x 迁移到支持 CUDA 11.8 的 v2.9 环境时&#xff0c;一个看似简单的 conda remove pytorch 往往并不能真…

作者头像 李华