Improvements coming to Loopy 2.0.1
I’m hard at work on Loopy 2.0.1, which will include a few improvements:
- A much bigger bottom display, with paged clock manipulation controls for easier access to the most-used functions
- A play/restart button on the main loops screen
- Clearer distinction between muted and unmuted tracks
- The option to automatically begin overdubbing after first record
- Import loops from Mail and other applications straight into a Loopy 2 session
- Single sign-on for SoundCloud, including Facebook link support
Look out for it soon.
Read MoreFixing Xcode 4’s symbolicate utility to get comprehensible crash logs
‘symbolicatecrash’ is the Developer Tools utility which replaces all those meaningless addresses from crash logs with actual symbol names and source code references. It lives at some obscure folder within /Developer
– use find
to dig it up and symlink it into /usr/local/bin
if you wanna use it conveniently from the command line.
Anyway, after plenty of frustration, I noticed some chatter about the damn thing being busted in Xcode 4. Figures!
There’s an alternate third party version on GitHub, but this didn’t really help me – I still got inscrutable errors, so I took a look at the original.
The version that comes with Xcode 4 appears to have some problems distinguishing, say, an iPhone Simulator build of the app from a native build sitting in the Archives folder. I’d just see an error about otool and some binary living in the iPhone Simulator folder.
Digging into the errant symbolicatecrash source, I noticed that the code that finds the executable path tests each candidate using otool, but doesn’t seem to be able to comprehend the output from otool caused by running it on the wrong architecture.
So, replacing the rather unhelpful ‘die’ statement on line 323:
die "Can't understand the output from otool ($TEST_uuid -> '$otool -arch $arch -l $path')";
With a “No, it ain’t this executable” response:
return 0;
…solves the problem immediately. Now I can drag crash logs straight into the Organizer in Xcode, and it’ll symbolicate correctly.
Read MoreLoopy 2 launch – now with real fruit pieces
I’m very pleased to announce the launch of our new app, Loopy 2! It’s a pretty, easy-to-use but feature-packed looper for making music by layering looped recordings of singing, beatboxing or playing an instrument (or banging cutlery together).
It’s currently on sale for launch, so take a look! We’re very proud of it.
Read MoreThe Cartographer 1.4, Now With Routes and Shapes
I’m very happy to announce The Cartographer version 1.4!
This version brings new features from Google Maps to the iPhone: Routes and shapes. Now you can plot hiking routes, cycle paths or road trips on your computer using Google Maps, then sync them to your iPhone and take them with you.
Combined with The Cartographer’s existing offline mapping features, we think this is a really exciting feature for outdoorsy types and travellers.
So, we hope you enjoy 1.4! It’s available right now from the App Store.
Read MoreQuick tip: Manipulating the OS X clipboard
Here’s a shortcut that comes in handy sometimes. There are two command-line utilities, pbcopy
and pbpaste
that provide direct access to the OS X clipboard.
They’re quite useful for doing various quick things with clipboard contents, like, say, writing it to a file:
pbpaste > Desktop/output.txt
Or altering them:
pbpaste | sed s/bacon/bea-con/g | pbcopy
Fun!
Read MorePost Grabber sniffs out POST data, generates curl scripts
Every now and then I find myself needing to automate some web requests, either to download using something a little more robust than a web browser, scrape some web content, or to maintain a session. That automation can be a bit of a pain if there’s a form submission involved, because it means opening up the page source, finding the form and any connected javascript code, and figuring out what fields are submitted.
A little utility I just put together does that for you: Post Grabber detects POST data and generates an equivalent “curl” command that can be used in shell or Automator scripts.
Post Grabber works with its own internal browser, so it can intercept POST submissions directly. That means it works with HTTPS, unlike the traditional web sniffer approach.
Download the app, or see the source on GitHub.
Read MoreA drop-in universal solution for moving text fields out of the way of the keyboard
There are a hundred and one proposed solutions out there for how to move UITextField
and UITextView
out of the way of the keyboard during editing — usually, it comes down to observing UIKeyboardWillShowNotification
and UIKeyboardWillHideNotification
, or implementing UITextFieldDelegate
delegate methods, and adjusting the frame of the superview, or using UITableView
‘s scrollToRowAtIndexPath:atScrollPosition:animated:
, but all the proposed solutions I’ve found tend to be quite DIY, and have to be implemented for each view controller that needs it.
I thought I’d put together a relatively universal, drop-in solution: UIScrollView
and UITableView
subclasses that handle everything.
When the keyboard is about to appear, the subclass will find the subview that’s about to be edited, and adjust its frame and content offset to make sure that view is visible, with an animation to match the keyboard pop-up. When the keyboard disappears, it restores its prior size.
It should work with basically any setup, either a UITableView-based interface, or one consisting of views placed manually.
Read More