Log in or register to post comments

Init the AppController.mm UnitySetScreenOrientation on Splash

November 13, 2012 - 2:36pm #1

Hello, the fix that you posted works upon when the app is actually launched, but only after the splash screen. 

This leads to the title starting out in landscape mode, then flipping (thus distorting) the icon 90deg. After that it goes back to normal, but any way to init the QCARUnityPlayer::getInstance().QCARSetOrientation(requestedOrient); sooner?

Init the AppController.mm UnitySetScreenOrientation on Splash

October 14, 2013 - 3:13am #19

Thanks for the update - glad you tracked down the problem.

Overall Vuforia is incredibly robust and stable, partly due to the enormity of testing that goes into it, so it is rare when there is a problem with it :)

 

N

Init the AppController.mm UnitySetScreenOrientation on Splash

October 14, 2013 - 12:53am #18

I got it fixed. It was some problem with my code and i am feeling kind of embarrassed as I was so sure it couldn't be me :-/ . Sorry for that.

It seems that some file operation code (saving files on the devices hard drive) and code for downloading AssetBundles didn't work on iOS, but they did on Desktop Windows and Android. If you ask me that's really weird, but whatever.

I still get the errors, but my App is running as it is meant to.

 

Sorry for the inconvenience

kind regards

GrannySmith

Init the AppController.mm UnitySetScreenOrientation on Splash

October 7, 2013 - 5:22am #17

I should have added, that it works completely fine on Android and in Playmode on Windows. So only iOS is the problem. This is why I am not sure if it is really my error here. There must be something wrong in the XCode Project creation process in my opinion.

 

Sorry for forgetting about that.

Init the AppController.mm UnitySetScreenOrientation on Splash

October 7, 2013 - 4:00am #16

Maybe you could try to debug the scene in Unity using Play Mode?

No idea about the black screen, but it's obviously something in your code as the samples all work fine.  Try to work out what's different.

N

Init the AppController.mm UnitySetScreenOrientation on Splash

October 7, 2013 - 3:51am #15

The problem is, that when i start the scene with the AR, the whole screen is black and i dont see the cameraview. So there is no videofeed displayed which, of course, makes the app useless. Though the app doesn't crash as all the other stuff (which i programmed) works normally as i can see from the Debug Log. So it is "just" that there is no video and thus no AR. My problem has nothing to do with the orientation but i get the same error as the original poster, which is why i wrote in this thread:

markerTrackerStart

imageTrackerStart

cameraDeviceSetFocusMode

Requested Focus mode FOCUS_MODE_TRIGGERAUTO.  Not supported on this device.

UnityEngine.Debug:Internal_Log(Int32, String, Object)

UnityEngine.Debug:Log(Object)

CameraDeviceImpl:SetFocusMode(FocusMode)

Init:Start()

 

(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 54)

 

cameraDeviceGetVideoMode

2013-10-07 11:51:37.889 arframework[1824:907] DEBUG/AR(1824) UIView has CAEAGLLayer class

2013-10-07 11:51:37.890 arframework[1824:907] DEBUG/AR(1824) UIView does not respond to selector renderFrameQCAR

2013-10-07 11:51:37.891 arframework[1824:907] DEBUG/AR(1824) UIView has CAEAGLLayer class

2013-10-07 11:51:37.892 arframework[1824:907] DEBUG/AR(1824) UIView does not respond to selector renderFrameQCAR

2013-10-07 11:51:37.893 arframework[1824:907] DEBUG/AR(1824) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

Setting camera clear flags to depth only

UnityEngine.Debug:Internal_Log(Int32, String, Object)

UnityEngine.Debug:Log(Object)

QCARBehaviour:UpdateCameraClearFlags()

QCARBehaviour:Update()

Init the AppController.mm UnitySetScreenOrientation on Splash

October 7, 2013 - 3:16am #14

Any other things which might cause this problem? I can't be the only one

Can you actually summarise the problem again, as it is not clear to me exactly what the problem is from re-reading your messages.

If it is just the error messages, and the app runs normally then this is harmless.

If there is an orientation problem then that's different.

 

