Mastering Swift
Description
Client Platform Engineers, device administrators, and others charged with managing large fleets of devices need to be able to wield open-source tools, conform them to their unique use cases, and get them on devices securely. This has traditionally been done with other languages, some of which have evolved since the early days of Unix - the early days of the very idea of an operating system. But the increasingly closed nature of Apple devices means that these skills need to move to Swift, and all the good and bad that comes with that.
This book is about how to build Swift applications that automate tasks on Apple devices. Things like pulling information down from a Mobile Device Management (MDM) solution to configure settings, deliver apps to devices, and gain telemetry into areas of the system that might not otherwise be available to legacy scripting tools that can't get entitlements to manage various aspects of systems. Traditional Swift books don't cover these scripty automation tasks, or how to build software that can't go on the App Store. Yet that's exactly what admins need to do. We want to make the world a more secure place, and this is one of the ways we get there.
What You'll Learn
- How to wield Swift for secure device automation tasks.
- How to convert your code into compiled scripts.
- How to build functional programs for device inventory.
- How to integrate with enterprise systems for seamless operation.
- How to master Mobile Device Management (MDM) with Swift.
Who This Book Is For
This book is for client platform engineers, device administrators, and anyone managing large fleets of Apple devices.
More details
Persons
Charles Edge was the CTO of bootstrappers.mn and the CTO/COO of secretchest.io - and a former director at Jamf, where he led the development of Jamf Now. He held 35 years of experience as a developer, administrator, architect, product manager, entrepreneur, and CTO. He authored 25 books and more than 6,000 blog posts on technology, and served as an editor and author for a number of publications. Charles served on the board of directors for a number of companies and non-profits, and frequently spoke at conferences including DefCon, BlackHat, LinuxWorld, the Apple Worldwide Developers Conference, and a number of Apple-focused conferences. Charles also authored krypted.com and was a cofounder/host of the MacAdmins Podcast and The History Of Computing podcast. He passed away in April of 2024, and his extensive network of people felt the loss very deeply.
Jeremy Bannister is a Swift developer from New York who now lives in Spain. He connected with Charles Edge in December of 2021 and began working for Charles to prototype a password management tool with a focus on resisting quantum-computing decryption attacks. They worked together until Charles' unexpected passing in April 2024. Jeremy is happy to have helped proofread Charles' manuscript and helped to allow his final book to be published.
Joel Rennich is the SVP of Product at JumpCloud residing in the greater Minneapolis, MN area. While Joel has spent most of his professional career focused on Apple products, at JumpCloud he works with a team focused on boldly going where no devs have gone before across all platforms. In 2018 Jamf acquired Joel's startup, Orchard & Grove, which is where Joel developed the widely-used open source software NoMAD. Over the years Joel has been a frequent speaker at a number of conferences including WWDC, MacSysAdmin, MacADUK, Penn State MacAdmins Conference, Objective by the Sea, FIDO Authenticate and others in addition to user groups everywhere. Joel spent over a decade working at Apple in Enterprise Sales and started the website afp548.com which was the mainstay of Apple system administrator education during the early years of macOS X.
Content
Chapter 1: SwiftUI.- Chapter 2: Variables, Constants, and Data Types.- Chapter 3: Control Flow and Conditionals.- Chapter 4: Collections and Arrays.- Chapter 5: Dictionaries and Sets.- Chapter 6: Functions and Closures.- Chapter 7: Object-Oriented Programming.- Chapter 8: Optionals and Error Handling.- Chapter 9: Structs, Enums, and Protocols.