Introducing the Apple ID Automation Builder

  • strict warning: Only variables should be passed by reference in /var/sites/e/ on line 61.
  • strict warning: Declaration of views_handler_field_user_name::init() should be compatible with views_handler_field_user::init(&$view, $data) in /var/sites/e/ on line 61.
Your rating: None (49 votes)

We are happy to announce the successor of the Batch Apple ID Creator AppleScript, "Apple ID Automation Builder," a self-contained app written by the Great iTunes Automator Greg Moore, aka Eight_Quarter_Bit.

Purpose & Features

Deploying a great quantity of iOS devices means creating a great quantity of Apple IDs. This script allows automated Apple ID creation from a spreadsheet. Apple IDs are created without a credit card, which is great for many deployments. There is a "dry run" feature to test the script without actually creating the Apple ID.


Enterprise iOS is hosting a forum for any comments or discussion.


The current version is downloadable here: ... This file is a disk image (DMG) containing a bundled app.

There is also an RSS feed for when I upload new versions or additional files:


  • IMPORTANT: Apple uses a velocity check to prevent too many Apple IDs from a single IP address. You must contact your Apple business representative to request that your IP address is whitelisted for a short time.
  • Being AppleScript, this runs only on Macs.
  • UI Scripting allows us to script otherwise non-scriptable interfaces. Turn this on in System Preferences > Accessibility and check "Enable access for assistive devices."
  • Apple has strong password requirements. Account creation will fail if the passwords are too weak.

About Version 2.0

After many months of work (and almost as many of silence on my end, for which I do apologize) version 2.0 of this script is nearly ready for beta testing. I was never really happy with the version available here, because (as you have all seen) it's incredibly fragile and needy. The level of knowledge needed to fix this version is also high, the internal design ranged from poor to non-existent, and major features were never fully developed.

In short, this version of the script was never intended for public consumption. It was an ugly hack from the get-go, barely "alpha" levels of quality, and really only designed to be used within my department. Heck, I never anticipated it would even leave my machine, much less be used all over the world. I'm glad it has served as a stop-gap in the meantime, but frankly I'm embarrassed to have put you through its numerous quirks. Time to give this guy a well-deserved retirement.

Version 2 is a complete from-the-ground-up redesign. 98% of the code has been freshly written (pretty much only a few portions of the CSV parser made it unscathed from v1,) weighs in at roughly 2500 lines, and the method of operation is completely new. In v2 the script builds the setup process itself, outputting the constructed process into an independent app, rather than relying on brittle, hard-set UI element references. When the ID setup process changes you just use the script's GUI to build a new process -no knowledge of AppleScript required! This also allows for constructing multiple setup processes, for instance one with no payment information and one with a payment method, or one method for operating on the CSV output from a user management system and a second for a different CSV source of user info.

Because v2 constructs the setup process, it is now fully system-language and Apple Store location independent by design. Finally you guys living outside the US can stop having to hack away at the script every time it is updated. I haven't forgotten about you.

Version 2 also outputs and updates three CSV files during operation: one containing the accounts that were created successfully, one with the accounts that encountered some sort of error (which the script is now vastly better at recovering gracefully from,) and one with the accounts that have yet to be run. Accounts that encounter an error report what step they encountered the error on, the time the error occurred, and even tries to record the error reported by Apple. All of these are in standard CSV output, so if something terrible happens and the script explodes in a giant fireball you can just re-launch, open the "pending accounts" CSV that the script was updating as it ran, and pick back up where you left off. Need to re-try the accounts that encountered errors? Just grab the CSV that recorded accounts with errors and pop it right back into the script.

Also planned for the new version is inherent support for being used as a library in a larger project, for those of you who are script-heads and want to work Apple ID creation into a larger workflow. This feature likely won't be ready by the first beta, but the groundwork is laid.

There are lots of little niceties as well, including some pretty icons, boatloads of error checking, a highly verbose GUI that walks you through every step of constructing a sign-up process, support for customizable pauses to avoid tripping Apple's velocity limit if need be, and more.

I hope to put the final spit-and-polish on version 2 beta this weekend, and be able to remove the beta tag within a month. Over the past two days I've successfully run roughly 2000 accounts through it, and just need to touch up a few remaining areas. I will get in contact with Mr. Freimark as soon as I have killed the last few big issues, and see if we can't get a new post put up.

Your patience with v1, as well as your enthusiasm, have been astonishing. I thank you.

Here's too many more automatically created Apple IDs, in the days to come!



Enterprise iOS is hosting a forum for any comments or discussion.

Recent Activity