iOS8 / XCode6 compatibility

Has anybody had any attempt at upgrading projects and/or breaking everything, or other compatibility issues?

Or is it too early to know yet?

I’m upgrading now so will post back with results, although in the keynote they said they were working with Unity and the other big names I don’t think Unity will take advantage of Metal until 5?

I’m basing this on what Epic Games have said regarding Metal implementation in Unreal Engine 4, their situation regarding releasing new builds must be the same as Unity Technologies.

There will not be any public builds that support Metal untill iOS8 publicly releases(by this i am assuming the Xcode 6 SDK). Due to a lack of iOS developer validation issues they cannot post a new build to developers that include Metal support as they would be breaking the NDA between Apple and the developer.

Considering iOS7 launched last September after a similar timed announcement, you shouldn’t be banking on there being any third party Metal supported builds out before the ending of July/the start of September. Knowing Unity, this feature will be a part of Unity 5 and any support would not be added untill a major release sometime in the fall or maybe even later.

I’ve updated to OS X 10.10, and iOS 8.0, and tried building out my project using Xcode 6.0 beta and boy oh boy I can’t figure out what’s up… Errors abound!

I haven’t changed anything in the Unity project itself, nor clicked anything else extra in Xcode. This same build worked fine on iOS 7.1, same version of Unity, Xcode 5.1… So I’m not sure if it’s just an adjustment that must be made on Apple’s end with Xcode, or on Unity’s end… I’m so confused haha. I never spend much time in Xcode since Unity makes it all magical and happens great. This is new to me!

The errors are related to: GLeshelper.mm … whatever that means, I assume something with OpenGL ES… I’ve tried automatic in Unity before export… I’ve tried Open GL ES 2.0 and forced ES 3.0… still… same thing. Both on my iPhone 5 and iPad Air!

Any light to be shed would be wonderful. If I can help in any way, please let me know!

We are looking into itā„¢ :slight_smile:

iOS 8.0 beta is far from being reliable - e.g. x.com

I loaded iOS8 on my iPad Mini Retina and OSX10.10 my MacBook. Had some build errors with Unity (but I honestly kind of expected as much, no fault to Unity).

These have Semantic errors in CMVideoSampling.mm
sampling->cvTextureCacheTexture = CreateTextureFromCVTextureCache(sampling->cvTextureCache, cvImageBuffer, w, h, GL_BGRA_EXT, GL_RGBA, GL_UNSIGNED_BYTE);
…
GLES_CHK(glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, texData));

I wouldn’t recommend installing on a main development machine just yet, if you have any timely updates you need to work on in the interim. I’m sure there will be some known work arounds shortly.

Have you tried using Xcode 5 within 10.10? I haven’t tested yet but will do shortly.

Actually, I did try that and it still worked however I couldnj’t recognize the iPad with iOS8 unless XCode6 was also installed (till ran it with XCode5). My iPad went into recovery mode when I tried to upgrade it, ended up having to restore it as it went into recovery mode, but now seems ok.
iOS8: Overall recommendation is only install this on a non-essential device for the time being. A few of the third party apps are failing (Google Hangouts, Facebook), overall unresponsiveness, and crashes. Stuff you would expect from a first beta.
OSX 10.10: having issues with Unity Asset Server hosting. Unity itself runs fine (4.5.0). VMWare Fusion does not run on Yosimite at this time (neither v5 nor v6). So far seemingly stable from what I’ve played with so far.
-Attempting to revert back to Mavericks on my Mac Mini for Asset Seerver using Time Machine Restore
-Running on my MBP

AHhh at least it isn’t JUST my game build then. That really takes a load off… I should have figured it would be a beta issue. Stupid me.

Either way, I always love testing betas. It’s a sort of… Catch 22. Hate the issues, but love to help test the betas… Leaving me in quite the predicament when I face the true horrors while doing something I enjoy.

Ugh.

Here’s to hoping the issue is fixed in Xcode 6 beta updates or a Unity mobile module update :slight_smile:

I just compile my game again substituting GL_BGRA_EXT for GL_RGBA.

2 Likes

Ahhh shoot, I wish mine worked that simply… I have a few errors aside from a GL_BGR8_OES or something… I have a few GL_DEPTH_COMPONENTS and things like that. Any clues?

I haven’t found a GL_BGRA_EXT in the Xcode project at all. :frowning:

Okay now I found it, changed the errors to something that would seemingly allow me to compile… but the screen is all rotated funky. Like in Portrait, it’s trying to render it landscape, and in landscape its all stretched and squished super thin.

Interesting lol

I can also confirm, number of errors popped up when trying compiled on iPad Mini.
Xcode 6 + iOS8 - Unity 4.5 and Mavericks 10.9
I understand its beta but good to be fast with these things, so hope a patch is released soon.

You can change all the GL_XXXXX_OES stuff by GL_XXXXX and try to compile again.

have you found it to build out and play properly doing this change??

EDIT:

Okay well I found out that even though I have a little ā€œ?ā€ next to my iPhone in Xcode 5.1.1 since my phone is 8.0, I can still build in Xcode 5.1.1 with no issues whatsoever. That’s awesome. Takes a load off.

So keep using the ol’ Xcode for now… Problem solved for the interim.

There is patch to try…
0) backup your Xcode project

  1. download fix.patch.zip
  2. unzip it into root Xcode project folder
  3. open Terminal and go to your Xcode project root folder
  4. run: patch -p1 < fix.patch

1653107–103215–fix.patch.zip (664 Bytes)

Thanks for the prompt response in this fix! However, call me a bit of a noob… I’m not sure how to run the patch via terminal. It keeps saying the file doesn’t exist… Am I missing something in the syntax?

I copy my folder and paste the direct directory into terminal then type ā€œpatch -p1 < fix.patchā€ from that directory but it says it doesn’t exist. I’m probably missing something very basic here haha I don’t spend enough time in terminal :S

Thanks for the quick fix, Mantas! I can confirm that the fixes work with Unity 4.5, Xcode 6 beta, iOS 7.1.

The patch does not apply correctly though. I generated a new patch which is attached. It’s a .txt so that it could be uploaded to the forum, but patch does not care what extension the patch file has.

Follow the same instructions Mantas gave.

1654300–103285–Unity4_5_Xcode6_beta_patch.txt (3.83 KB)

Where do we download fix.patch.zip?
Will it fix the landscape/portrait rendering problem?

I’m running osx 10.10, ios8, and xcode 6.
My game get’s two errors (both of which are the same error in different spots):
Classes > Unity > CMVideoSampling.mm
Line 50 → Use of undeclared identifier ā€˜GL_BGRA_EXT’
Line 64 → Use of undeclared identifier ā€˜GL_BGRA_EXT’

I fixed these by replacing GL_BGRA_EXT with GL_RGBA in both instances.

But when I run my game, I get the same odd landscape/portrait problem, see the attached image.
My game is supposed to only support landscape, but it renders sideways with xcode6. Oddly enough, if I build my game with xcode5, and use ios7, but then upgrade to ios8 after the app is already on my iphone - it works as expected lol.