Copying Playgrounds without OS X and AirDrop
Thanks to Filip Radelic who figured a mail-solution approach:
He writes: “I found that Mail will tell you it can’t open the attachment but if you tap and hold, it will let you copy it to Playgrounds.” I tested and it worked perfectly. Thanks, Filip! He also has a more detailed write-up on his website.
Izzy suggested trying downloading a zip from Safari, and that seemed to work very well too: Update in further testing, the Safari redirection is not working properly. What I thought was opening in Playgrounds was actually opening in a PDF app. I then deleted that app. Taps on “Open in Playgrounds” no longer worked. I rebooted and retried. From there, taps started opening in yet another non-Playgrounds app.
Boring Internals Stuff
Turns out Playgrounds can open 3 kinds of file extensions: playgroundbook
, diffpack
, and playground
. The app is editor for the two playground types and viewer for the diffpack type.
The associated frameworks are really neat. There’s a CommonMark framework, which I wish were public, along with an assortment of other items.
As far as available Swift modules go, Playgrounds provides a nice suite (a sweet suite?) of options. The bundled arm64 toolchain for my iPad includes AVFoundation, Core Audio, Core Bluetooth, Core Data, Core Graphics, Core Image, Core Location, Core Media, Darwin, Dispatch, Foundation, GameKit, GameplayKit, GLKit, Multipeer Connectivity, ObjC, SceneKit, simd, SpriteKit, Swift core, UIKit, and WebKit.
Tucked away in the Challenges is one for maze running, which if memory serves is not presented yet to users:
There are also some interesting teases in the Documentation cache, with topics on model building, UIKit GUI development, and HTML resources. Is this documentation available yet in-app?
One Comment
One important thing to note about downloading the zip directly to iPad via Safari is that file extension needs to be .playground.zip (or playgroundbook.zip or diffpack.zip) for Safari to “just know” what to do. Might seem obvious, but I managed to miss that so please learn from my mistake 🙂