N

Init the AppController.mm UnitySetScreenOrientation on Splash

October 7, 2013 - 2:32am #13

The Vuforia Plugin is the only one i have in my Project, see attached image

I was searching for another PostProcessBuilder file (beside the one from QCAR) but didn' find any in my project.

Any other things which might cause this problem? I can't be the only one

 

thanks for your help so far btw

Init the AppController.mm UnitySetScreenOrientation on Splash

October 1, 2013 - 7:04am #12

So the question arises, why the PostProcessBuilder works in the simple/sample project, but not in my own project?

Check to see if you have any other plugins, because they too may have a PostProcessBuildPlayer and there may be compatibility issues e.g. see this thread:

https://developer.vuforia.com/forum/general-discussion/vuforia-and-dynamic-facebook-integration

 

N

Init the AppController.mm UnitySetScreenOrientation on Splash

October 1, 2013 - 7:02am #11

Thanks NalinS for giving me even more questions ;)

First: I built my project from scratch again, which didn't help anything (see project Description below). So everything was built completely new with the latest Unity and Vuforia release. Still using Xcode 4.6.3 as i didn't read about too many good experiences with Unity plus Xcode 5.

Secound: If I am building a very simple AR App (like the sample), everything works fine.

So the question arises, why the PostProcessBuildPlayer works in the simple/sample project, but not in my own project?

Also, as I heard about this the first time right now, i have no idea what i have to do in the PostProcessBuildPlayer to make the project work. I don't even know where to start, because I don't really know what the errors mean and so on. 

 

Project and Error description:

I have an app (all built in Unity) which is based upon heavy use of AssetBundles. Every bundle has its own 3D Content which is linked to ImageTargets. You can choose between those bundles and the list of bundles gets updated periodically. 

In short: Its very similar to the Channels of the Junaio Framework/App.

So the problem ist, that when I am in the overview (List of all bundles) and I am loading one of the Assetbundles, i change from one unity scene (basic Unityscene with a simple Camera and some GUI going on) to the AR scene, which loads the Assetbundle and sets up the whole scene, with the correct ImageTargets with the 3D Content. But when I am loading the AR scene which makes use of the Vuforia FrameWork, I get the errors about the UIView and CAEAGLLayer. Then the screen freezes, though it seems that the app in general keeps on running normally.

Init the AppController.mm UnitySetScreenOrientation on Splash

October 1, 2013 - 3:21am #10

The problem is normally associated with the PostProcessBuildPlayer script that is part of the Unity Vuforia Project.

This controls how the XCode project gets built, and when it does, Vuforia calls are inserted into various files to ensure that Rotation is tracked.

From time to time Unity updates its app and changes what files it produces and sometimes changes the way they are written.  When this happens the PPBP script typically breaks, so we have to update this and put it in the latest Vuforia release.  

In recent times we have always been ahead of the curve tracking new versions of Unity and making sure that Vuforia is ready.

So if you build a new version of Image Targets from the samples with the latest version of Vuforia, and you have the latest Unity/XCode installed, then it will work.  If you have an old project, then it may contain some old files including the PPBP which may need updating.

 

So, compare the above two project files, try searching the forums for PostProcessBuildPlayer and then let us know where you are.

 

N

Init the AppController.mm UnitySetScreenOrientation on Splash

October 1, 2013 - 2:47am #9

Is there any update on this issue? I am getting the same errors as Ina (though I am getting them while running the app manually and from XCode) and i really dont know what to do or how to tackle this problem. I can't find anything else on this topic. Unfortunately I am no iOS Developer which makes this problem even harder to understand for me.

I am using:

Unity 4.2.1f

Vuforia 2.6.7

and Xcode 4.6.3

on an iOS 6.1.3 device

Hi ina Not quite sure what

December 20, 2012 - 3:15am #8

Hi ina

Not quite sure what issue you are having, though it would help if you could reproduce on the samples in the new SDK so that we can reproduce.

If it is your project then you may have some old files around so you may need to rebuild it from scratch.

Also, make sure you try with the latest XCode / iOS and Unity 4.

thanks,

N

Still experiencing same issue

December 19, 2012 - 11:45pm #7

Still experiencing same issue on Vuforia iOS, works fine in Unity Android and also when I run the app by itself manually on iOS - just has the same errors as posted below when directly from xcode via usb

 

 

 

cameraDeviceInitCamera

2012-12-19 23:36:57.383 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.384 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.385 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.385 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.386 spherosnowglobe[737:907] DEBUG/AR(737) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

cameraDeviceGetVideoMode

2012-12-19 23:36:57.394 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.395 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.396 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.396 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.397 spherosnowglobe[737:907] DEBUG/AR(737) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

cameraDeviceSelectVideoMode

2012-12-19 23:36:57.400 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.401 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.402 spherosnowglobe[737:907] DEBUG/AR(737) UIView has CAEAGLLayer class

2012-12-19 23:36:57.403 spherosnowglobe[737:907] DEBUG/AR(737) UIView does not respond to selector renderFrameQCAR

2012-12-19 23:36:57.403 spherosnowglobe[737:907] DEBUG/AR(737) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

cameraDeviceStartCamera

2012-12-19 23:36:59.153 spherosnowglobe[737:907] *** -[AVCaptureVideoDataOutput setVideoSettings:] - videoSettings dictionary contains one or more unsupported (ignored) keys: (

    Width,

    AVVideoScalingModeKey,

    Height

)

markerTrackerStart

imageTrackerStart

Trackable test lost

Init the AppController.mm UnitySetScreenOrientation on Splash

November 23, 2012 - 2:43am #6

Thanks for this.

We're well aware of what's needed here, but you'll have to wait for the release ;)

N

Init the AppController.mm UnitySetScreenOrientation on Splash

November 22, 2012 - 1:16pm #5

The log says nothing out of the ordinary, however this problem has been reported (with a temp fix) by another forum user here.

edit: to be a bit productive here,  let me post the changes you need to apply to "Assets/Editor/PostprocessBuildPlayer" to make Unity4 work again:

line 246: appcontroller.write('\tQCARUnityPlayer::getInstance().QCARNotifyCreated((int)surface->targetW, (int)surface->targetH);\n')

line 262: appcontroller.write('\tQCARUnityPlayer::getInstance().QCARSetOrientation((int)orientation);\n');

with Unity4 beta 11 iOS 6 support was introduced. they changed the way the Unity views are handled, which causes more problems with vuforia (here in landscape mode respectively).

 

This would make it work immediately after compilation, however if the app was launched independently on the iOS device, it got stuck on the splash screen.

 

I'm back now on 3.5, and the issue stated above is still present. Here's the log:

 

2012-11-22 13:16:05.867 c[4854:907] -> registered mono modules 0x10830f8

-> applicationDidFinishLaunching()

QCAR Extension version 1.5.10

2012-11-22 13:16:05.951 c[4854:907] INFO/AR(4854) 2012-11-22 13:16:05: QCAR SDK version 1.5.8

Mono path[0] = '/var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed'

Renderer: PowerVR SGX 543

Vendor:   Imagination Technologies

Version:  OpenGL ES 2.0 IMGSGX543-73.16

GL_OES_depth_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_IMG_read_format GL_IMG_texture_compression_pvrtc 

Creating OpenGLES2.0 graphics device

Initialize engine version: 3.5.5f3

Begin MonoManager ReloadAssembly

Platform assembly: /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/UnityEngine.dll (this message is harmless)

Loading /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/UnityEngine.dll into Unity Child Domain

Platform assembly: /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Assembly-CSharp.dll (this message is harmless)

Loading /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Assembly-CSharp.dll into Unity Child Domain

Non platform assembly: /private/var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/System.dll (this message is harmless)

Non platform assembly: /private/var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Mono.Security.dll (this message is harmless)

Platform assembly: /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Assembly-UnityScript.dll (this message is harmless)

Loading /var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Assembly-UnityScript.dll into Unity Child Domain

Non platform assembly: /private/var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/Boo.Lang.dll (this message is harmless)

Non platform assembly: /private/var/mobile/Applications/6F96EE4F-5609-4E03-BC7B-35E373D3CC7E/c.app/Data/Managed/UnityScript.Lang.dll (this message is harmless)

- Completed reload, in  0.148 seconds

-> applicationDidBecomeActive()

2012-11-22 13:16:06.781 c[4854:907] Application windows are expected to have a root view controller at the end of application launch

2012-11-22 13:16:07.528 c[4854:907] INFO/AR(4854) 2012-11-22 13:16:07: ImageTracker: Successfully created dataset

Successfully created data set.

Found Trackable named KeplerMiniMicro with id 1

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

Setting Unity version 3.5.5

StartQCAR

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

2012-11-22 13:16:07.795 c[4854:907] DEBUG/AR(4854) UIView has CAEAGLLayer class

2012-11-22 13:16:07.797 c[4854:907] DEBUG/AR(4854) UIView does not respond to selector renderFrameQCAR

2012-11-22 13:16:07.799 c[4854:907] DEBUG/AR(4854) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

2012-11-22 13:16:07.813 c[4854:907] DEBUG/AR(4854) UIView has CAEAGLLayer class

2012-11-22 13:16:07.816 c[4854:907] DEBUG/AR(4854) UIView does not respond to selector renderFrameQCAR

2012-11-22 13:16:07.818 c[4854:907] DEBUG/AR(4854) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

2012-11-22 13:16:07.824 c[4854:907] DEBUG/AR(4854) UIView has CAEAGLLayer class

2012-11-22 13:16:07.826 c[4854:907] DEBUG/AR(4854) UIView does not respond to selector renderFrameQCAR

2012-11-22 13:16:07.828 c[4854:907] DEBUG/AR(4854) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

2012-11-22 13:16:09.314 c[4854:907] *** -[AVCaptureVideoDataOutput setVideoSettings:] - videoSettings dictionary contains one or more unsupported (ignored) keys: (

    Width,

    AVVideoScalingModeKey,

    Height

)

2012-11-22 13:16:09.319 c[4854:907] INFO/AR(4854) 2012-11-22 13:16:09: Setting the torch mode not supported

Absolute number of Trackables: 1

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

Absolute number of virtual buttons: 0

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

Trackable KeplerMiniMicro lost

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

2012-11-22 13:16:09.354 c[4854:907] DEBUG/AR(4854) UIView has CAEAGLLayer class

2012-11-22 13:16:09.355 c[4854:907] DEBUG/AR(4854) UIView does not respond to selector renderFrameQCAR

2012-11-22 13:16:09.357 c[4854:907] DEBUG/AR(4854) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

Trackable KeplerMiniMicro lost

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

2012-11-22 13:16:09.502 c[4854:907] DEBUG/AR(4854) UIView has CAEAGLLayer class

2012-11-22 13:16:09.503 c[4854:907] DEBUG/AR(4854) UIView does not respond to selector renderFrameQCAR

2012-11-22 13:16:09.504 c[4854:907] DEBUG/AR(4854) Could not find a UIView with CAEAGLLayer layer class that responds to selector renderFrameQCAR

Setting camera clear flags to depth only

 

(Filename: /Applications/buildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 43)

 

-> force accelerometer registration

Init the AppController.mm UnitySetScreenOrientation on Splash

November 19, 2012 - 1:25am #4

Please note that Unity 4 is not officially supported yet:

Unity 4 Update

As to why it takes 10 times to load - not sure.  What does the log say?

N

 

Init the AppController.mm UnitySetScreenOrientation on Splash

November 18, 2012 - 10:23pm #3

Hi NalinS,

I upgraded to Unity 4 a few days ago, and that issue has ceased to be.

Another problem arose in that it now takes 10 times as long to load the app.

Init the AppController.mm UnitySetScreenOrientation on Splash

November 14, 2012 - 3:07am #2

Hi thePostFuturist,

I am assuming you are using iOS.  

Which version of Unity are you using? as the fix was tested with 3.5.6f4 and there should not be any problem.  I think there was a Unity splash screen bug with 4.0 which I think was fixed in the latest release.

N

Log in or register to post comments