Log in or register to post comments

Compatibility issues with iOS6 - easier fix?

September 17, 2012 - 2:51am #1

 

I wanted to ask regarding this one:

2) For the second issue which only affects apps built with Unity and, assuming that you are using Unity 3.5.x, please follow these steps:

    • Open the generated project in XCode and locate the file AppController.mm
    •  At or around line 667 locate this line:  UnitySetScreenOrientation(requestedOrient);
    •  Above this line insert this:  QCARUnityPlayer::getInstance().QCARSetOrientation(requestedOrient);
    •  build you app as usual

Are you going to provide a better patch for this? Modifying AppController.mm is a problematic thing since Unity can overwrite it a any point. All Unity users treat it as temporary file and do not checkin into source control, so the suggested patch become a step that everyone in the team has to perform every time after generating iOS project form Unity.


Thanks,

Paulius

 

Compatibility issues with iOS6 - easier fix?

September 21, 2012 - 6:51am #11

Oh man!!!!  My bad

I used the "vuforia-unity-ios-1-5-9" link and NOT the correct "vuforia-sdk-ios-1-5-9"

Now the console reports " QCAR SDK version 1.5.9" Yayyy!

Thx so much for your help..:)

Compatibility issues with iOS6 - easier fix?

September 21, 2012 - 4:52am #10

There is no new Unity Package :)

You need to install the new native SDK first and get the library from there as per the instructions.

Basically the reason there is no new Unity Package is that this was the quickest way of making the update.

Hope this makes sense...

N

Compatibility issues with iOS6 - easier fix?

September 21, 2012 - 4:47am #9

I got the libQCAR file from the new unity package, imported into unity

and build to xcode.

If this step is wrong, how do I get the new library file?

 

 

Compatibility issues with iOS6 - easier fix?

September 21, 2012 - 3:15am #8

Hi madpoet,

Yes it does need to be 1.5.9 so it must be picking up the old library.

Maybe you missed a step?

If you are using Unity however,  you will need to replace the libQCAR.a file in the Assets/Plugins/iOS  directory of the Unity project with the new libQCAR.a library file before generating the iOS project that is to be build by Xcode. Then build your app as usual.

Note that if you put it in this directory, then whenever Unity builds the project it will use this library to put into the XCode project.

You could also try doing a quick search in finder to check in the directories that the library is the new one.

The other thing is check the build settings / copy bundle resources.  Also try deleting the old library and adding it again, plus cleaning the project.

N

Compatibility issues with iOS6 - easier fix?

September 20, 2012 - 1:26pm #7

I made the first fix of 2 as recommended but I noticed in the xcode console that the sdk

version is listed as 1.5.8  but doesn't it need to be 1.5.9!  I specifically used the libQCAR.a

from the package titled:

vuforia-ios-1-5-9.unitypackage

imported just the libQCAR.a before removing the older one.

When I get info on the libQCAR.a it has the same date as the older one:

Friday, 17 February, 2012 12:18 PM

Am I missing something!!! Please advise...Thx!

-> applicationDidFinishLaunching()

QCAR Extension version 1.5.10

2012-09-20 16:17:16.781 dvdcase1[3183:707] INFO/AR(3183) 2012-09-20 16:17:16: QCAR SDK version 1.5.8



Compatibility issues with iOS6 - easier fix?

September 20, 2012 - 11:08am #6

Hi madpoet

The fix has only been tested with the latest Unity.

You might need to apply something similar to the fix for 3.4.x but I cannot be sure, so the easiest way is to test it out.

If you stay with Unity 3.4.x then you will need to shadow the changes above, though fortunately there should not be too many occurrences of these in AppController.mm

N

Compatibility issues with iOS6 - easier fix?

September 20, 2012 - 7:51am #5

Just wanting to confirm,

The issue 2) referenced below is not necessary for Unity3.4.x, correct?

2) For the second issue which only affects apps built with Unity and, assuming that you are using Unity 3.5.x, please follow these steps:

    • Open the generated project in XCode and locate the file AppController.mm
    •  At or around line 667 locate this line:  UnitySetScreenOrientation(requestedOrient);
    •  Above this line insert this:  QCARUnityPlayer::getInstance().QCARSetOrientation(requestedOrient);
    •

Compatibility issues with iOS6 - easier fix?

September 20, 2012 - 7:41am #4

I only have "UnitySetScreenOrientation(targetOrient);" in line 672

Is that the line i should change? My parameter is different.

 

EDIT:

ok was using an older version of unity. With the latest update I have the same as mentioned in the fix. One problem: my splashscreen will be displayed in the wrong orientation shortly before the app will start. Is that on purpose?

Compatibility issues with iOS6 - easier fix?

September 20, 2012 - 6:12am #3

When I try the fix I get the following error message:

No member named 'QCARSetOrientation'

Compatibility issues with iOS6 - easier fix?

September 17, 2012 - 3:56am #2

Hi pixel-punch

We needed to get a fix out there immediately for devs working on iOS6 as soon as we became aware of a problem, and this was the fastest way of doing this.

Long term this needs an updated PostProcessBuildPlayer script, but we have held back on this because ultimately we would like it to support Unity4, which will require additional changes.

Hope this makes sense.

N

Log in or register to post comments