/Config-Apple-Profile

A Perl OO interface for the creation of Apple configuration profiles for iOS and Mac OS X.

Primary LanguagePerlOtherNOASSERTION

Config-Apple-Profile: Make Apple Configuration Profiles in Perl

Apple provides users with a way to configure Apple devices (running iOS or Mac OS X) using ready-made configuration files, which Apple calls Configuration Profiles. This suite of Perl modules is intended to aid people who would like to generate their own configuration profiles, without having to mess around with the XML themselves.

Configuration profiles can be used by iOS and Mac OS X to set a number of general and user-specific items. Examples include:

  • Configuring an LDAP server, for directory search in Mail and Contacts.

  • Specifying password requirements to match company policy (and common sense).

  • Configuring an email account, with or without a user's credentials.

  • Adding new certificate authorities.

Configuration profiles can be pre-made static files, or they can be dynamically-generated with configurations (such as usernames and passwords) that are specific to a user. Configuration profiles may be encrypted (so they may only be read on a specific device) and signed (to verify that they have not been modified by anyone other than the profile's creator).

Much more information is available in the POD-format documentation embedded in each module.

Installation

Installing the distribution is fairly straightforward. This release uses Module::Build, so installation can be completed by running four commands:

perl -w Build.PL
./Build
./Build test
./Build install

This release relies on a number of dependencies, but they should be easy to install:

  • Data::GUID

  • DateTime and DateTime::Format::Flexible

  • Email::Valid

  • Exporter::Easy

  • Mac::PropertyList

  • Readonly

    NOTE: Readonly::XS is not required, nor is it even necessary any more.

  • Regexp::Common

  • Try::Tiny

The lowest version of Perl supported is 5.10.1, due to the version requirements of our dependencies.

Documentation

All of the Perl modules have POD embedded throughout. To get the documentation on a particular module, you can use perldoc after installation, for example:

perldoc Config::Apple::Profile

The documentation in Config::Apple::Profile is a good place for new clients to start reading.

Documentation can also be found on CPAN at http://search.cpan.org/search?query=Config::Apple::Profile&mode=module.

Your code editor probably also has some way of easily accessing module docs.

Issues

The repository for this software is Github. You can find us here:

https://github.com/akkornel/Config-Apple-Profile

If you have a bug, it should be reported on the Github issue tracker, here:

https://github.com/akkornel/Config-Apple-Profile/issues

Contributions are welcome! At the very least, git-generated patches are needed, and Github pull requests are preferred, especially if your contribution is closing one or more existing issues!

This release is copyright © 2014 A. Karl Kornel

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

The files Acknowledgement.otf and Acknowledgement.ttf in the t/files directory is licensed under the SIL Open Font License, version 1.1, a copy of which is included in this release and may also be downloaded at http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 128:

Non-ASCII character seen before =encoding in '©'. Assuming UTF-8