# 硬件考虑

阅读本书可能唯一的硬件要求就是需要一台可以正常运行macOS操作系统的Mac电脑。&#x20;

对于个人和非多用户环境的以及初次接触的读者，完全可以不用过多考虑硬件环境。&#x20;

就制作安装程序本身来说，不会因硬件而不同。一般来说，Mac的硬件特性被很好的屏蔽在操作系统的公开API之内，所以绝大多数情况，我们无需考虑被安装软件的目标硬件的不同。但是，难免有些时候需要判断特殊的硬件环境。&#x20;

比如能源管理中，笔记本才支持电池，台式机并不支持电池特性，而UPS的设置也不适用于有电池的笔记本，所以在测试的时候可能需要对应的硬件。&#x20;

有的时候，系统的设备参数会根据硬件的不同而有所变化，这在处理不同硬件环境的时候，需要考虑周全，并且充分测试。比如，在有内置以太网卡的机器，如iMac和MacBook Pro上，en0是内置以太网卡的网络接口设备名，内置无线网卡则从en1开始；而在只有无线网卡的Mac机器上，en0却是无线网卡的网络接口，当接入比如Thunderbold到以太网适配器时，以太网卡可能是en1，也可能是其它的，这取决于该设备的硬件顺序。所以，如果不能适应这些硬件环境，安装包中的程序会在不同硬件上出错，造成安装失败。所以，可能需要考虑在不同的硬件中进行测试。&#x20;

对于软件安装来说，一般不需要特殊的显示分辨率的硬件，尤其是管理需求的安装，多数情况最好是默默地在后台完成工作的，就更没有显示需求了。除非被安装的软件本身有特殊要求，安装程序最好在安装前做出判断，并提示用户为什么不能安装。&#x20;

在需要多种硬件的时候，硬件很可能不会都在身边，或者不会触手可及，那么远程操作就是提高效率的方式。就现在来说，有线网络不仅速度高稳定，而且网络带宽可以得到保证，那么在远程操作时，如大文件的网络复制等不会出现问题，会有效保证操作的成功。相比较无线网络，不仅速度带宽等会受到影响，而且它的可移动性是最可能影响操作成功率的，这在同时对多台设备同时操作时的影响更加明显，比如同时给多个无线连接的目标机复制大文件的时候失败机会会很高，其中主要原因在于，某些快速链接完成数据包传送后，需要等候慢速链接完成相同的包传送后才能共同进行下一个数据包的发送，而由于等待时间的长短差异，会造成其它链接因为等候超时而失败。所以，尽量使用有线网络以保证工作效率和避免节外生枝，除非是要测试不稳定网络状态的操作。

从iMac Pro开始，到2018年各款的Mac电脑都开始集成了Apple自己的T2安全芯片，它是为Mac软硬件提供芯片级别安全保护的措施。成书时，关于T2的技术细节很少，目前唯一的Apple官方文档是PDF格式的“Apple\_T2\_Security\_Chip\_Overview”。目前，除了在恢复模式中，没有其他方式可以与T2芯片进行交互。但随着Apple逐步公布T2芯片的一些技术细节，读者可能需要在这种硬件平台上进行测试。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tonyliu.gitbook.io/macos-packaging/di-yi-zhang-zheng-zhuang-dai-fa/ying-jian-kao-lv.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
