Abstract
Thus far, we have provided background information and looked at the practical implementation of several types of drivers and kernel extensions. This chapter focuses on how we prepare our work for end-user delivery. Apple is known for providing user-friendly software (and hardware) solutions; both Apple and its customers have come to expect the same level of customer experience from third-party vendors. Frustrating customers or users with complex installation procedures is a good way to lose business to competitors on any platform. Deploying a piece of software like a kernel extension may seem easy at first, but there are a multitude of issues to consider, such as how to accommodate a wide range of different hardware and operating system versions. Many customers may be reluctant to upgrade. This is especially true for larger business or government installations— so, you may be required to support bleeding edge, as well as legacy operating system versions— all of which may have different features that require special handling. Besides the external factors, your software’s distribution may be complicated. Rarely will you distribute only the KEXT itself; it often requires additional bundled software. For example, a computer graphics card may be delivered with a system preferences pane, a framework used to access the device’s special features, applications for upgrading firmware, and perhaps bundled applications that show off the card’s capabilities like games. You will also need to handle the possibility that a customer will upgrade or downgrade your software distribution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 2011 Ole Henry Halvorsen and Douglas Clarke
About this chapter
Cite this chapter
Halvorsen, O.H., Clarke, D. (2011). Deployment. In: OS X and iOS Kernel Programming. Apress. https://doi.org/10.1007/978-1-4302-3537-8_18
Download citation
DOI: https://doi.org/10.1007/978-1-4302-3537-8_18
Publisher Name: Apress
Print ISBN: 978-1-4302-3536-1
Online ISBN: 978-1-4302-3537-8
eBook Packages: Professional and Applied ComputingApress Access BooksProfessional and Applied Computing (R0)