Is Juce running on the Apple Tablet (iPad) yet?


…sorry, I had to be the first to ask.

Sean Costello

(edited the title to reflect that the tablet in question was the iPad, and not some other past or future device. edited the body of the post to spell my own last name correctly)

It’s a little too early to say. :slight_smile:


But assuming that it does run iPhoneOS, the answer might actually be ‘yes’!

Looks like Jules is right again. :smiley:

It seems like the technology might be a little underdeveloped at this point:

We will know it very soon. :slight_smile:

It sure looks like an extension of the iPhone OS. JUCE should work great. Nice.


Change the topic to “Is Juce running on the iPad yet?” By the looks of it, juce should be working on iPad.

It runs in the iPad simulator with iPhone OS3.2 :slight_smile: but…

from the latest git head (I love that expression, ‘git head’), I had to tweak juce_StandardHeaders.h from:

#if JUCE_MAC #include <libkern/OSAtomic.h> #endif


#if (JUCE_MAC || JUCE_IPHONE) #include <libkern/OSAtomic.h> #endif

and then it runs in the iPad simulator but as an iPhone app, not as a native iPad app.

Jules, any idea if/when you might be able to do the necessary tweakages to get an iPad native build up? I assume it’s just a couple of defines to specify the target and the screen size, but I’ve not looked into it yet…

Cheers, graf.

Yes, sorry about that little typo, I’ll check in a tidied up version shortly.

Well, I’ll have to get the new SDK and take a look. But I’d also assume it’s going to be pretty much the same apart from screen size (and juce was never hard-coded for that anyway)

Sweet, yeah turns out there’s only two things to tweak -

Change the Targeted Device Family target setting from iPhone to iPad, then it builds and runs as a native iPad app, and

In the actual project (not in the juce lib) change the juce_Application’s initialise() function to set the window size correctly, such as:

then all works great with Juce on iPad :slight_smile:

Desktop::getMainMonitorSize() should already pick up the correct screen size on either device, so no need to even hard-code that.

I have successfully compiled juce on the iPad. It works fine but will need some tuning: it’s not very smooth with my app. Maybe this is due to the slower processor or maybe it’s the interface locking… we’ll see.

Are you sure you’re compiling for armv7? (The iPad has a Cortex-A9, I believe) e.g., using the “Optimized” setting in Architectures (i.e., armv6 armv7). If it’s anything like the 3G iPod touch or iPhone 3GS the armv6 code is actually slower on these newer devices (well, certainly for floating point stuff since it uses a cut down version of the VFP unit) but armv7 code uses the Neon instructions for floating point stuff.

Just a thought, … it’ll still be slower than your desktop app!

Does Juce copy with device rotation events on the iPad…?

Best wishes,


Apparently, Apple changed their terms of use for their latest iPhone operating system, and the new terms of use seem to say that you can only use Apple’s SDKs when developing iPhone apps rather than an intermediary layer. I’m wondering if the same holds true for iPads. Does anyone have any information on this?

There’s another thread about this: