Issue on 64bit iOS devices - images doesn't load


#1

Hi Julian,

Since a couple of months I´m working on an iOS-app including Juce. I use Juce-Components and native iOS GUI stuff in my app. Yesterday I´ve tried to run the code on a 64bit iOS device (new iPad mini) with bad results. Almost all images are not visible anymore. I include a bunch of images with this instructions.

File f=File::getSpecialLocation( File::invokedExecutableFile).getChildFile(“../img.png);

img = ImageCache::getFromFile(f);

 

If I run the app on a 32bit iPad it works without problems and shows up all images, but not on 64bit iPads. It´s really frustrating to come to this issue, a couple of weeks before release time. I work with XCode 5.1 and the latest Juce-repository.

 

What could be the reason for this issue ? 

-Chris


#2

Should be easy enough to debug into it and see exactly what's failing?


#3

I´m not able to access the 64bit iPad this week. All I could find out so far is that the files (images) exist and should be able to load them without problems.


#4

Well, nothing springs to mind, I'm afraid..


#5

I may have access to a 64-bit mini this week for testing. I will see if I can reproduce this issue with my app and the Juce Demo.

-nick


#6

Thanks Nick, but you need to test it on a 64bit iPad (iPad Air or latest iPad Mini), not on a Mac.

-Chris


#7

sorry, i meant to say "iPad Mini" not just mini :)


#8

Sounds good!

Following is what I use to draw in the paint-method. Nothing special at all. But it doesn´t work for me on 64bit iOS devices.

g.drawImage(img, 0,0,30,30, 0.f, 0.f, img.getWidth() , img.getHeight(),false);


#9

Hi Chris,

I just tried my app and the Juce Demo on a brand new 64-bit iPad Mini (running OS 7.0.1 i believe, haven't updated it to 7.1 yet), and I do not see any obvious problems.  I do see that the Juce Image formats demo is empty, but that also happens on my older iPad. There are other images used (GL demo for example) that appear to be fine. 

My app's entire look and feel is based around images (much to Jules' chagrin probably!) and they all load fine (and performance is better too). Mine are included as binary data however rather than files. Are you sure there's not something else that's changed? I would also recommend clearing out your builds folders or running a clean, as sometimes I've run into crazy problems after pulling the latest version of Juce just because Xcode has gotten confused somehow. 

Good luck! I plan to do some more testing on the mini tomorrow so I will try a couple other image related things and see what happens. 

Nick


#10

Sorry for ringing the alarm. 

Got finally access to the 64bit iPad and could check what´s wrong.

I used this prepocessor directive 

#if __arm__

but on 64 bit arm processors it should be

#if __arm64__

even if it´s still an arm processor.

-Chris